Closed dragos closed 7 years ago
The mystery is slowly fading away. The output streams are replaced by instances of something that's ThreadLocal, and obviously the thread that runs the GC notification doesn't have a proper thread local for it's output stream.
System.out: com.martiansoftware.nailgun.ThreadLocalPrintStream@3e3dcfc5
Console.out: com.martiansoftware.nailgun.ThreadLocalPrintStream@3e3dcfc5
System.err: com.martiansoftware.nailgun.ThreadLocalPrintStream@662bc715
Console.err: com.martiansoftware.nailgun.ThreadLocalPrintStream@662bc715
Fixed in triplequote/zinc@a79bf80bad6fdd28768ee1ede94bb29ada928a22
Not sure who is at fault here, maybe Zinc or the JVM. When Hydra discovers that too much GC time is spent while compiling it issues an error (
reporter.error
). This happens inside the JVM notification for GC activity. This error is never printed, but the build still fails. Here's what we know:LoggingReporter.log
)allProblems
at the end of compilation, when hitting a breakpoint insideLoggingReporter.printSummary
GarbageCollection.notification
System.out/err.println
don't show up anywhere inside the same method, even though the method is called (it's call toreporter.error
causes the build to fail)This could be a problem with stdin/stdout redirection inside Nailgun, though that doesn't explain why the breakpoint is not hit (but other breakpoints are hit).