On 27/04/2025 21:31, Ben Hutchings wrote:

So then I compared the build dependency versions in the last good and
first bad snapshots, and tried upgrading the Java packages one by one.
The result was that libsurefire-java (= 2.22.3-3) made the difference:

Now, the test failures have tracebacks like:

java.lang.IllegalStateException: Recursive update

So I don't know that this is really a regression in surefire, or whether
the plugin that was removed just happened to interact with the bug and
changed it from a deadlock into an exception.

Thank you for the analysis Ben, I confirm surefire 2.22.3-3 causes the tests to hang.

So there are two issues here, the loop between slf4j and commons-logging, and the test freeze.

* the loop is caused by a new slf4j log factory introduced in commons-logging 1.3.0. Usually slf4j takes over commons-logging by replacing its classes (in the org.slf4j:jcl-over-slf4j artifact) and both libraries are not on the classpath at the same time. So we should be able to ignore it, either by disabling the slf4j tests for now, or by disabling the log factory in commons-logging.

* the test freeze is surprising, the test threads seem to be idling for an unknown reason. maven-surefire-report-plugin 2.22.3 isn't compatible with maven-reporting-api 4.0 used by the version of Maven in Debian. We'll have to upgrade surefire to the latest version to fix this, but this won't be possible before Forky (too much impact on other Maven components). I recommend disabling the slf4j tests for now.

Emmanuel Bourg

Reply via email to