Uploaded image for project: 'Qpid JMS'
  1. Qpid JMS
  2. QPIDJMS-314

AssertionError from Netty during cleanup of Epoll channel with SO_LINGER configured

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 0.24.0, 0.25.0
    • Fix Version/s: 0.26.0
    • Component/s: qpid-jms-client
    • Labels:
      None

      Description

      I have a test suite which sometimes causes qpid-jms to die on AssertionError from netty. Rerunning the single failing test does not seem to reproduce it, I have to run the whole suite.

      First, start a broker. I am using ActiveMQ Artemis. The travis build uses a docker image with the broker. Then run the test suite in a loop, until it fails.

      git clone git@github.com:jdanekrh/cli-java.git
      cd cli-java/
      git checkout jd_code_push
      
      ret=0
      while [[ ret -eq 0 ]]; do mvn test; ret=$?; done
      

      Here is log from when it failed in Travis, https://travis-ci.org/rh-messaging-qe/cli-java/jobs/267185207

      I do not know how to debug this (it never happened when I was running it under debugger). Also, even if I could get it in a debugger, I would not know what to do next.

      The relevant part of maven output is

      [...]
      Receiving: 6,1,sendAndReceiveWithAllSenderCLISwitches(String),sendAndReceiveWithAllSenderCLISwitches(String),null,null,null
      15:36:17.444Connecting: 1 0 1
      15:36:17.515Sending: {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, 'delivery-count': 0, 'redelivered': False, 'id': 'ID:aConnIdPrefix32a68f56-629b-4111-a36c-aede9135c52c:1:1:1-1', 'user_id': None, 'address': 'lalaLand_l6o9ghgpom4jmu15cln21gpoi5', 'subject': None, 'reply_to': None, 'correlation_id': None, 'content_type': None, 'content_encoding': None, 'absolute-expiry-time': 0, 'creation-time': 1503408977545, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {'JMSXDeliveryCount': 1}, 'content': None}
      Tests run: 21, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 10.384 sec <<< FAILURE! - in AacMainTest
      sendAndReceiveWithAllSenderCLISwitches(String)  Time elapsed: 0.336 sec  <<< FAILURE!
      java.lang.AssertionError
              at io.netty.channel.epoll.EpollEventLoop.remove(EpollEventLoop.java:159)
              at io.netty.channel.epoll.AbstractEpollChannel.doDeregister(AbstractEpollChannel.java:142)
              at io.netty.channel.epoll.AbstractEpollChannel.doClose(AbstractEpollChannel.java:118)
              at io.netty.channel.epoll.AbstractEpollStreamChannel.doClose(AbstractEpollStreamChannel.java:703)
              at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:685)
              at io.netty.channel.AbstractChannel$AbstractUnsafe.access$700(AbstractChannel.java:419)
              at io.netty.channel.AbstractChannel$AbstractUnsafe$5.run(AbstractChannel.java:646)
              at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:233)
              at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
              at java.lang.Thread.run(Thread.java:748)
      
      sendAndReceiveSingleMessage()  Time elapsed: 0.049 sec  <<< FAILURE!
      java.lang.AssertionError
              at io.netty.channel.epoll.EpollEventLoop.remove(EpollEventLoop.java:159)
              at io.netty.channel.epoll.AbstractEpollChannel.doDeregister(AbstractEpollChannel.java:142)
              at io.netty.channel.epoll.AbstractEpollChannel.doClose(AbstractEpollChannel.java:118)
              at io.netty.channel.epoll.AbstractEpollStreamChannel.doClose(AbstractEpollStreamChannel.java:703)
              at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:685)
              at io.netty.channel.AbstractChannel$AbstractUnsafe.access$700(AbstractChannel.java:419)
              at io.netty.channel.AbstractChannel$AbstractUnsafe$5.run(AbstractChannel.java:646)
              at io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:233)
              at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
              at java.lang.Thread.run(Thread.java:748)
      
      
      Results :
      
      Failed tests: 
        AbstractMainTest.sendAndReceiveSingleMessage
      sendAndReceiveWithAllSenderCLISwitches(String).sendAndReceiveWithAllSenderCLISwitches(String)
        Run 1: PASS
        Run 2: PASS
        Run 3: PASS
        Run 4: PASS
        Run 5: PASS
        Run 6: PASS
        Run 7: AbstractMainTest.sendAndReceiveWithAllSenderCLISwitches
        Run 8: PASS
        Run 9: PASS
        Run 10: PASS
        Run 11: PASS
      
      
      Tests run: 11, Failures: 2, Errors: 0, Skipped: 0
      
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Summary:
      [INFO] 
      [INFO] bom ................................................ SUCCESS [  0.002 s]
      [INFO] parent ............................................. SUCCESS [  0.915 s]
      [INFO] tests .............................................. SUCCESS [  7.428 s]
      [INFO] jmslib ............................................. SUCCESS [  0.038 s]
      [INFO] cli-activemq ....................................... SUCCESS [ 13.471 s]
      [INFO] cli-artemis-jms .................................... SUCCESS [ 10.811 s]
      [INFO] cli-qpid-jms ....................................... FAILURE [ 11.982 s]
      [INFO] cli-java ........................................... SKIPPED
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 44.964 s
      [INFO] Finished at: 2017-08-22T15:36:17+02:00
      [INFO] Final Memory: 32M/490M
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project cli-qpid-jms: There are test failures.
      [ERROR] 
      [ERROR] Please refer to /home/jdanek/Work/repos/tmp/cli-java/cli-qpid-jms/target/surefire-reports for the individual test results.
      [ERROR] -> [Help 1]
      [ERROR] 
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR] 
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
      [ERROR] 
      [ERROR] After correcting the problems, you can resume the build with the command
      [ERROR]   mvn <goals> -rf :cli-qpid-jms
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                robbie Robbie Gemmell
                Reporter:
                jdanek Jiri Daněk
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: