Fixed in 1.93.
Note to myself:
When options like -verbose:gc is added, which causes VM itself and not Java code
to print out some data, it prints out data to stdout and that corrupts the
binary communication stream between Hudson and maven process.
This happens despite the fact that the maven process sets System.setOut(),
because JVM code is not affected by this — it keeps writing to file descriptor
0, and that is still stdout.
-verbose:gc seems to write to stdout, so one possibility is to use stderr for
the communication channel, although there's equal chance that JVM will write to
stderr.
Framing protocol (like special frame-in/out character) over stdout won't work
because the output from JVM can occur concurrently to the Java thread.
Marking the issue closed for now. Will re-evaluate this later.
Fixed in 1.93.
Note to myself:
When options like -verbose:gc is added, which causes VM itself and not Java code
to print out some data, it prints out data to stdout and that corrupts the
binary communication stream between Hudson and maven process.
This happens despite the fact that the maven process sets System.setOut(),
because JVM code is not affected by this — it keeps writing to file descriptor
0, and that is still stdout.
-verbose:gc seems to write to stdout, so one possibility is to use stderr for
the communication channel, although there's equal chance that JVM will write to
stderr.
Framing protocol (like special frame-in/out character) over stdout won't work
because the output from JVM can occur concurrently to the Java thread.
Marking the issue closed for now. Will re-evaluate this later.