Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4135

Bug in stomp+nio+ssl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.6.0, 5.7.0, 5.8.0
    • 5.9.0
    • None
    • None

    Description

      We have seen a new bug in the stomp+nio+ssl connector (reproducible), the same error has been seen with stomp+ssl as well (not reproducible for now).

      Setup:

      • one producer send ~10000 as N messages of different sizes to a queue
      • different sequential consumers (> 3) consume 1/Nth of the messages from the queue

      The unit test provided add a test to StompLoadTest, with this new test:

      • StompLoadTest always succeed
      • StompSSLLoadTest succeeded but we noticed bad record MAC error in a deployed broker
      • StompNIOSSLLoadTest always fails with one of the two exceptions reported below
      testStompSlice(org.apache.activemq.transport.stomp.StompNIOSSLLoadTest)  Time elapsed: 13.551 sec  <<< ERROR!
      javax.net.ssl.SSLException: Invalid padding
              at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
              at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1902)
              at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:981)
              at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
              at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
              at sun.security.ssl.AppInputStream.read(AppInputStream.java:69)
              at java.io.DataInputStream.readByte(DataInputStream.java:265)
              at org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:123)
              at org.apache.activemq.transport.stomp.StompConnection.receive(StompConnection.java:77)
              at org.apache.activemq.transport.stomp.StompLoadTest.testStompSlice(StompLoadTest.java:261)
      
      testStompSlice(org.apache.activemq.transport.stomp.StompNIOSSLLoadTest)  Time elapsed: 14.86 sec  <<< ERROR!
      javax.net.ssl.SSLException: bad record MAC
              at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
              at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1902)
              at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1855)
              at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:988)
              at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
              at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
              at sun.security.ssl.AppInputStream.read(AppInputStream.java:69)
              at java.io.DataInputStream.readByte(DataInputStream.java:265)
              at org.apache.activemq.transport.stomp.StompWireFormat.readHeaderLine(StompWireFormat.java:155)
              at org.apache.activemq.transport.stomp.StompWireFormat.readLine(StompWireFormat.java:148)
              at org.apache.activemq.transport.stomp.StompWireFormat.parseAction(StompWireFormat.java:170)
              at org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:98)
              at org.apache.activemq.transport.stomp.StompConnection.receive(StompConnection.java:77)
              at org.apache.activemq.transport.stomp.StompLoadTest.testStompSlice(StompLoadTest.java:261)
      

      Attachments

        1. StompLoadTest.diff
          5 kB
          Massimo Paladin

        Issue Links

          Activity

            People

              tabish Timothy A. Bish
              mpaladin Massimo Paladin
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: