You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2024-07-29T20:27:41.8354855Z 2024-07-29T19:52:43.928Z WARN http-client-scheduler-512 org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy Task run failed
2024-07-29T20:27:41.8355422Z java.lang.NullPointerException: Cannot invoke "org.eclipse.jetty.client.transport.HttpReceiver$NotifiableContentSource.onDataAvailable()" because "this.contentSource" is null
2024-07-29T20:27:41.8355750Z at org.eclipse.jetty.client.transport.HttpReceiver.responseContentAvailable(HttpReceiver.java:325)
2024-07-29T20:27:41.8356147Z at org.eclipse.jetty.http2.client.transport.internal.HttpReceiverOverHTTP2.lambda$new$0(HttpReceiverOverHTTP2.java:53)
2024-07-29T20:27:41.8356370Z at org.eclipse.jetty.util.thread.Invocable$ReadyTask.run(Invocable.java:105)
2024-07-29T20:27:41.8356731Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
2024-07-29T20:27:41.8357793Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:426)
2024-07-29T20:27:41.8358221Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
2024-07-29T20:27:41.8358723Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:195)
2024-07-29T20:27:41.8358949Z at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:210)
2024-07-29T20:27:41.8359186Z at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:157)
2024-07-29T20:27:41.8359470Z at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:442)
2024-07-29T20:27:41.8359659Z at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
2024-07-29T20:27:41.8359936Z at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
2024-07-29T20:27:41.8360287Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
2024-07-29T20:27:41.8360671Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
2024-07-29T20:27:41.8361206Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
2024-07-29T20:27:41.8361544Z at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
2024-07-29T20:27:41.8361869Z at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
2024-07-29T20:27:41.8362311Z at org.eclipse.jetty.util.thread.MonitoredQueuedThreadPool$1.run(MonitoredQueuedThreadPool.java:73)
2024-07-29T20:27:41.8362557Z at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
2024-07-29T20:27:41.8362835Z at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
2024-07-29T20:27:41.8363097Z at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
2024-07-29T20:27:41.8363240Z at java.base/java.lang.Thread.run(Thread.java:1570)
The text was updated successfully, but these errors were encountered:
sbordet
added
Bug
For general bugs on Jetty side
Sponsored
This issue affects a user with a commercial support agreement
labels
Aug 1, 2024
This seems to be caused by a concurrent interaction between a failure, that would null out the contentSource field, and another thread trying to deliver the "data available" event.
Now also the HttpReceiver.responseContentAvailable() is serialized, so that the access to `this.contentSource` is serialized with failure, and protected by a call to `exchange.isResponseCompleteOrTerminated()`.
Before, it was possible that a thread failed the response, nulling out `this.contentSource`, while another thread was just about to call `responseContentAvailable()` -- this was the case for HTTP/2 in particular, where content is notified asynchronously, rather than being created by a call to `ContentSource.read()`.
Signed-off-by: Simone Bordet <[email protected]>
Jetty version(s)
12
Description
The text was updated successfully, but these errors were encountered: