Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-1629

Plugin crashes if tests are forked and JPMS error occurs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.22.1
    • None
    • Maven Surefire Plugin
    • None
    • OpenJDK 11.0.2

    Description

      I tried running a test against an application with split packages and ended up with the following message in the dumpstream file:

      # Created at 2019-01-25T16:20:23.856
      Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'Error occurred during initialization of boot layer'.
      java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma after third character in command 'Error occurred during initialization of boot layer'.
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:507)
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:210)
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:177)
      at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
      at java.base/java.lang.Thread.run(Thread.java:834)
      
      # Created at 2019-01-25T16:20:23.857
      Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 'java.lang.LayerInstantiationException: Package com.foobar.internal.scope in both module com.foobar.database and module com.foobar.backend'.
      java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma after third character in command 'java.lang.LayerInstantiationException: Package com.foobar.internal.scope in both module com.foobar.database and module com.foobar.backend'.
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:507)
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:210)
      at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:177)
      at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
      at java.base/java.lang.Thread.run(Thread.java:834)

       
      Expected behavior: the Surefire plugin should surface this error message to stdout/stderr instead making developers dig into the dumpstream file.

      Attachments

        1. testcase.zip
          7 kB
          Gili

        Issue Links

          Activity

            People

              tibordigana Tibor Digana
              cowwoc Gili
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: