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

Alexander Kriegisch edited comment on SUREFIRE-1881 at 2/8/21, 3:45 AM:
------------------------------------------------------------------------

Here is a Maven log file I with debug logging activated (see attachment)
{code:none}
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[DEBUG] Determined Maven Process ID 12664
[DEBUG] Fork Channel [1] connection string 'tcp://192.168.137.1:56560' for the 
implementation class 
org.apache.maven.plugin.surefire.extensions.SurefireForkChannel
[DEBUG] boot classpath:  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-booter\3.0.0-M5\surefire-booter-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-api\3.0.0-M5\surefire-api-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-logger-api\3.0.0-M5\surefire-logger-api-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-shared-utils\3.0.0-M4\surefire-shared-utils-3.0.0-M4.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-extensions-spi\3.0.0-M5\surefire-extensions-spi-3.0.0-M5.jar
  
C:\Users\alexa\Documents\java-src\Maven_Surefire_PrintToConsoleProblems\target\test-classes
  
C:\Users\alexa\Documents\java-src\Maven_Surefire_PrintToConsoleProblems\target\surefire-print-console-problems-1.0-SNAPSHOT.jar
  C:\Users\alexa\.m2\repository\junit\junit\4.13.1\junit-4.13.1.jar  
C:\Users\alexa\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\surefire-junit4\3.0.0-M5\surefire-junit4-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\common-java5\3.0.0-M5\common-java5-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\common-junit3\3.0.0-M5\common-junit3-3.0.0-M5.jar
  
C:\Users\alexa\.m2\repository\org\apache\maven\surefire\common-junit4\3.0.0-M5\common-junit4-3.0.0-M5.jar
[DEBUG] boot(compact) classpath:  surefire-booter-3.0.0-M5.jar  
surefire-api-3.0.0-M5.jar  surefire-logger-api-3.0.0-M5.jar  
surefire-shared-utils-3.0.0-M4.jar  surefire-extensions-spi-3.0.0-M5.jar  
test-classes  surefire-print-console-problems-1.0-SNAPSHOT.jar  
junit-4.13.1.jar  hamcrest-core-1.3.jar  surefire-junit4-3.0.0-M5.jar  
common-java5-3.0.0-M5.jar  common-junit3-3.0.0-M5.jar  
common-junit4-3.0.0-M5.jar
[DEBUG] Forking command line: cmd.exe /X /C ""C:\Program 
Files\Java\jdk-15.0.2\bin\java" 
-javaagent:C:\Users\alexa\Documents\java-src\Maven_Surefire_PrintToConsoleProblems\target/surefire-print-console-problems-1.0-SNAPSHOT.jar
 -jar 
C:\Users\alexa\AppData\Local\Temp\surefire9451725175277362876\surefirebooter561074834657146383.jar
 C:\Users\alexa\AppData\Local\Temp\surefire9451725175277362876 
2021-02-08T10-38-32_566-jvmRun1 surefire10506462700469984517tmp 
surefire_014028304743446008368tmp"
{code}


 [^maven-failsafe-debug-log.txt] 


was (Author: kriegaex):
 [^maven-failsafe-debug-log.txt] 

> Java agent printing to native console makes build block when using 
> SurefireForkNodeFactory
> ------------------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-1881
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1881
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Failsafe Plugin, Maven Surefire Plugin
>    Affects Versions: 3.0.0-M5
>            Reporter: Alexander Kriegisch
>            Priority: Major
>         Attachments: maven-failsafe-debug-log.txt
>
>
> This is a follow-up to SUREFIRE-1788 which was closed prematurely even though 
> there still were open issues which were discussed there initially. Basically 
> the situation is as follows:
>  * I use Java agents writing to stdOut and stdErr in my tests.
>  * I was annoyed that Surefire/Failsafe were writing lots of {{[WARNING] 
> Corrupted STDOUT by directly writing to native stream in forked JVM}} lines 
> into {{*-jvmRun1.dumpstream}} files. [~tibordigana] then told me to use 
> {{<forkNode 
> implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>}}
>  in my POM in order to fix the issue.
>  * I tried this in version 3.0.0-M5, but unfortunately, it makes 
> Surefire/Failsafe freeze if a Java agent prints something to stdOut or 
> stdErr. This happens both in M5 and in M6-SNAPSHOT after both SUREFIRE-1788 
> and SUREFIRE-1809 have been merged in already.
>  * My [sample 
> project|https://github.com/kriegaex/Maven_Surefire_PrintToConsoleProblems] 
> reproduces the issue as soon as you uncomment the option in the POM and run 
> {{mvn clean verify}}.
>  * The second issue is: *Not* using this option leads to garbled log output 
> when a Java agent writes to both stdOut and stdErr before/during tests. See 
> comments in class 
> [{{Agent.DummyTransformer}}|https://github.com/kriegaex/Maven_Surefire_PrintToConsoleProblems/blob/master/src/main/java/de/scrum_master/dummy/Agent.java]
>  for examples for garbled log lines and also comments in 
> [pom.xml|https://github.com/kriegaex/Maven_Surefire_PrintToConsoleProblems/blob/master/pom.xml#L36]
>  for further information.
>  * If the garbled output would also appear with this option activated, cannot 
> be tested at present due to the Surefire/Failsafe freeze. I will re-test that 
> after the freeze has been fixed and before this issue can be closed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to