Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-931

UnsupportedOperationException in ChannelUpgradeHandler.removeProtocol

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 2.0.0.Beta1, 1.4.8.Final
    • 1.4.7.Final
    • Core
    • None

      When ChannelUpgradeHandler.removeProtocol() is called, it raises an UnsupportedOperationException:

      11:43:25,626 WARN  [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000004: Failure during stop of service jboss.messaging-activemq.http-upgrade-service
      .http-acceptor-throughput.legacy: java.lang.UnsupportedOperationException
              at java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1176) [rt.jar:1.8.0_112]
              at io.undertow.server.handlers.ChannelUpgradeHandler.removeProtocol(ChannelUpgradeHandler.java:160)
              at org.wildfly.extension.messaging.activemq.HTTPUpgradeService.stop(HTTPUpgradeService.java:177)
              at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2071) [jboss-msc-1.2.7.Final-redhat-1.jar:1.2.7.Final-red
      hat-1]
              at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2032) [jboss-msc-1.2.7.Final-redhat-1.jar:1.2.7.Final-redhat-1]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_112]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_112]
              at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_112]
      

      The holders list is a CopyOnWriteArrayList and its iterator does not allow to call remove().

              jmesnil1@redhat.com Jeff Mesnil
              jmesnil1@redhat.com Jeff Mesnil
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: