Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.19.1
-
None
Description
This issue happens because surefire kills the forked container if it times out waiting for the 'ping'.
In org.apache.maven.surefire.booter.ForkedBooter class there is hardcoded constant PING_TIMEOUT_IN_SECONDS = 20 which is used in the following method:
private static ScheduledFuture<?> listenToShutdownCommands( CommandReader reader ) { reader.addShutdownListener( createExitHandler( reader ) ); AtomicBoolean pingDone = new AtomicBoolean( true ); reader.addNoopListener( createPingHandler( pingDone ) ); return JVM_TERMINATOR.scheduleAtFixedRate( createPingJob( pingDone, reader ), 0,PING_TIMEOUT_IN_SECONDS, SECONDS ); }
to create ScheduledFuture.
In some of the cases the forked container might respond a bit later than it's expected and surefire kills it
private static Runnable createPingJob( final AtomicBoolean pingDone, final CommandReader reader ) { return new Runnable() { public void run() { boolean hasPing = pingDone.getAndSet( false ); if ( !hasPing ) { exit( 1, KILL, reader, true ); } } }; }
As long as we need to terminate it anyway, It would be really helpful if the problem could be solved making the PING_TIMEOUT_IN_SECONDS configurable with the ability to specify the value from maven-surefire-plugin.
It would help to configure this timeout based on needs and factors of the projects where surefire runs.
Attachments
Attachments
- 2017-05-18T05-48-08_685-jvmRun1.dumpstream
- 351 kB
- Olivier Peyrusse
- surefire-gclog.log
- 1.26 MB
- Olivier Peyrusse
- surefire-logs
- 6 kB
- Olivier Peyrusse
- tests_log_01.txt
- 111 kB
- Yuriy Zaplavnov
- tests_log_02.txt
- 1 kB
- Yuriy Zaplavnov
Issue Links
- duplicates
-
SUREFIRE-1261 surefire hangs of failed tests and keeps lock on surefirebooter on Windows preventing clean
- Closed
- is duplicated by
-
SUREFIRE-1370 Build failed in Jenkins with error :The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
- Closed
- relates to
-
SUREFIRE-1374 std/in stream corrupted error
- Closed
Activity
Originally there is a situation when the process is killed and there is no any way to configure logic to make it not happen. I would consider this as defect so far.
By the way according to the http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#vm-termination there is no mention unfortunately about one more case I described above when it might fail. It actually fails and each failure means typically a Problem, therefore as far as there is no way to fix this with configuration of surefire, it could be considered as defect for the module.
I don't think that this is an improvement, because improvement is an extension of already existing and working functionality which brings new opportunities. At this case there is a situation which leads to an incident and error and could't be resolved simply.
To fully understand the issue: the tests or something else in the VM takes too long and the forked VM is not able to respond because it is blocked. Surefire assumes this VM to be dead, though still alive having a valid PID?
I think your problem can be solved in two steps:
1. Create an improvement request to make this timeout configurable. A PR with an IT would be awesome.
2. Rename this issue to "Surefire does not wait long enough for the forked VM and assumes it to be dead" or something like that.
This issue would require the new one to be solved, plus everything is nicely documented.
Acceptable?
Thanks for your assistance! Just renamed the issue and changed the type of the issue.
Not exactly how I expected. This issue stays as bug. Create a new issue as improvement with the new configuration param. This will make it quite clear.
xeagle
But this does not need PR.
The PING is lost only if your application corrupted std/out which is used to send this command. We are detecting the Maven was killed and forked surefire jvms should be killed afterwards.
I do not trust that the CPU is overloaded for 20 seconds so much the none of our Threads are notified.
xeagle
Please see this issue SUREFIRE-1222 and GitHub links there what it means when Arquillian affected the stream. The same happens with native libraries.
Simply print the logs that master process sends PING and slave receives it with certain timestamps. This would be the first thing to make analysis unlike adding config parameter which we are yet not sure that it helps to you and many other users. We must have the proofs.
tibor17
Attached the regular logs from tests (two tests launched in forked VM). Please note that the description of log is truncated.
tibor17
Attached the custom logs captured from surefire booter (recompiled the 2.19.1 version with logging, two tests launched in forked VM).
If you compare the timestamp records from this 2nd log with the records from 1st log, you will find that process is still alive, running and logging the execution within the time interval when the pingDone variable hasn't been updated.
In some cases randomly tests complete successfully in some cases not.
As far as you can see there are no errors related to corrupted stream.
Hopefully this information would help you somehow.
Good job!
The report tests_log_02.txt contains two forks?
How much time each test takes?
Does this execution time interleave with 20 seconds period?
Maybe the ping is stopped right after the last test has started in testset. This is currently my guess. This can be simulated with sample project running the tests with sleep(21_000L). Please try that and provide your project in Jira to reproduce it.
xeagle
What config of Surefire you use in this issue?It would be useful if you uploaded your project or a link in github where I can reproduce it.
I want to release Version 2.19.2 soon.
You can help me with that if you confirm the PING command dispatched from ForkStarter has stopped right after last test started.
Sorry for delay, was a bit in hurry with other things, give me please some time and I will take it to prepare a project to let you reproduce it on your own.
I'm so sorry for delay with this.
Please try to run the attached (surefire-tests-terminated-master-aa9330316038f6b46316ce36ff40714ffc7cf299.zip) project:
mvn clean package
It runs tests and will fail. If you modify pom.xml and change surefire-plugin version from <version>2.19.1</version> to <version>2.18.1</version> the run won't fail and will work as expected.
Please have a look at this and let me know if you can reproduce this with this project on your side.
tibor17 is the issue from recently attached project reproducible for you?
xeagle
I used version 2.20 and found out that forked jvm received corrupted data in stdin (java.lang.System#in).
Some library uses stdin in your tests.
- Created on 2017-04-08T13:28:55.139
[SUREFIRE] std/in stream corrupted
java.io.IOException: Command NOOP unexpectedly read Void data with length 4.
at org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:130)
at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:386)
at java.lang.Thread.run(Thread.java:745)
Hello everyone,
I'd like to add my case to the one of xeagle.
In my case, we are developing an in-memory database for huge volume of data. Given that, it is common that we fill the JVM with a lot of objects during our tests, implying a lot of huge GCs after that. As you may know, GCs imply a stop-of-the-world at the JVM level, preventing it from sending its command expected by the ping. If the GC is too long, the VM is assumed to be dead and is killed by the ForkedBooter.
As Yuriy, having the possibility to configure the ping period is enough to fix this issue.
Side note: is it possible to add a log or something stating that the VM was killed by ForkedBooter since it was not responding ?
The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
This is not really explicit. We first assumed that it was our code or in a third plugin. Directly knowing would have spare investigation hours
Thanks and regards
opeyrusse
Can you enable -verbose:gc and tell me how slow the GC is?
Ping should be received within 20 seconds.
Please test your project with new version 2.20 which was released yesterday.
opeyrusse
I think we can use JMX GarbageCollectorMXBean and prolong the ping period by the delay caused by GC.
opeyrusse
Can you help us and fix this issue in class ForkedBooter?
I am working on three other issues and we want to make release in April and support JDK9.
Hello Tibor,
I will add the option for verbose GC. As soon as we hit the issue, I will forward you the GC times.
So far, I had a small thread logging a time at a regular pace. I saw pauses in that print around 10 secs, suggesting GCs of that duration.
I am not at all familiar with surefire project. As Yuriy suggested, is that ok if I make the ping timeout configurable in surefire config ? If yes, where can I start to make it - just point me 1 or 2 base classes, and I will start from there. I cannot guarantee you I will have time to make the change, but I will try.
Regards
Hello Tibor,
quick note about -verbose:gc. I did not activate that option since it triggered a lot of errors in surefire, and the results were useless.
All GC stats are received by the CommandReader, which fails to decode them - logical since it is not supposed to be decoded.
output: # Created on 2017-04-19T11:22:13.163 Corrupted stdin stream in forked JVM 1. Stream '[GC pause (System.gc()) (young) (initial-mark) 43M->5994K(1024M), 0.0059696 secs]'. # Created on 2017-04-19T11:22:13.166 Corrupted stdin stream in forked JVM 1. Stream '[GC concurrent-root-region-scan-start]'. java.lang.IllegalArgumentException: Stream stdin corrupted. Expected comma after third character in command '[GC concurrent-root-region-scan-start]'. at org.apache.maven.plugin.surefire.booterclient.output.ForkClient$OperationalData.<init>(ForkClient.java:469) at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.processLine(ForkClient.java:191) at org.apache.maven.plugin.surefire.booterclient.output.ForkClient.consumeLine(ForkClient.java:158) at org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:87) at java.lang.Thread.run(Thread.java:745) # Created on 2017-04-19T11:22:13.166 Corrupted stdin stream in forked JVM 1. Stream '[GC concurrent-root-region-scan-end, 0.0024680 secs]'.
Hi Olivier,
I think configurable ping timeout may not necessarily save our soul.
If you think in terms of accuracy of timers in Maven process and forked
jvm, and GC this would lead to pretty long timeour, e.g. 30 or 60 seconds.
The Jenkins scheduler is faster, cca 5 sec and git clone is fast as well.
If we could synchronize both timers, we would do much better job. Include
JMX which would prolong the period checking by GC period when Maven process
is supposed to be idle or dead.
My problem with adding configuration parameter is a conflict with Version
3.0.
In 3.0 w have an ambition to customize the parameters with a programmatic
extension per parameter.
Add more and more parameters would delay 3.0 release and means having
unhappy users.
Version 3.0 has this ambition of extensions, requested by user group,
compatibility with Maven 3.0.x and JUnit 5 provider.
All of these are in progress in our branches.
Our PING code is simple. It is located in ForkedBooter.java.
There are two timers. Our ping timer has fixed rate scheduler. This timer
has period of 20 seconds. I think we can make much better code if we try to
synchronize Maven process ping with forked JVM at rate of 1 second. The
timer should be tolerant to GC pauses.
What is the location of long GC pauses? Is it forked JVM or Maven process?
If it is Maven process then I am afraid we cannot do anything about it.
If it is forked JVM, killing jvm itself is up to ForkedBooter running in
forked jvm and the code can be tolerant.
What happens if we have e.g. 1 second timer and GC pauses also this timer?
Would it invoke all elapsed events right after the GC has finished? We
should write the last tick of timer and counter of GC and retrieve delay
from JMX if counter has been incremented. I would say the period of 20
seconds of idle status should be prolonged internally and counting the
period restarted after PING has been received from Maven process which is
the synchronization.
On Wed, Apr 19, 2017 at 10:46 AM, Olivier Peyrusse (JIRA) <jira@apache.org>
opeyrusse
Sooner or later we will use sockets and not these standard output and input streams.
We have to provide the users with fallback.
Then this dump file would not contain GC logs because it will be found in target/surefire-reports/TEST-null.txt.
xeagle
opeyrusse
Please let me know if you still have this issue with new version 2.20 of Surefire.
If you could measure the GC pauses via -verbose:gc I would really appreciate your help. Thx.
Hello tibor17,
I will surely won't have time to code something for Surefire, but I will try again to run my failing test with version 2.20.
Sorry that I did not understand correctly your previous comment. I though you meant that in a future version, the GC logs would be in TEST-null.txt.
I post the logs as soon as I got them.
Regards
Are you open for testing SNAPSHOT version in several days?
I though you meant that in a future version, the GC logs would be in
TEST-null.txt.
I am not able to distinguish between GC logs and other. Writing to native
System stream std/out is a corruption from our point of view. We did
everything to bypass this when we call System.setOut() in Surefire. We
override default PrintStream, wrap your custom logs, encode controlling
data in to it. If JVM or user writes to native stream the plugin may behave
wrong and hang which is in our evidence that we have blocker and critical
issues in Jira. So from my point of view this is user error. In the future
we want to avoid this completely by using sockets and not this mechanism.
On Tue, May 9, 2017 at 9:31 AM, Olivier Peyrusse (JIRA) <jira@apache.org>
Yes, why not. It is not easy to reproduce our issue because we must trigger a huge GC at the right time. But, yes, I am willing.
What should I expect in the snapshot ?
I plan to send PING from Maven process every second. This would be better
synchronization.
The measurements show me that Full GC is determined my the amount of
committed memory.
If it is <= 512 MB the pause takes 1.2 second. Huge amount 4GB takes over
12 seconds to Full GC.
I would like to kill JVM after 10 seconds of idle PING if Xmx is <= 512m.
Otherwise 20 seconds.
If this is not satisfying our needs, we have to configure it via a new
configuration parameter.
If you are facing better algorithm, let me know.
On Tue, May 9, 2017 at 10:34 AM, Olivier Peyrusse (JIRA) <jira@apache.org>
Seems good to me. Since you let a way to change that value, it should meet all needs.
You may consider increasing the time limit to 30s, or even a minute. As this is a safe guard and the machine is not supposed to die, we could wait a longer time to detect that issue. With such an increased timeout, you will likely avoid suffering from long GCs.
opeyrusse
Can you pls build SUREFIRE-1302 branch mvn -DskipTests install and test it with your project?
I will override the branch and add parameter soon and then I want to change the documentation.
Yet the ping timeout is adaptive.
Adding parameter takes time because several classes and reflection has to be changed.
https://git-wip-us.apache.org/repos/asf?p=maven-surefire.git;a=shortlog;h=refs/heads/SUREFIRE-1302
Hello Tibor,
new surefire built and I am starting the tests. Although, it is hard to reproduce ...
Hello Tibor,
I did not manage to reproduce the issue on my machine. I am trying on a bigger one.
Hello Tibor,
running surefire 2.21-SNAPSHOT, I got once again the VM shutdown. I attached to the issue the maven logs. My personal logs seems to show that a small thread supposed to print a message every 250 ms was not scheduled during 12s.
GC logs available as error in jvmRun1 show that a pause of ~12s, confirming my diagnostic.
- Created on 2017-05-18T05:50:30.395
Corrupted stdin stream in forked JVM 1. Stream '[GC pause (G1 Evacuation Pause) (young)-- 888M->820M(1024M), 11.8820911 secs]'.
So the current adaptive ping seems not to be enough. Tell me if you want me to test something else.
Best regards
opeyrusse
I guess this is 1GB of committed memory: 888M->820M(1024M)
According to my equation 1GB should be 17 seconds. But 12 is less than 17. So the ping should be tolerant.
Could you please print a log in the ping thread? It should print a message every second.
In other words the ping of 10 seconds should turn to 17 seconds when committed memory is 1 GB.
Debugging the code would be hard but putting more logs, according to your preference, may help.
Hello tibor17,
I will try adding more details about the logs and printing the ping times.
However, I am still not confortable with your heuristics as it depends a lot on the GC configuration, the size of your eden, survivor and old gen spaces, because when your memory starts to be full, it will take much more time to find some space in the heap.
I remain on my position that we should make the timer waits for 1 minute without a ping, and then kill the machine, as we are dealing with tests here, not a real-time application with needs for fast-recovery.
Best regards
Hello again,
I attached a new file with more details about G1GC run. But still, as soon as we face a GC of more than 13s, the ping fails.
I tried to print the timing of the ping, but it was apparently swallowed so I can't give them to you.
And I don't see what could go wrong.
opeyrusse
xeagle
I found the problem but since the Maven process can run modules in parallel e.g. -T 2C then considering GC may complicate everything. I would rather observe PPID and check if the process is alive every second.
Good job tibor17. Looking at PPID sounds good to me.
Tell me if you want me to run some tests.
Hi guys,
I think I'm stuck with a similar pb in the Apache Directory LDAP API project : trying to cut a release ends up with this error :
[INFO] [SUREFIRE] std/in stream corrupted [INFO] java.io.IOException: Command NOOP unexpectedly read Void data with length 4. [INFO] at org.apache.maven.surefire.booter.MasterProcessCommand.decode(MasterProcessCommand.java:139) [INFO] at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:360) [INFO] at java.lang.Thread.run(Thread.java:745) ... [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project api-integ-osgi: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called? [INFO] [ERROR] Command was /bin/sh -c cd /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi && /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/bin/java -Xmx1024m -jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp heds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefirebooter3370697464825684132.jar /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire2251022129393537760tmp /Users/elecharny/apacheds/trunks/shared/target/checkout/integ-osgi/target/surefire/surefire_158862987326254246739tmp
The weird thing is that the exact same test work perfectly well when I run mvn test in the module, or when I do a release dry-run or a release prepare, it's really when I do the mvn release:perform that it fails.
The test itself can take a bit of time. Here is the output, for instance :
[INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.375 sec - in org.apache.directory.api.osgi.ApiAsn1ApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.303 sec - in org.apache.directory.api.osgi.ApiAsn1BerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.44 sec - in org.apache.directory.api.osgi.ApiDsmlEngineOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.185 sec - in org.apache.directory.api.osgi.ApiDsmlParserOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.237 sec - in org.apache.directory.api.osgi.ApiI18nOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.315 sec - in org.apache.directory.api.osgi.ApiLdapClientApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] [INFO] [INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.224 sec - in org.apache.directory.api.osgi.ApiLdapCodecCoreOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.19 sec - in org.apache.directory.api.osgi.ApiLdapExtrasAciOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.154 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecApiOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.193 sec - in org.apache.directory.api.osgi.ApiLdapExtrasCodecOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.094 sec - in org.apache.directory.api.osgi.ApiLdapExtrasSpOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.164 sec - in org.apache.directory.api.osgi.ApiLdapExtrasTriggerOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.12 sec - in org.apache.directory.api.osgi.ApiLdapExtrasUtilOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] [INFO] [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.275 sec - in org.apache.directory.api.osgi.ApiLdapModelOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] [INFO] [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.119 sec - in org.apache.directory.api.osgi.ApiLdapNetMinaOsgiTest [INFO] Running org.apache.directory.api.osgi.ApiLdapSchemaConverterOsgiTest [INFO] [INFO] [SUREFIRE] std/in stream corrupted ...
The cumulative time is just below 20s (19.938 exactly), but is more than 20 s when counting the surrounding tasks :
[INFO] [INFO] Apache Directory API OSGi Integration Tests ........ FAILURE [ 21.710 s]
The same test ran in isolation also take longer, but I guess there are some extra checks done when running a mvn release:perform...
Is there an expected date for a release that I can test, or even a SNAPSHOT ?
Many thanks !
Forgot to mention that I'm using surefire 2.18.1
elecharny
Your problem refers to another issue SUREFIRE-1374.
We do not understand the root cause yet.
elecharny
When you open logs from every test, e.g. surefire-reports, do you see that every test method went through?
I think the JVM sends 0x04 by ASCII when terminating, End of Transmission.
Please do not use version 2.18.1.
I removed the call CommandReader#stop() in 2.20 when JVM is going to finish in ForkedBooter.
Please confirm that version 2.19.1 works.
I found that stopping reader thread is useless due to JVM stops it on exit but I could not imaging the stream would be corrupted this way. The change was done in da7ff6aa25a72094705c24981afbf8294ac4b1dc on 28.03.2017.
Thanks Tibor !
I'll give 2.19.1 a try today (it might take some time because I would need to bump up a sub-project, and it requires a 4h notice to the team).
Sadly, I don't have anymore the reports, because I ran the tests in isolation after the failure, but I'll have them back as soon as I will have run the release again.
The process is a bit messy because it's a release, and it takes a while (around 40 ins) to run and require quite a lot of manual interaction if it fails (remove the svn tag, rollback the release, and re-run it with all the uploads - not to mention I'm in vacatio with my young kid and wife, so....
I'll keep you posted.
Same pb with 2.19.1.
All the tests went through without error :
[INFO] Results : [INFO] [INFO] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0 [INFO]
Same thing in the surefire-reports.
Hi Tibor,
you are right, this is more likely to be related to SUREFIRE-1374. However, I do think it's also time related (the 20 s it takes to run the module). OTOH, it only fails when cutting a release, so there must be something else...
elecharny
I have pushed a fix, please see my comment in SUREFIRE-1374. Thx.
elecharny
opeyrusse
xeagle
michael-o
I have pushed a branch.
https://git-wip-us.apache.org/repos/asf?p=maven-surefire.git;a=shortlog;h=refs/heads/SUREFIRE-1302_2
Pls put your comments in the code if you want to change something.
It is only a prototype. The class PpdiChecker will recognize etime of PPID. If it is longer or the same like uptime of current PID, the parent process is still alive. This way the the fork JVM does not need to have any timeout like PING. If the commands throw exception or another than Unix/Windows platform, we fallback to the old mechanism.
I want to split version 2.20.1, release it on Friday and include this issue. Other big issues like JDK 9 should go to 2.20.2.
UNSTABLE: Integrated in Jenkins build maven-surefire #1717 (See https://builds.apache.org/job/maven-surefire/1717/)
SUREFIRE-1302 Surefire does not wait long enough for the forked VM and (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=c343cc412b986fd9da839696c709542d03679d68)
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) surefire-booter/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) maven-surefire-common/pom.xml
- (edit) maven-surefire-plugin/pom.xml
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-failsafe-plugin/pom.xml
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (edit) surefire-api/pom.xml
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (edit) pom.xml
SUCCESS: Integrated in Jenkins build maven-surefire-dev #10 (See https://builds.apache.org/job/maven-surefire-dev/10/)
SUREFIRE-1302_4 (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=c7e0582bbc181b2d63901367f4d12613640352a7)
- (add) surefire-api/src/test/java/org/apache/maven/surefire/util/ReflectionUtilsTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/SystemUtils.java
- (edit) maven-failsafe-plugin/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerStartupConfigurationTest.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/Classpath.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterConstants.java
- (edit) pom.xml
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerProviderConfigurationTest.java
- (edit) surefire-api/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (edit) surefire-api/src/test/java/org/apache/maven/JUnit4SuiteTest.java
- (edit) maven-surefire-plugin/pom.xml
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (delete) surefire-api/src/test/java/org/apache/maven/surefire/util/internal/SystemUtilsTest.java
- (edit) surefire-booter/pom.xml
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/SystemUtilsTest.java
- (edit) maven-surefire-common/pom.xml
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (delete) surefire-api/src/main/java/org/apache/maven/surefire/util/internal/SystemUtils.java
SUCCESS: Integrated in Jenkins build maven-surefire-dev #13 (See https://builds.apache.org/job/maven-surefire-dev/13/)
SUREFIRE-1302 Surefire does not wait long enough for the forked VM and (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=5cbdc7a4c12d77f42270735a742038581c6bac4a)
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (edit) pom.xml
- (add) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/Platform.java
- (edit) surefire-api/pom.xml
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) surefire-booter/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerProviderConfigurationTest.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/SystemUtilsTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/SystemUtils.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterConstants.java
- (edit) maven-surefire-common/pom.xml
- (add) surefire-api/src/test/java/org/apache/maven/surefire/util/ReflectionUtilsTest.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/Classpath.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/NewClassLoaderRunner.java
- (delete) surefire-api/src/main/java/org/apache/maven/surefire/util/internal/SystemUtils.java
- (edit) maven-failsafe-plugin/pom.xml
- (edit) maven-surefire-plugin/pom.xml
- (delete) surefire-api/src/test/java/org/apache/maven/surefire/util/internal/SystemUtilsTest.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerStartupConfigurationTest.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
- (edit) surefire-api/src/test/java/org/apache/maven/JUnit4SuiteTest.java
SUCCESS: Integrated in Jenkins build maven-surefire-dev #15 (See https://builds.apache.org/job/maven-surefire-dev/15/)
SUREFIRE-1302 Surefire does not wait long enough for the forked VM and (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=493cc8b5713ff32346d4703e0b9593f461a10ca4)
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterConstants.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
- (edit) surefire-api/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
- (add) surefire-api/src/test/java/org/apache/maven/surefire/util/ReflectionUtilsTest.java
- (edit) pom.xml
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/SystemUtils.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/NewClassLoaderRunner.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerProviderConfigurationTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/Classpath.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (delete) surefire-api/src/main/java/org/apache/maven/surefire/util/internal/SystemUtils.java
- (add) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/Platform.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/SystemUtilsTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerStartupConfigurationTest.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
- (edit) maven-surefire-common/pom.xml
- (delete) surefire-api/src/test/java/org/apache/maven/surefire/util/internal/SystemUtilsTest.java
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (edit) maven-failsafe-plugin/pom.xml
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
- (edit) surefire-booter/pom.xml
- (edit) surefire-api/src/test/java/org/apache/maven/JUnit4SuiteTest.java
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java
- (edit) maven-surefire-plugin/pom.xml
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
SUCCESS: Integrated in Jenkins build maven-surefire #1720 (See https://builds.apache.org/job/maven-surefire/1720/)
Revert "SUREFIRE-1302 Surefire does not wait long enough for the (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=58a4dad81b02dba8ccc0f3fe511e31bfaa914d43)
- (edit) surefire-api/pom.xml
- (edit) pom.xml
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (edit) maven-surefire-common/pom.xml
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (delete) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-surefire-plugin/pom.xml
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) surefire-booter/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (delete) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (edit) maven-failsafe-plugin/pom.xml
- (delete) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
SUCCESS: Integrated in Jenkins build maven-surefire #1722 (See https://builds.apache.org/job/maven-surefire/1722/)
SUREFIRE-1302 Surefire does not wait long enough for the forked VM and (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=f1f4718e519bdee7ab53b91b34714adce3e39c34)
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/Classpath.java
- (edit) maven-surefire-common/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (delete) surefire-api/src/main/java/org/apache/maven/surefire/util/internal/SystemUtils.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-surefire-plugin/pom.xml
- (edit) surefire-api/pom.xml
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/SystemUtilsTest.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerStartupConfigurationTest.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/SystemUtils.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerProviderConfigurationTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java
- (edit) pom.xml
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/NewClassLoaderRunner.java
- (edit) maven-surefire-report-plugin/pom.xml
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (add) surefire-api/src/test/java/org/apache/maven/surefire/util/ReflectionUtilsTest.java
- (delete) surefire-api/src/test/java/org/apache/maven/surefire/util/internal/SystemUtilsTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
- (edit) surefire-booter/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
- (add) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/Platform.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterConstants.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (edit) maven-failsafe-plugin/pom.xml
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (edit) surefire-api/src/test/java/org/apache/maven/JUnit4SuiteTest.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
SUCCESS: Integrated in Jenkins build maven-surefire-dev #19 (See https://builds.apache.org/job/maven-surefire-dev/19/)
SUREFIRE-1302 Surefire does not wait long enough for the forked VM and (tibor17: http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git&a=commit&h=fec3dfedc359ae57c5928f98a7b1c43bad89bc5a)
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporterUtils.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PpidChecker.java
- (add) surefire-api/src/test/java/org/apache/maven/surefire/util/ReflectionUtilsTest.java
- (edit) maven-failsafe-plugin/pom.xml
- (edit) surefire-api/pom.xml
- (edit) maven-surefire-plugin/pom.xml
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/JUnit4SuiteTest.java
- (edit) surefire-api/src/test/java/org/apache/maven/JUnit4SuiteTest.java
- (edit) surefire-booter/pom.xml
- (edit) pom.xml
- (add) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/Platform.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/util/ReflectionUtils.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterConstants.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java
- (edit) maven-surefire-plugin/src/site/apt/examples/shutdown.apt.vm
- (delete) surefire-api/src/test/java/org/apache/maven/surefire/util/internal/SystemUtilsTest.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/ProcessInfo.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerStartupConfigurationTest.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
- (edit) surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
- (edit) maven-surefire-common/pom.xml
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
- (add) surefire-booter/src/main/java/org/apache/maven/surefire/booter/SystemUtils.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/SystemUtilsTest.java
- (delete) surefire-api/src/main/java/org/apache/maven/surefire/util/internal/SystemUtils.java
- (add) surefire-booter/src/test/java/org/apache/maven/surefire/booter/PpidCheckerTest.java
- (edit) surefire-booter/src/test/java/org/apache/maven/surefire/booter/NewClassLoaderRunner.java
- (edit) surefire-booter/src/main/java/org/apache/maven/surefire/booter/Classpath.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
- (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/BooterDeserializerProviderConfigurationTest.java
- (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
- (edit) maven-surefire-report-plugin/pom.xml
- (edit) surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire1295AttributeJvmCrashesToTestsIT.java
tibor17, when can we expect this fix to be delivered within new plugin version? It is very critical for us.
There are 4 pending issues to fix.
One of them has to be fixed now because the issue has been introduced
recently. It is a bug regarding @Parameterized in JUnit when tests fail.
This is very important because this was fine in 2.20 and I do not want to
deliver 2.20.1 with such issue for junit provider.
If you have time please look at it. See the last comment in
https://issues.apache.org/jira/browse/SUREFIRE-1264. There is the last
comment saying which commit introduced the issue. This tells you what
change caused this and should be kept but fixed. Of course IT tests are
needed.
On Mon, Aug 14, 2017 at 11:31 AM, Valentin Baranov (JIRA) <jira@apache.org>
tibor17, the ticket you're talking about is closed.
As far as I can understand the situation is like the following:
1. There was an issue SUREFIRE-1264.
2. It was "fixed" and closed
3. After that, some kind of regression was found, but issue itself wasn't reopened.
Am I right?
Exactly, the regression was found in SUREFIRE-1264 regarding failed test
and not passed tests as the initial fix in 1264 was proposed to fix.
We have two options.
I can reopen 1264 or create a new one.
Maybe reopening it is better. WDYT?
On Mon, Aug 14, 2017 at 12:40 PM, Valentin Baranov (JIRA) <jira@apache.org>
I think the best way is to reopen 1264 because it is not completely done and can't be delivered right now.
I'll try to find time after work to fix it.
Thx Valentin. The issue SUREFIRE-1264 is reopened.
On Mon, Aug 14, 2017 at 1:00 PM, Valentin Baranov (JIRA) <jira@apache.org>
You might want to consider to change the title. You are looking for an improvement as far as I can see.