jetty / jetty.project

Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
https://eclipse.dev/jetty
Other
3.86k stars 1.91k forks source link

ManagedSelector#processUpdates#ConcurrentModificationException #12371

Open huyunduoduo opened 1 month ago

huyunduoduo commented 1 month ago

Jetty version(s) 9.4.52

Jetty Environment

Java version/vendor 1.8.0_201

OS type/version Linux

Description An error log is generated when the service is running for a period of time WARNING:

java.util.ConcurrentModificationException
    at java.util.ArrayDeque$DeqIterator.next(ArrayDeque.java:648)
    at org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processUpdates(ManagedSelector.java:560)
    at org.eclipse.jetty.io.ManagedSelector$SelectorProducer.produce(ManagedSelector.java:539)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:362)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:186)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    at java.lang.Thread.run(Thread.java:748)

At this point, the process still exists, but cannot provide services

Restart the service and restore to normal. About 2 hours later, the exception and symptom occur again

joakime commented 1 month ago

This community support issue on Jetty 9 will not be answered. Jetty 9 is at End of Community Support.

If this happens on a supported version of Jetty (currently Jetty 12) we can help you. If you need to continue to use javax.servlet, the ee8 environment on Jetty 12 still supports that old namespace.