I have created Jira for well known issue https://issues.apache.org/jira/browse/SUREFIRE-1339
The branches surefire/experimental-2.19.2 and maven-shared-utils-0.9.x explore the bug as a communication issue between two JVMs. Maven process handles an event which means forked JVM acquires test class name to run. The test is about to be sent or it is sent but the forked jvm has not handled it. It seems the call *Process.exec()* does not return and thus *FlushReceiver *does not observe *OutputStream *from the call *Process.getOutputStream()*. This looks like a deadlock. Yet this is what our internal logs tell us. After the hanging JVM has timed out, all pending events are immediately pushed to JVM right on the exit. We have an idea to use std/err for communication instead of std/out and then test it on FreeBSD. If you have a good idea, please create a branch and we will run a test on FreeBSD. We are NOT in hurry to commit to master. First of all we should be convinced we understand the root cause of the issue together and prevent from it in the future.