camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Angela Wickert (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-8241) Exec command failures using Java 8 on Unix
Date Wed, 18 Feb 2015 11:12:11 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-8241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14325720#comment-14325720
] 

Angela Wickert commented on CAMEL-8241:
---------------------------------------

I've got the same problem as described.I've reduced my program on a simple route. 

I am using CentOS 6.4, jdk1.8.0_25 and the camel version 2.14.1.

this is the route:
 <route id="test_exec" autoStartup="true">
      <from uri="file://target/test" />
      <to uri="exec:pwd" />
 </route>

and this is the stracktrace:
org.apache.camel.component.exec.ExecException: Unable to execute command ExecCommand [args=[],
executable=pwd, timeout=9223372036854775807, outFile=null, workingDir=null, useStderrOnEmptyStdout=false]
        at org.apache.camel.component.exec.impl.DefaultExecCommandExecutor.execute(DefaultExecCommandExecutor.java:81)
        at org.apache.camel.component.exec.ExecProducer.process(ExecProducer.java:46)
        at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:120)
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:433)
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:211)
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:175)
        at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Stream closed
        at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433)
        at java.io.OutputStream.write(OutputStream.java:116)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
        at org.apache.commons.exec.DefaultExecutor.closeStreams(DefaultExecutor.java:288)
        at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:364)
        at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:160)
        at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:147)
        at org.apache.camel.component.exec.impl.DefaultExecCommandExecutor.execute(DefaultExecCommandExecutor.java:67)
        ... 20 more



> Exec command failures using Java 8 on Unix
> ------------------------------------------
>
>                 Key: CAMEL-8241
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8241
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.0
>         Environment: JDK 1.8 on Unix systems
>            Reporter: Dave Heath
>             Fix For: 2.14.2, 2.15.0
>
>         Attachments: CamelExecTest.java
>
>
> I'm attaching a test case that shows an issue I've been running into with the exec command
since updating my environment to Java 8. It appears that I'm running into a race condition
where a stream is sometimes closed prematurely before DefaultExecutor has a chance to close
it, causing DefaultExecCommandExecutor to throw and exit (even though the command did execute
properly). I've tested this against the updated version of commons-exec as well just to make
sure this hasn't somehow been fixed in that library.
> Please note that the attached test doesn't always fail; you may need to run it a few
times before the error will show up.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message