Control: tag -1 - patch
On Fri, 11 Apr 2025 18:44:22 +1200 Vladimir Petko <
vladimir.petko@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@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
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAmgOhf8ACgkQ57/I7JWG EQnEpxAAiuQ+PVKxrMSLKbks0sUz3+gJwvLcSeJ72MqOqNkexoefuXzkxUeXjB3Q Yw20tgWpt9PDv71aEJFcHPz1C+wbTAOrV7lVijzm7AWbsnmMY0JsD24188Yabrst i9QAHBdHm5qqREl3np9nmqp1aQ8iohouVzfEYdGSmjBKoD3UuxriLd+H/Wp23DIR R9GFE4Ni+qAmK2VFBNBbWA2iU1V72O6HSfvOkf2Tp/V3JBlZX3zdsC5fOHGRCzE4 VQ1gEtbYMdco+Gs1Y/vQuY2DSzsEqB0SJEPzx6clYPV/Zo9Z6P0Kp2JC+4uXy7qu SkufcYx76OK1KEo4XPSCIaodPsZuQ9W/2q+bU7lE5N2dLxS5w8wej9jj4vqgj79g GxdOk3rnHCrHa84FtMNf4Cm0c1161KAZlFxMO5yxgLAWkAkbP4WhJ6HpLF7hQ0hx IpA8IE3YI68da/79As2Ov/0TFMxI2hj+G8VQs/ylvBvYL5hx0AHUi7IZQp4xvYj6 7zzy3dKNNA6z2FL061nWmxfqoOMpFJgnKwGZo0LhBCczDtKWIVq2y+E5W5ZYxCZA a2NXrbkqACm7kOvXSynEOrWZmvVIaRM6S4hY8aHC3yAcs8LXuGAJvlIkBjCOIjqi jKBDq5t2yNsEftS2KCq/+Dc9DSwkiZ8L4LrgQo/VJrraumSALiI=
=llPi
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)