Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HttpClient Leaks: TrackedBuffer #12880

Open
olamy opened this issue Mar 6, 2025 · 3 comments
Open

HttpClient Leaks: TrackedBuffer #12880

olamy opened this issue Mar 6, 2025 · 3 comments
Labels
Bug For general bugs on Jetty side flaky-test

Comments

@olamy
Copy link
Member

olamy commented Mar 6, 2025

Jetty version(s)
12.1.x

Jetty Environment
N/A

Java version/vendor (use: java -version)

OS type/version

Description

https://jenkins.webtide.net/job/jetty.project/view/change-requests/job/PR-12860/lastCompletedBuild/testReport/

CI Log

Assertion condition defined as a Lambda expression in org.eclipse.jetty.test.client.transport.HttpClientLoadTest Leaks: TrackedBuffer@6f957c07 of 16384 bytes on 2025-03-06T06:17:24.622635646Z wrapping 1 acquired at java.lang.Throwable: client-4484
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.<init>(ArrayByteBufferPool.java:969)
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking.acquire(ArrayByteBufferPool.java:936)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.newNetworkBuffer(HttpConnectionOverFCGI.java:173)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:193)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)

3 retain(s)
java.lang.Throwable: client-4484
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.retain(ArrayByteBufferPool.java:1019)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.retain(ByteBufferChunk.java:166)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.content(HttpReceiverOverFCGI.java:122)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.content(HttpChannelOverFCGI.java:119)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$ResponseListener.onContent(HttpConnectionOverFCGI.java:478)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.notifyContent(ResponseContentParser.java:271)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.parse(ResponseContentParser.java:132)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser.onContent(ResponseContentParser.java:63)
 at org.eclipse.jetty.fcgi.parser.StreamContentParser.parse(StreamContentParser.java:60)
 at org.eclipse.jetty.fcgi.parser.Parser.parse(Parser.java:108)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:236)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.read(HttpReceiverOverFCGI.java:86)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.read(HttpReceiver.java:733)
 at org.eclipse.jetty.client.Response$AsyncContentListener.onContentSource(Response.java:195)
 at org.eclipse.jetty.client.transport.ResponseListeners.notifyContentSource(ResponseListeners.java:245)
 at org.eclipse.jetty.client.transport.ResponseListeners.notifyContentSource(ResponseListeners.java:217)
 at org.eclipse.jetty.client.transport.HttpReceiver.lambda$responseHeaders$2(HttpReceiver.java:323)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)
java.lang.Throwable: client-4484
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.retain(ArrayByteBufferPool.java:1019)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.retain(ByteBufferChunk.java:166)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.content(HttpReceiverOverFCGI.java:122)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.content(HttpChannelOverFCGI.java:119)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$ResponseListener.onContent(HttpConnectionOverFCGI.java:478)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.notifyContent(ResponseContentParser.java:271)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.parse(ResponseContentParser.java:132)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser.onContent(ResponseContentParser.java:63)
 at org.eclipse.jetty.fcgi.parser.StreamContentParser.parse(StreamContentParser.java:60)
 at org.eclipse.jetty.fcgi.parser.Parser.parse(Parser.java:108)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:236)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.read(HttpReceiverOverFCGI.java:86)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.processDemand(HttpReceiver.java:798)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)
java.lang.Throwable: client-4484
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.retain(ArrayByteBufferPool.java:1019)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.retain(ByteBufferChunk.java:166)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.content(HttpReceiverOverFCGI.java:122)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.content(HttpChannelOverFCGI.java:119)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$ResponseListener.onContent(HttpConnectionOverFCGI.java:478)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.notifyContent(ResponseContentParser.java:271)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser$ResponseParser.parse(ResponseContentParser.java:132)
 at org.eclipse.jetty.fcgi.parser.ResponseContentParser.onContent(ResponseContentParser.java:63)
 at org.eclipse.jetty.fcgi.parser.StreamContentParser.parse(StreamContentParser.java:60)
 at org.eclipse.jetty.fcgi.parser.Parser.parse(Parser.java:108)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:236)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.read(HttpReceiverOverFCGI.java:86)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.processDemand(HttpReceiver.java:798)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)

3 release(s)
java.lang.Throwable
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.release(ArrayByteBufferPool.java:1034)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.release(ByteBufferChunk.java:172)
 at org.eclipse.jetty.client.Response$AsyncContentListener.onContentSource(Response.java:217)
 at org.eclipse.jetty.client.transport.ResponseListeners.notifyContentSource(ResponseListeners.java:245)
 at org.eclipse.jetty.client.transport.ResponseListeners.notifyContentSource(ResponseListeners.java:217)
 at org.eclipse.jetty.client.transport.HttpReceiver.lambda$responseHeaders$2(HttpReceiver.java:323)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)
java.lang.Throwable
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.release(ArrayByteBufferPool.java:1034)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.release(ByteBufferChunk.java:172)
 at org.eclipse.jetty.client.Response$AsyncContentListener.onContentSource(Response.java:217)
 at org.eclipse.jetty.client.Response$AsyncContentListener.lambda$onContentSource$0(Response.java:194)
 at org.eclipse.jetty.util.thread.Invocable$ReadyTask.run(Invocable.java:176)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.invokeDemandCallback(HttpReceiver.java:835)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.processDemand(HttpReceiver.java:816)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)
java.lang.Throwable
 at org.eclipse.jetty.io.ArrayByteBufferPool$Tracking$TrackedBuffer.release(ArrayByteBufferPool.java:1034)
 at org.eclipse.jetty.io.internal.ByteBufferChunk$WithRetainable.release(ByteBufferChunk.java:172)
 at org.eclipse.jetty.client.Response$AsyncContentListener.onContentSource(Response.java:217)
 at org.eclipse.jetty.client.Response$AsyncContentListener.lambda$onContentSource$0(Response.java:194)
 at org.eclipse.jetty.util.thread.Invocable$ReadyTask.run(Invocable.java:176)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.invokeDemandCallback(HttpReceiver.java:835)
 at org.eclipse.jetty.client.transport.HttpReceiver$ContentSource.processDemand(HttpReceiver.java:816)
 at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:273)
 at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:173)
 at org.eclipse.jetty.client.transport.HttpReceiver.responseHeaders(HttpReceiver.java:246)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.responseHeaders(HttpReceiverOverFCGI.java:177)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.responseHeaders(HttpChannelOverFCGI.java:112)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parse(HttpConnectionOverFCGI.java:250)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.parseAndFill(HttpConnectionOverFCGI.java:199)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpReceiverOverFCGI.receive(HttpReceiverOverFCGI.java:45)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpChannelOverFCGI.receive(HttpChannelOverFCGI.java:179)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI.onFillable(HttpConnectionOverFCGI.java:155)
 at org.eclipse.jetty.fcgi.client.transport.internal.HttpConnectionOverFCGI$FillableCallback.succeeded(HttpConnectionOverFCGI.java:517)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
 at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
 at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
 at java.base/java.lang.Thread.run(Thread.java:1575)

0 over-release(s)

Expected: is <0>
     but: was <1> within 5 seconds.
@olamy olamy added Bug For general bugs on Jetty side flaky-test labels Mar 6, 2025
@lorban
Copy link
Contributor

lorban commented Mar 6, 2025

@olamy what is the name of the test that failed?

@olamy
Copy link
Member Author

olamy commented Mar 6, 2025

@olamy what is the name of the test that failed?

correct link https://jenkins.webtide.net/job/jetty.project/view/change-requests/job/PR-12860/7/testReport/

but will be gone once PR merged.

test is org.eclipse.jetty.test.client.transport.HttpClientLoadTest.testIterative(TransportType)[5] FCGI]

@lorban
Copy link
Contributor

lorban commented Mar 7, 2025

I will have a look at this leak, but since this is FCGI, it's not very high on the priority list.

If the failure starts becoming too frequent, you could tag the test with @Tag("DisableLeakTracking:client:FCGI") like any org.eclipse.jetty.test.client.transport.AbstractTest supports. There are still plenty of tests with known leaks that need to be investigated sometime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For general bugs on Jetty side flaky-test
Projects
None yet
Development

No branches or pull requests

2 participants