You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tibor Digana (Jira)" <ji...@apache.org> on 2021/03/31 23:44:00 UTC

[jira] [Issue Comment Deleted] (SUREFIRE-1881) Java agent printing to native console makes build block when using SurefireForkNodeFactory

     [ https://issues.apache.org/jira/browse/SUREFIRE-1881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tibor Digana updated SUREFIRE-1881:
-----------------------------------
    Comment: was deleted

(was: New findings with {{$ mvnDebug test -X -o}}.

Thsi is the CLI
{{cmd.exe /X /C ""c:\Program Files\Java\jdk1.8.0_281\jre\bin\java" -version -verbose:class -jar C:\Users\tibor17\AppData\Local\Temp\surefire7749626098124699370\surefirebooter1536162513447436319.jar C:\Users\tibor17\AppData\Local\Temp\surefire7749626098124699370 2021-04-01T00-48-45_103-jvmRun1 surefire4171615558308521670tmp surefire_04351533485029717280tmp"}}

$ telnet 127.0.0.1 52617
1e7ee9d8-fe44-4394-942b-b8228336be00

Maven console:
{noformat}
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[DEBUG] Determined Maven Process ID 4576
[DEBUG] Fork Channel [1] connection string 'tcp://127.0.0.1:52617?sessionId=1e7ee9d8-fe44-4394-942b-b8228336be00' for the implementation class org.apache.maven.plugin.surefire.extensions.SurefireForkChannel
{noformat}


In the class {{CommandlineExecutor}}, Line 80, the debugger evaluates {{java.lang.Process}}:

{noformat}
process.isAlive() = false
process.exitValue() = 0
{noformat}
)

> 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
>            Assignee: Tibor Digana
>            Priority: Major
>         Attachments: Bildschirmfoto von 2021-03-29 21-50-25.png, image-2021-02-08-12-07-34-183.png, image-2021-03-26-09-48-11-398.png, image-2021-03-26-09-52-36-881.png, image-2021-03-26-18-00-37-889.png, image-2021-03-31-11-22-50-682.png, image-2021-03-31-11-38-11-119.png, image-2021-03-31-12-31-55-818.png, image-2021-03-31-12-32-41-589.png, maven-failsafe-debug-log.txt, screenshot-1.png, screenshot-2.png
>
>
> 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)