2011/4/29 Nicolas Lalevée <nicolas.lale...@hibnet.org>:
>
> Le 28 avr. 2011 à 21:39, Nicolas Lalevée a écrit :
>
>>
>> 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.
>
> gump seems happier, bug closed as resolved.

Thanks for your attention to this, Nicolas.

Matt

>
> One test still failing, I haven't looked at it:
>
> [au:antunit] Target: 
> test-redirector-input-output-inputencoding-outputencoding  FAILED
> [au:antunit]    at line 552, column 24
> [au:antunit]    Message: Assertion failed
> [au:antunit]    took 1.424 sec
>
>
> Nicolas
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
> For additional commands, e-mail: dev-h...@ant.apache.org
>
>

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

Reply via email to