Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-3919

Websockets - java.util.ConcurrentModificationException when running autobahn 7.1.5 test

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.0.0.CR1
    • 7.0.0.ER7
    • Undertow
    • None

      When sending fragment, then close and then another fragment, it fails with unclean close code, even though it should return 1000. In server log there can be seen ConcurrentModificationException [1]

      This is regression in comparison to EAP 7.0.0.ER6 and this error occurs when running standard testsuite used commonly for websockets testing (autobahn testsuite, testcase 7.1.5 [2]). As such we are considering it to be a blocker.

      Steps to reproduce:

      1. start EAP 7.0.0.ER7
      2. deploy attached websocket-endpoints.war
      3. run autobahn testsuite test 7.1.5 (wstest -m fuzzingclient -s fuzzing_client_spec.json, where fuzzing_client_spec.json contains [3]
      4. see server log and autobahn test report, where you can see it fails on getting clean close code

      [1]

      12:13:39,642 ERROR [org.xnio.listener] (default I/O-4) XNIO001007: A channel event listener threw an exception: java.util.ConcurrentModificationException
      	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
      	at java.util.HashMap$KeyIterator.next(HashMap.java:1453)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel.handleLastFrame(AbstractFramedChannel.java:489)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel.receive(AbstractFramedChannel.java:451)
      	at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:38)
      	at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:896)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:877)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1.run(AbstractFramedChannel.java:903)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$3.run(AbstractFramedChannel.java:225)
      	at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:580)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:464)
      
      12:13:39,648 ERROR [stderr] (default task-3) WebSockets error message detected: null
      12:13:39,649 ERROR [stderr] (default task-3) java.nio.channels.ClosedChannelException
      12:13:39,649 ERROR [stderr] (default task-3) 	at io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.beforeRead(AbstractFramedStreamSourceChannel.java:515)
      12:13:39,649 ERROR [stderr] (default task-3) 	at io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.read(AbstractFramedStreamSourceChannel.java:484)
      12:13:39,650 ERROR [stderr] (default task-3) 	at io.undertow.websockets.core.StreamSourceFrameChannel.read(StreamSourceFrameChannel.java:157)
      12:13:39,650 ERROR [stderr] (default task-3) 	at io.undertow.websockets.core.BufferedTextMessage$1.handleEvent(BufferedTextMessage.java:126)
      12:13:39,650 ERROR [stderr] (default task-3) 	at io.undertow.websockets.core.BufferedTextMessage$1.handleEvent(BufferedTextMessage.java:115)
      12:13:39,650 ERROR [stderr] (default task-3) 	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      12:13:39,650 ERROR [stderr] (default task-3) 	at io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel$1.run(AbstractFramedStreamSourceChannel.java:273)
      12:13:39,650 ERROR [stderr] (default task-3) 	at io.undertow.server.protocol.framed.AbstractFramedChannel$3.run(AbstractFramedChannel.java:225)
      12:13:39,651 ERROR [stderr] (default task-3) 	at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:580)
      12:13:39,651 ERROR [stderr] (default task-3) 	at org.xnio.nio.WorkerThread.run(WorkerThread.java:464)
      

      [2] Used autobahn versions
      Autobahn 0.9.3-3
      AutobahnTestSuite 0.7.1

      [3] spec file for autobahn wstest

      {
        "options": {"failByDrop": false},
        "outdir": "./reports",
        "servers": [
          { "agent": "echoBasicEndpoint",
            "url": "ws://localhost:8080/websocket-endpoints/echoBasicEndpoint",
            "options": {"version": 18}
          }
        ],
        "cases": ["7.1.5"],
        "exclude-cases": [],
        "exclude-agent-cases": {}
      }
      

            sdouglas1@redhat.com Stuart Douglas
            rhatlapa@redhat.com Radim Hatlapatka (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: