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

ee9 / UnsupportedOperationException: Read Only #12603

Open
joakime opened this issue Dec 2, 2024 · 4 comments · May be fixed by #12606
Open

ee9 / UnsupportedOperationException: Read Only #12603

joakime opened this issue Dec 2, 2024 · 4 comments · May be 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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	|	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	|	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:566)
	|	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	|	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	|	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	|	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	|	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	|	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	|	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	|	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	|	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 [email protected]/org.eclipse.jetty.server.internal.ResponseHttpFields$1.remove(ResponseHttpFields.java:153)
	at [email protected]/org.eclipse.jetty.ee9.nested.Response.resetContent(Response.java:1249)
	at [email protected]/org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:532)
	at [email protected]/org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2873)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at [email protected]/org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
	at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:182)
	at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at [email protected]/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at [email protected]/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 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
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 High Priority Sponsored This issue affects a user with a commercial support agreement
Projects
Status: 🏗 In progress
Status: 🏗 In progress
Development

Successfully merging a pull request may close this issue.

3 participants