Skip to content
New issue

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

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

Already on GitHub? # to your account

ee9 / UnsupportedOperationException: Read Only #12603

Closed
joakime opened this issue Dec 2, 2024 · 4 comments · Fixed by #12606
Closed

ee9 / UnsupportedOperationException: Read Only #12603

joakime opened this issue Dec 2, 2024 · 4 comments · Fixed by #12606
Assignees
Labels
Bug For general bugs on Jetty side High Priority Sponsored This issue affects a user with a commercial support agreement

Comments

@joakime
Copy link
Contributor

joakime commented Dec 2, 2024

Jetty version(s)
12.0.x HEAD

Jetty Environment
ee9 (but might exist in others too)

Java version/vendor (use: java -version)
Adoptium 21

OS type/version
Linux

Description
An exception seen during build ...

2024-12-03 07:01:38.656:WARN :oejen.HttpChannel:qtp1727361096-31: /context/resourceServlet/content.txt
java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
Suppressed: 
	|java.lang.UnsupportedOperationException: Read Only
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	|	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	|	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:566)
	|	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	|	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	|	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	|	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	|	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	|	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	|	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	|	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	|	at java.base/java.lang.Thread.run(Thread.java:1570)

Edit: gregw - confirmed it is in 12.0.x

@joakime joakime added the Bug For general bugs on Jetty side label Dec 2, 2024
@gregw
Copy link
Contributor

gregw commented Dec 2, 2024

There appears to be a suppressed exception loop which is not logged:

java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
java.lang.UnsupportedOperationException: Read Only
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at org.eclipse.jetty.ee9.nested@12.0.15-SNAPSHOT/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server@12.0.15-SNAPSHOT/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io@12.0.15-SNAPSHOT/org.eclipse.jetty.io.ByteArrayEndPoint.lambda$new$0(ByteArrayEndPoint.java:58)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:1570)
        etc.

@joakime
Copy link
Contributor Author

joakime commented Dec 2, 2024

It showed up as a WARN level logging to me.

@janbartel
Copy link
Contributor

I have not been able to reproduce in ee10, so looks like it is confined to ee8/9.

@gregw
Copy link
Contributor

gregw commented Dec 2, 2024

It showed up as a WARN level logging to me.

Yes I see that, but behind that there is a nasty exception loop as well.

gregw added a commit that referenced this issue Dec 3, 2024
Fixed #12603 Errors logged after cross context dispatch:
 + Update bytes written in HttpOutput when bypassed by optimization
 + abort if error dispatch throws
@gregw gregw added High Priority Sponsored This issue affects a user with a commercial support agreement labels Dec 3, 2024
@joakime joakime moved this to 🏗 In progress in Jetty 12.0.17 - FROZEN Dec 3, 2024
@joakime joakime removed this from Jetty 12.1.0 Dec 3, 2024
@joakime joakime moved this to 🏗 In progress in Jetty 12.1.0 Dec 3, 2024
@joakime joakime closed this as completed in a3f6bda Dec 5, 2024
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Jetty 12.0.17 - FROZEN Dec 5, 2024
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Jetty 12.1.0 Dec 5, 2024
gregw added a commit that referenced this issue Dec 12, 2024
gregw added a commit that referenced this issue Dec 14, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Bug For general bugs on Jetty side High Priority Sponsored This issue affects a user with a commercial support agreement
Projects
Status: ✅ Done
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

3 participants