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

Plugin crashes if tests are forked and JPMS error occurs

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.22.1
    • Fix Version/s: None
    • Component/s: Maven Surefire Plugin
    • Labels:
      None
    • Environment:
      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

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              cowwoc Gili
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: