Control: tag -1 - patch On Fri, 11 Apr 2025 18:44:22 +1200 Vladimir Petko <vladimir.pe...@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 <ebo...@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
signature.asc
Description: This is a digitally signed message part