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

Details

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

    Description

      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": {}
      }
      

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: