Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Failed to execute command: ...perl -c -w -T

  • Alex

    More often than I am willing to suffer with, Epic will find something funky
    with my code that prevents it from properly displaying what the problem is.

    The Eclise "Error Log" displays the error:
    "An unexpected exception occurred while validating whateverScript.pl"
    and a child error displays

    Failed to execute command line: "C:\Tools\Perl\bin\perl.exe" "-c" "-w" "-T"
    java.io.IOException: The pipe is being closed.
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:290)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:128)
    at sun.nio.cs.StreamEncoder$ConverterSE.implClose(StreamEncoder.java:304)
    at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:208)
    at java.io.OutputStreamWriter.close(OutputStreamWriter.java:245)
    at org.epic.core.util.ProcessExecutor.execute(ProcessExecutor.java:169)
    at org.epic.core.util.ProcessExecutor.execute(ProcessExecutor.java:71)
    at org.epic.core.util.PerlExecutor.execute(PerlExecutor.java:127)
    at org.epic.perleditor.editors.util.PerlValidatorBase.runPerl(PerlValidatorBase.java:287)
    at org.epic.perleditor.editors.util.PerlValidatorBase.validate(PerlValidatorBase.java:51)
    at org.epic.perleditor.editors.util.PerlValidator.validate(PerlValidator.java:78)
    at org.epic.core.builders.PerlBuilderJob.buildResource(PerlBuilderJob.java:116)
    at org.epic.core.builders.PerlBuilderJob.run(PerlBuilderJob.java:90)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)

    I am running with Epic 0.6.13

    java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223-20070201 (JIT enabled)
    J9VM - 20070131_11312_lHdSMR
    JIT  - 20070109_1805ifx1_r8
    GC   - 200701_09
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
    Command-line arguments:  -os win32 -ws win32 -arch x86

    What gives ?

    The program compiles perfectly fine in the command line.

    • Jan Ploski
      Jan Ploski

      I guess this might occur if the perl.exe process closes its end of the pipe before receiving all of the input (source code) from EPIC. Are you sure it compiles correctly with these options (-w -T)? Do you need the -T?

    • Alex

      Hi Jan,

      Thanks for the reply.

      Yes, it does compile on the command line with or without -T
      I don't need "-T" anyway, but the problem seems to be what you are guessing: perl closes the pipe...

      Here's something I found out: when I was removing code to see what was
      causing the problem, at some point it started to work again.
      I finally figured out that when the source size is <= 8192 bytes, it worked.

      Adding one character to the source file makes the problem show up again.
      Funny enough, not all "source" codes causes it.

      I can send you my "debug program" and you can see for yourself.
      Or, is there a way for me to upload it ?


      • Jan Ploski
        Jan Ploski

        If the code is not secret, it's probably best that you open a bug report and attach the file to it. Otherwise send to my sf.net email address. Note that I have no Windows installed, so it may be difficult to reproduce.