Bug#1060960: Bug #1060960 (libslf4j-java: FTBFS: make: *** [debian/rules:4: build] Error 25) is tagged patch but I can't find a patch

Ben Hutchings ben at decadent.org.uk
Mon Apr 28 14:49:59 BST 2025


On Mon, 2025-04-28 at 08:31 +0200, Emmanuel Bourg wrote:
> 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.

It turns out that it is possible to do this from the slf4j side, by
replacing the Slf4jLogFactory class.  See the attached patch.  With the
patch applied *and libsurefire-java downgraded*, the tests pass.

> * 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.

That would be unfortunate.  And I wonder if we wouldn't end up with the
same issue in sfl4j's reverse-dependencies.

Ben.

-- 
Ben Hutchings
Kids!  Bringing about Armageddon can be dangerous.  Do not attempt it
in your own home. - Terry Pratchett and Neil Gaiman, `Good Omens'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slf4j-jcl-replace-commons-logging-slf4jlogfactory-class-to-prevent-recursion.patch
Type: text/x-patch
Size: 3178 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-maintainers/attachments/20250428/e880d6ae/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-maintainers/attachments/20250428/e880d6ae/attachment.sig>


More information about the pkg-java-maintainers mailing list