[ https://issues.apache.org/jira/browse/SUREFIRE-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16029804#comment-16029804 ]
Emmanuel Lecharny edited comment on SUREFIRE-1302 at 5/30/17 5:40 PM: ---------------------------------------------------------------------- Hi guys, I think I'm stuck with a similar pb in the Apache Directory LDAP API project : trying to cut a release ends up with this error : {noformat} [INFO] [SUREFIRE] std/in stream corrupted [INFO] java.io.IOException: Command NOOP unexpectedly read Void data with length 4. [INFO] at org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:139) [INFO] at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:360) [INFO] at java.lang.Thread.run(Thread.java:745) ... [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project api-integ-osgi: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called? [INFO] [ERROR] Command was /bin/sh -c cd /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi && /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/bin/java -Xmx1024m -jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp heds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp {noformat} The weird thing is that the exact same test work perfectly well when I run {{mvn test}} in the module, or when I do a release dry-run or a release prepare, it's really when I do the {{mvn release:perform}} that it fails. The test itself can take a bit of time. Here is the output, for instance : {noformat} [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.375 sec - in org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.303 sec - in org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.44 sec - in org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.185 sec - in org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.237 sec - in org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.315 sec - in org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] [INFO] [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.224 sec - in org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.19 sec - in org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.154 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.193 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.094 sec - in org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.164 sec - in org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.12 sec - in org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.275 sec - in org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] [INFO] [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.119 sec - in org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapSchemaConverterOsgiTest [INFO] [INFO] [SUREFIRE] std/in stream corrupted ... {noformat} The cumulative time is *just* below 20s (19.938 exactly), but is more than 20 s when counting the surrounding tasks : {noformat} [INFO] [INFO] Apache Directory API OSGi Integration Tests ........ FAILURE [ 21.710 s] {noformat} The same test ran in isolation also take longer, but I guess there are some extra checks done when running a {{mvn release:perform}}... Is there an expected date for a release that I can test, or even a SNAPSHOT ? Many thanks ! Forgot to mention that I'm using surefire 2.18.1 was (Author: elecharny): Hi guys, I think I'm stuck with a similar pb in the Apache Directory LDAP API project : trying to cut a release ends up with this error : {noformat} [INFO] [SUREFIRE] std/in stream corrupted [INFO] java.io.IOException: Command NOOP unexpectedly read Void data with length 4. [INFO] at org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:139) [INFO] at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:360) [INFO] at java.lang.Thread.run(Thread.java:745) ... [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project api-integ-osgi: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called? [INFO] [ERROR] Command was /bin/sh -c cd /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi && /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/bin/java -Xmx1024m -jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp heds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp {noformat} The weird thing is that the exact same test work perfectly well when I run {{mvn test}} in the module, or when I do a release dry-run or a release prepare, it's really when I do the {{mvn release:perform}} that it fails. The test itself can take a bit of time. Here is the output, for instance : {noformat} [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.375 sec - in org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.303 sec - in org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.44 sec - in org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.185 sec - in org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.237 sec - in org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.315 sec - in org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] [INFO] [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.224 sec - in org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.19 sec - in org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.154 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.193 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.094 sec - in org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.164 sec - in org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.12 sec - in org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.275 sec - in org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] [INFO] [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.119 sec - in org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapSchemaConverterOsgiTest [INFO] [INFO] [SUREFIRE] std/in stream corrupted ... {noformat} The cumulative time is *just* below 20s (19.938 exactly), but is more than 20 s when counting the surrounding tasks : {noformat} [INFO] [INFO] Apache Directory API OSGi Integration Tests ........ FAILURE [ 21.710 s] {noformat} The same test ran in isolation also take longer, but I guess there are some extra checks done when running a {{mvn release:perform}}... Is there an expected date for a release that I can test, or even a SNAPSHOT ? Many thanks ! > Surefire does not wait long enough for the forked VM and assumes it to be dead > ------------------------------------------------------------------------------ > > Key: SUREFIRE-1302 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1302 > Project: Maven Surefire > Issue Type: Request > Components: Maven Surefire Plugin > Affects Versions: 2.19.1 > Reporter: Yuriy Zaplavnov > Assignee: Tibor Digana > Fix For: 2.20.1 > > Attachments: 2017-05-18T05-48-08_685-jvmRun1.dumpstream, > surefire-gclog.log, surefire-logs, > surefire-tests-terminated-master-aa9330316038f6b46316ce36ff40714ffc7cf299.zip, > tests_log_01.txt, tests_log_02.txt > > > This issue happens because surefire kills the forked container if it times > out waiting for the 'ping'. > In org.apache.maven.surefire.booter.ForkedBooter class there is hardcoded > constant PING_TIMEOUT_IN_SECONDS = 20 which is used in the following method: > {code} > private static ScheduledFuture<?> listenToShutdownCommands( CommandReader > reader ) > { > reader.addShutdownListener( createExitHandler( reader ) ); > AtomicBoolean pingDone = new AtomicBoolean( true ); > reader.addNoopListener( createPingHandler( pingDone ) ); > return JVM_TERMINATOR.scheduleAtFixedRate( createPingJob( pingDone, > reader ), > 0,PING_TIMEOUT_IN_SECONDS, > SECONDS ); > } > {code} > to create ScheduledFuture. > In some of the cases the forked container might respond a bit later than it's > expected and surefire kills it > {code} > private static Runnable createPingJob( final AtomicBoolean pingDone, final > CommandReader reader ) > { > return new Runnable() > { > public void run() > { > boolean hasPing = pingDone.getAndSet( false ); > if ( !hasPing ) > { > exit( 1, KILL, reader, true ); > } > } > }; > } > {code} > As long as we need to terminate it anyway, It would be really helpful if the > problem could be solved making the PING_TIMEOUT_IN_SECONDS configurable with > the ability to specify the value from maven-surefire-plugin. > It would help to configure this timeout based on needs and factors of the > projects where surefire runs. -- This message was sent by Atlassian JIRA (v6.3.15#6346)