Massimo Paladin created AMQ-4135: ------------------------------------ Summary: Bug in stomp+nio+ssl Key: AMQ-4135 URL: https://issues.apache.org/jira/browse/AMQ-4135 Project: ActiveMQ Issue Type: Bug Reporter: Massimo Paladin Attachments: StompLoadTest.diff
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 {noformat} 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) {noformat} {noformat} 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) {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira