[ https://issues.apache.org/jira/browse/SUREFIRE-1881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17312037#comment-17312037 ]
Patrick Reinhart commented on SUREFIRE-1881: -------------------------------------------- [~kriegaex] I have saw the comment about the system output not seen on the console. Unfortunately it seems a bit difficult to get the full picture as there seem to be a lot of somewhat disturbing tone also included there. What makes it a bit hard to filter out the essence of the actual problem domain.... {quote}Patrick Reinhart, of course it does work on all OS's if you remove that argument. That is what I was saying since day 1 of creating this ticket. It is the same as making my Java agent not print anything to the console, then the Java agent also works. If it was not about printing to the console, Surefire could never connect to a forked child process and Java agents would never work in connection with Surefire. Logic implies that. Guys, whether you like it or not, it is because the forked VM prints to the console. It is the only explanation for the behaviour in all scenarios we discussed together so far. Look at the big picture, read the whole ticket, don't just focus on what you are trying at the moment in isolation.{quote} Never the less I have been made some progress now and I now _know_ why the hole environment is hanging then there would be any output to the console being attempted by the forked process. When starting the stream consumers for the forked process is done prior the waiting for it to "phone home" then all outputs of this process where shown now. (The according commit is in my PR) Now we come the next problem where I would need some insights from [~tibordigana] as now it seems the inter process communication seem to be disturbed by the forked VM's output during start and therefore has problems detecting the start/end of the actual test cycle. As it's now terminates with the following error: {code} The forked VM terminated without properly saying goodbye. VM crash or System.exit called? {code} > 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, > maven-failsafe-debug-log.txt, screenshot-1.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)