Skip to content

Fixed race in DeferredAuthenticationTest - #15632

Merged
sbordet merged 2 commits into
jetty-12.1.xfrom
fix/jetty-12.1.x/DeferredAuthenticationTestRace
Aug 28, 2026
Merged

Fixed race in DeferredAuthenticationTest#15632
sbordet merged 2 commits into
jetty-12.1.xfrom
fix/jetty-12.1.x/DeferredAuthenticationTestRace

Cleanups for DeferredAuthenticationTest

5f959bd
Select commit
Loading
Failed to load commit list.
Webtide Jenkins / Tests / Parallel Stage / Build / Test - JDK21 failed Aug 28, 2026 in 0s

org.eclipse.jetty.test.client.transport.RoundRobinConnectionPoolTest.testMultiplexWithMaxUsage(TransportType)[6] FCGI failed

org.eclipse.jetty.test.client.transport.RoundRobinConnectionPoolTest.testMultiplexWithMaxUsage(TransportType)[6] FCGI failed

Details

org.eclipse.jetty.test.client.transport.RoundRobinConnectionPoolTest.testMultiplexWithMaxUsage(TransportType)[6] FCGI

expected: <true> but was: <false>
Stack trace
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:190)
	at org.eclipse.jetty.test.client.transport.RoundRobinConnectionPoolTest.testMultiplexWithMaxUsage(RoundRobinConnectionPoolTest.java:248)
	Suppressed: org.opentest4j.AssertionFailedError: Assertion condition defined as a Lambda expression in org.eclipse.jetty.test.client.transport.AbstractTest Leaks: oeji.ArrayByteBufferPool$Tracking$TrackedBuffer@1078bc3a of 8192 bytes on 2026-08-28T07:34:54.563473471Z wrapping 0
 jn.DirectByteBuffer@581394ac[p=0,l=0,c=8192,r=0]={<<<>>>\x01\x01\x00\x02\x00\x08\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00}
 acquired at java.lang.Throwable: Acquired by server-18163
	at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.<init>(ArrayByteBufferPool.java:1068)
	at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking.acquire(ArrayByteBufferPool.java:1020)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.acquireInputBuffer(ServerFCGIConnection.java:265)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.onFillable(ServerFCGIConnection.java:176)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection$FillableCallback.succeeded(ServerFCGIConnection.java:439)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:196)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1240)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
	at java.base/java.lang.Thread.run(Thread.java:1583)

0 retain(s)

1 release(s)
java.lang.Throwable: Released by server-18163
	at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.release(ArrayByteBufferPool.java:1133)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.releaseInputBuffer(ServerFCGIConnection.java:272)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.onFillable(ServerFCGIConnection.java:193)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection$FillableCallback.succeeded(ServerFCGIConnection.java:439)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:196)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1240)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
	at java.base/java.lang.Thread.run(Thread.java:1583)

1 over-release(s)
java.lang.Throwable: Over-released by server-18170
	at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.release(ArrayByteBufferPool.java:1139)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.releaseInputBuffer(ServerFCGIConnection.java:272)
	at org.eclipse.jetty.fcgi.server.internal.ServerFCGIConnection.onCompleted(ServerFCGIConnection.java:310)
	at org.eclipse.jetty.fcgi.server.internal.HttpStreamOverFCGI.succeeded(HttpStreamOverFCGI.java:341)
	at org.eclipse.jetty.server.internal.HttpChannelState.completeStream(HttpChannelState.java:738)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:836)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1240)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Expected: is <0>
     but: was <1> within 5 seconds.Server Leaks: 
		at org.eclipse.jetty.test.client.transport.AbstractTest.assertNoLeaks(AbstractTest.java:165)
		at org.eclipse.jetty.test.client.transport.AbstractTest.dispose(AbstractTest.java:139)
		at java.base/java.lang.reflect.Method.invoke(Method.java:580)
		at java.base/java.util.Optional.ifPresent(Optional.java:178)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
		at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
		at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
		at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
		at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
		at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
		at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
		at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
		at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
		at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
		at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
		at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
		at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
		at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
		at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
		at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
		at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
		at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
		at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
		at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
		at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
		at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
		at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
		at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
		at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
		at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Standard error
Running org.eclipse.jetty.test.client.transport.HttpClientTest.testConnectionListener([3] H2C)
Running HttpClientTest.testConnectionListener() [3] H2C
2026-08-28 07:35:23.591:WARN :oejusS.config:ForkJoinPool-1-worker-2: Trusting all certificates configured for oejus.SslContextFactory$Client@15a96ea0[provider=null,keyStore=null,trustStore=null]
2026-08-28 07:35:23.591:WARN :oejusS.config:ForkJoinPool-1-worker-2: No Client EndPointIdentificationAlgorithm configured for oejus.SslContextFactory$Client@15a96ea0[provider=null,keyStore=null,trustStore=null]