[ 
https://issues.apache.org/jira/browse/SUREFIRE-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541457#comment-16541457
 ] 

Caspar MacRae commented on SUREFIRE-1496:
-----------------------------------------

Adding *--show-module-resolution* causes a similar "Corrupted STDOUT by 
directly writing to native stream in forked JVM 1." but without crashing VM.

A log entry like the following for every single line of the module resolution 
output:

 
{noformat}
# Created at 2018-07-12T11:29:03.155
Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 
'javafx.swing requires javafx.graphics jrt:/javafx.graphics'.
java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma 
after third character in command 'javafx.swing requires javafx.graphics 
jrt:/javafx.graphics'.
        at 
org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:511)
        at 
org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:209)
        at 
org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:176)
        at 
org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
        at java.lang.Thread.run(Thread.java:748){noformat}
 

I've had similar errors as the one in [~scolebou...@joda.org]'s comment above, 
due to incorrect argument format but with the forked VM crashing and only the 
first "Error occurred during initialization of boot layer" stacktrace and no 
indication as to the cause.

 

 

> Dump file error for java.lang.module.ResolutionException
> --------------------------------------------------------
>
>                 Key: SUREFIRE-1496
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1496
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: process forking
>    Affects Versions: 2.21.0
>            Reporter: Stephen Colebourne
>            Priority: Major
>
> Scenario:
>  * two JPMS modules `org.foo.a` and `org.foo.b`, both with module-info
>  * `org.foo.a` requires `org.foo.b`
>  * `org.foo.b` exports package `org.foo.b.c`
>  * `org.foo.a` contains a text file: src/main/resources/org/foo/b/c/Foo.txt
>  * when surefire is run on module `org.foo.a` a dump file error occurs:
>  
> {noformat}
> 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:511)
>  at 
> org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:209)
>  at 
> org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:176)
>  at 
> org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:88)
>  at java.base/java.lang.Thread.run(Thread.java:844)
> Created on 2018-03-07T11:32:36.053
> Corrupted STDOUT by directly writing to native stream in forked JVM 1. Stream 
> 'java.lang.module.ResolutionException: Module org.foo.a contains package 
> org.foo.b.c, module org.foo.b exports package org.foo.b.c to org.foo.a'. 
> {noformat}
>  
> While the scenario is one that JPMS rejects, surefire should handle it 
> better. The compiler compiles the code just fine because it doesn't see the 
> resources as a package. Surefire is thus the first part of Maven that sees it 
> as a "package" that clashes with the module org.foo.b.
> Clearly, some part of surefire needs to be taught to about 
> java.lang.module.ResolutionException, as the error is tricky to find/see 
> because it is a dump file.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to