https://issues.apache.org/bugzilla/show_bug.cgi?id=50507
Summary: Exec task may mix the stderr and stdout output while
logging it
Product: Ant
Version: 1.8.1
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: critical
Priority: P2
Component: Core tasks
AssignedTo: [email protected]
ReportedBy: [email protected]
It looks like Ant 1.8.1 (also verified with future 1.8.2 from CI
https://hudson.apache.org/hudson/view/A-F/view/Ant/job/Ant_Nightly/187/artifact/)
can mix stderr and stdout stream output while logging it. The following example
can easily help to reproduce the issue:
<?xml version="1.0">
<project>
<target name="demo">
<exec executable="${ant.home}/bin/ant.bat">
<arg value="-f" />
<arg file="${ant.file}" />
<arg value="generate-output" />
</exec>
</target>
<target name="generate-output">
<echo>${ant.version}</echo>
<echo message="some blablablablablablablablablablablabla error message"
level="error" />
<echo message="some blablablablablablablablablablablabla info message"
level="info" />
<echo message="some blablablablablablablablablablablabla error message"
level="error" />
<echo message="some blablablablablablablablablablablabla info message"
level="info" />
<echo message="some blablablablablablablablablablablabla error message"
level="error" />
<echo message="some blablablablablablablablablablablabla info message"
level="info" />
<echo message="some blablablablablablablablablablablabla error message"
level="error" />
<echo message="some blablablablablablablablablablablabla info message"
level="info" />
<echo message="some blablablablablablablablablablablabla error message"
level="error" />
<echo message="some blablablablablablablablablablablabla info message"
level="info" />
</target>
</project>
Executed with Ant 1.8.1, a message on stderr can be printed in the middle of an
another message coming from stdout:
C:\...>ant demo
Buildfile: C:\apps\test\build.xml
demo:
[exec] Buildfile: C:\apps\test\build.xml
[exec]
[exec] generate-output:
[exec] [echo] Apache Ant version 1.8.1 compiled on April 30 2010
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla in [echo]
some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] fo message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec]
[exec] BUILD SUCCESSFUL
[exec] Total time: 0 seconds
BUILD SUCCESSFUL
Total time: 1 second
Same script executed with Ant 1.7.0 will log the output of each stream
correctly (line by line):
C:\apps\test>ant demo
Buildfile: build.xml
demo:
[exec] Buildfile: C:\apps\test\build.xml
[exec]
[exec] generate-output:
[exec] [echo] Apache Ant version 1.7.0 compiled on December 13 2006
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla info message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec] [echo] some blablablablablablablablablablablabla error message
[exec]
[exec] BUILD SUCCESSFUL
[exec] Total time: 0 seconds
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.