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
Sun Apr 27 20:31:11 BST 2025
Control: tag -1 - patch
On Fri, 11 Apr 2025 18:44:22 +1200 Vladimir Petko
<vladimir.petko at canonical.com> wrote:
> Hi,
>
> I believe the patch tag was inherited from #1061025 that has an
> associated MR[1]. This is not a true solution, merely a workaround to
> resolve the circular dependency causing this issue.
[...]
Right, so I'm removing the patch tag.
I tried bisecting the changes between bookworm and unstable to find the
source of the breakage:
- bookworm: success
- unstable snapshot 20230630T210935Z: success
- unstable snapshot 20240531T143744Z: failure (tests complete)
- unstable snapshot 20241115T204403Z: failure (tests hang)
- unstable snapshot 20240823T205308Z: failure (tests complete)
- unstable snapshot 20241008T203645Z: failure (tests complete)
- unstable snapshot 20241026T203202Z: failure (tests hang)
- unstable snapshot 20241017T204911Z: failure (tests complete)
- unstable snapshot 20241022T083247Z: failure (tests complete)
- unstable snapshot 20241024T143718Z: failure (tests hang)
...
- unstable snapshot 20241024T083042Z: failure (tests complete)
(For the purposes of this bisection I treated test failures without a
hang as "good" because that's not the issue reported, though they may in
fact be related.)
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:
surefire (2.22.3-3) unstable; urgency=medium
* Team upload.
* No longer build maven-surefire-report-plugin
* Removed the unused dependency on velocity
* Standards-Version updated to 4.7.0
-- Emmanuel Bourg <ebourg at apache.org> Thu, 24 Oct 2024 14:27:13 +0200
Now, the test failures have tracebacks like:
java.lang.IllegalStateException: Recursive update
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1763)
at org.apache.commons.logging.impl.Slf4jLogFactory.getInstance(Slf4jLogFactory.java:286)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:999)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:77)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
at org.apache.commons.logging.impl.Slf4jLogFactory.lambda$getInstance$0(Slf4jLogFactory.java:287)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
at org.apache.commons.logging.impl.Slf4jLogFactory.getInstance(Slf4jLogFactory.java:286)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:999)
at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:77)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
at org.slf4j.InvocationTest.testNull(InvocationTest.java:89)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:61)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
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.
Ben.
--
Ben Hutchings
When in doubt, use brute force. - Ken Thompson
-------------- 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/20250427/e4e43576/attachment-0001.sig>
More information about the pkg-java-maintainers
mailing list