Hi, PR has been opened to restore the previously reverted commit: https://github.com/apache/maven-surefire/pull/3263 After reviewing this more carefully, it appears that only a single commit was reverted. I initially misunderstood Tibor’s email, as it referred to replacing WMIC with PowerShell; however, that change was not part of the revert. As a result, there is only one commit to restore. Unless Tibor indicates he would prefer to handle this himself, I plan to merge the reapplication PR after a period of time (24h).
Regards Olivier On Mon, 16 Feb 2026 at 09:33, Hervé Boutemy <[email protected]> wrote: > > I'm not going in technical details: I'm not in Surefire > but reverting a reviewed PR without any review is not an option > > @Tibor > please revert then discuss > not the opposite > > thanks > > Hervé > > > Le dimanche 15 février 2026, 12:01:07 CET Romain Manni-Bucau a écrit : > > Hi Tibor, > > > > there is no way you violate the community process like that. > > Olivier did address most of the issues, he did pass the review process and > > while discussion was still ongoing there is no consensus on a revert nor > > discusion so think we should revert the revert, finish the discussion if > > needed and move forward. > > > > Side note: it is ok to be alone against the community in idea, it is wrong > > to be in acts. > > > > Just my 2cts but this can't be right @asf. > > > > Romain Manni-Bucau > > @rmannibucau <https://x.com/rmannibucau> | .NET Blog > > <https://dotnetbirdie.github.io/> | Blog <https://rmannibucau.github.io/> | > > Old Blog <http://rmannibucau.wordpress.com> | Github > > <https://github.com/rmannibucau> | LinkedIn > > <https://www.linkedin.com/in/rmannibucau> | Book > > <https://www.packtpub.com/en-us/product/java-ee-8-high-performance-978178847 > > 3064> Javaccino founder (Java/.NET service - contact via linkedin) > > > > Le dim. 15 févr. 2026 à 04:02, Olivier Lamy <[email protected]> a écrit : > > > Hi, > > > > > > I was surprised to see these changes reverted, as they were addressing > > > issues affecting a significant number of Windows users. > > > The PRs in question resolved problems for users running on Windows > > > without WMIC but using Java 9+. They also aimed to improve the current > > > behaviour and incorporate points that had previously been raised > > > during review. > > > The compatibility concern mentioned appears to affect a relatively > > > narrow subset of users: Java 8 users who rely on WMIC without > > > PowerShell installed. > > > While it is important to consider such edge cases, there may be ways > > > to mitigate the impact without fully reverting improvements that > > > benefit a broader group of users. > > > For users in that situation, possible options include: > > > - remaining on Surefire 3.5.4 (they are already using old Java 8 and > > > old Windows version) > > > - upgrading to at least Java 9 > > > - installing PowerShell > > > > > > I am also concerned about the process/community aspect. These PRs had > > > received few community approvals, which indicated consensus to move > > > forward. > > > Reverting them without prior discussion on the mailing list or in the > > > PR bypasses that consensus-building process. > > > I would therefore suggest reverting those reverts as they are > > > affecting changes that have already been approved. > > > Regards > > > Olivier > > > > > > On Sun, 15 Feb 2026 at 10:07, Tibor Digaňa <[email protected]> wrote: > > > > Hi all, > > > > > > > > We started this discussion 8 days ago, it is still pending. > > > > > > > > Sylwester L. asked me to open the discussion here 8 days ago, so I did. > > > > > > We > > > > > > > still have not made any consensus, and Olivier proactively pushed his > > > > > > work > > > > > > > into master, I reverted his change because we still have not finished > > > > the > > > > analysis and a proposal. Due to there are two issues and not one, both > > > > > > must > > > > > > > be fixed altogether and everybody has to understand what we are doing, > > > > > > why > > > > > > > and how. > > > > > > > > @Olivier Lamy, I require from you to inform me about everything what you > > > > are doing in this project and you will invite me in every PR you > > > > participate on and this way we will discuss together and we we > > > > > > collaborate > > > > > > > together. > > > > > > So there is nothing such a single person to validate changes. > > > We are a developer community here. PRs are public and can be validated > > > by any community member. > > > > > > > There are several technical notices on my side: > > > > > > > > 1. We have also customers with old Windows systems: Windows XP, Windows > > > > Server. > > > > 2. It is not true that the PowerShell is the only solution because not > > > > everybody wants to install it nor installed it yet. > > > > 3. It is true that using OS-naturally native commands we are > > > > > > significantly > > > > > > > mitigating the risk (the risk that some native binary is not > > > > recognized). > > > > 4. It is true that the *ProcessHandle* [1] is *totally avoiding this > > > > > > issue*. > > > > > > > Unlikely the PS or WMIC or PowerShell commands which are only at the > > > > mitigation level - there is always some risk but it is minimum. > > > > 5. It is true that using a kind of Java reflection (or a modern > > > > *MethodHandle* [2]) we can call *ProcessHandle* [1] without any problem > > > > even on Java 8 build process of this project (customer's build process > > > > is > > > > different story - there *ProcessHandle* can be activated). > > > > 6. If we do not want to switch to Java 9, I am fine with that, but then > > > > > > we > > > > > > > have to continue in the risk mitigation and we should not push the > > > > > > customer > > > > > > > to something he does not like and it is reinstallation of old systems > > > > > > with > > > > > > > PowerShell (which might not be installable). In this case adding > > > > > > PowerShell > > > > > > > is okay but we have to keep WMIC for old Windows systems, and PS for > > > > *Nix > > > > systems. Due to the Java 9 API is simple, and it is simple to call (in > > > > principal) *ProcessHandle.of(PPID).isAlive()* via the reflection - we > > > > > > have > > > > > > > these experiences, we can switch from *risk mitigation* to a > > > > *guarantee*. > > > > Since of Maven 4, we can delete all of these PowerShell, WMIC, PS > > > > > > commands > > > > > > > and call *ProcessHandle.of(PPID).isAlive() *without reflection - > > > > trivial. > > > > 7. Additionally, we didn't say that there is one more problem. The > > > > > > customer > > > > > > > would not recognize this issue if the native commands fallback-ed to the > > > > PING mechanism. There is a bug, and it does not matter if you add > > > > PowerShell or the trick with Java 9. It does not matter! This is > > > > missing, > > > > still in the code and that's the reason why yesterday I made the > > > > analysis > > > > of these commands. > > > > > > > [1]: > > > https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Pro > > > cessHandle.html> > > > > [2]: > > > https://docs.oracle.com/javase/8/docs/api/java/lang/invoke/MethodHandle.ht > > > ml> > > > > Solution proposal: > > > > > > > > After this analysis, it's clear that the Java8-based projects have to > > > > use > > > > the native commands. WMIC has to fallback to PowerShell if IOException > > > > is > > > > thrown (Chain of Responsibility design pattern). PS command would stay > > > > on > > > > *Nix platforms. The Java 9 process checker takes the precedense on Java > > > > > > 9+, > > > > > > > this must be implemented as Strategy pattern and the appropriate object > > > > would be selected by platform conditions. Regarding the point (7) the > > > > *ProcessChecker* must be fixed and the handler of the execute method as > > > > well in order to fallback to PING. No IT deleted. Only two unit tests > > > > > > added > > > > > > > for PowerShell - Windows and *ProcessHandle* - Java9. > > > > > > > > I am very sorry for the inconvenience. > > > > > > > > This would require the reactions, and personal talks. > > > > > > > > I would open Apero beer meeting on every last Tuestady via Google Meet > > > > where we can friendly talk about the Maven in general. We somehow > > > > stopped > > > > this activity last year and it's the time to continue with this very > > > > nice > > > > activity again. I will send the appointment tomorrow. > > > > > > > > > > > > Cheers > > > > > > > > Tibor17 > > > > > > > > > > > > > > > > On Sat, Feb 7, 2026 at 1:21 AM Tibor Digaňa <[email protected]> > > > > > > wrote: > > > > > Hi all, > > > > > > > > > > I would like to have your opinion regarding this issue reported on > > > > > > GitHub: > > > > > "Surefire and Failsafe stop working on latest versions of Windows due > > > > > > to > > > > > > > > missing wmic" > > > > > Please see the link here > > > > > https://github.com/apache/maven-surefire/issues/3176 > > > > > > > > > > I am the author who developed the PPID Process Checker. When I worked > > > > > > on > > > > > > > > it together with Michael Osipov, we reached a consensus. It was a very > > > > > > nice > > > > > > > > personal collaboration, and now I would be glad to have this guy back > > > > > > in > > > > > > > > the active Maven Team again :-) > > > > > That time we used Java 7 or Java 8, or even both, however Java 9 was > > > > > available in the world. We could not use the Java 9 however it could > > > > > > really > > > > > > > > help us. Therefore we decided to call the system library "wmic" on > > > > > > Windows, > > > > > > > > and "ps" on *Nix world, and not Java 9. > > > > > > > > > > Due to the Microsoft Windows removed "wmic", I am open to move > > > > > complete > > > > > Surefire project under Java 9. > > > > > > > > > > I remember how problematic life it was when we had to support both > > > > > > Java 7 > > > > > > > > and Java 8 at the same time. I do not want to support two Java > > > > > versions > > > > > again. > > > > > It would be easier for us to get a confidence from the Maven community > > > > > > and > > > > > > > > switch to Java 9 directly. > > > > > I hope we would get an exception in the list of Maven plugins. > > > > > > > > > > BTW, One more remark. There are strengths to destroy this project. > > > > > > Let's > > > > > > > > ignore these strengths. We can prevent from this happening if we are > > > > > positive and we are friendly working together. > > > > > > > > > > > > > > > Cheers > > > > > Tibor17 > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
