Le 28 avr. 2011 à 00:39, Matt Benson a écrit :

> 2011/4/27 Nicolas Lalevée <nicolas.lale...@hibnet.org>:
>> I could only reproduce the apply-test failing locally (on a mac).
>> The following command line got me more info about what's happening:
>> ant -lib lib/optional/ant-antunit-1.1.jar antunit-report 
>> -Dantunit.testcase=taskdefs/exec/apply-test.xml -Dantunit.loglevel=info
>> 
>> In the output I can see these lines:
>> [au:antunit] error at LeadPipeInputStream.read():  Pipe broken
>> [au:antunit] z after y after blah
>> [au:antunit] error at LeadPipeInputStream.read():  Pipe broken
>> [au:antunit] x after y after blah
>> 
>> Not sure what to conclude from that since I'm not yet familiar with what 
>> LeadPipeInputStream does. At a first glance I would say that we could 
>> interpret that if the pipe is broken, then the "writing Thread is no longer 
>> alive", which would be basically be a nominal case and not an error one ?
>> 
> 
> If it helps, LeadPipeInputStream (a poor pun) is intended to replace
> the java.io.PipedInputStream to recover from "writing thread is no
> longer alive" errors, because often there is data remaining to be read
> when the writer has already sent all he had to send, then terminated.

ok I see. Then I think it will make sense to handle the "Pipe broken" just like 
the "Write end dead". The read method in PipedInputStream start to check the 
thread status, and can fail with a IOE with "Write end dead" as a message the 
write thread is dead. If the write thread are still alive but no content is yet 
available, a loop begins to wait for content. Then if at some point there's 
still no content to read but the write thread has stopped, there is an IOE with 
"Pipe broken" as a message. So having either "Pipe broken" or "Write end dead" 
is just a matter of timing.

I'll commit a fix. Tested locally the ant unit tests then works (tested several 
times). And I think it will fix the bug #48789 [1].
If gump shows us it now works I'll update the "what's new" and close #48789. If 
not I'll revert my commit.

Nicolas

[1] https://issues.apache.org/bugzilla/show_bug.cgi?id=48789


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org

Reply via email to