Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-5892

SSL Sender may spuriously timeout if SSL negotiation fails

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.24, 0.26, 0.28
    • Fix Version/s: 0.29
    • Component/s: Broker-J, JMS AMQP 0-x
    • Labels:
      None

      Description

      As highlighted by the occasional failure of SSLTest.testClientCertMissingWhilstWantingAndNeeding on a slower CI box, there is a race condition in SSLSender code. When the race condition manifests the test hangs for 60s then produces a timeout exception (SSL Engine timed out), rather than the expected (Received fatal alert: bad_certificate).

      I can reproduce this issue on 0.24, 0.26, and 0.28. I haven't tried < 0.24, but suspect this issue is probably longstanding.

      org.apache.qpid.transport.SenderException: SSL Engine timed out waiting for a response.To get more info,run with -Djavax.net.debug=ssl
              at org.apache.qpid.transport.network.security.ssl.SSLSender.send(SSLSender.java:229)
              at org.apache.qpid.transport.network.security.ssl.SSLSender.send(SSLSender.java:35)
              at org.apache.qpid.transport.network.Disassembler.init(Disassembler.java:160)
              at org.apache.qpid.transport.network.Disassembler.init(Disassembler.java:48)
              at org.apache.qpid.transport.ProtocolHeader.delegate(ProtocolHeader.java:110)
              at org.apache.qpid.transport.network.Disassembler.send(Disassembler.java:73)
              at org.apache.qpid.transport.network.Disassembler.send(Disassembler.java:48)
              at org.apache.qpid.transport.Connection.send(Connection.java:407)
              at org.apache.qpid.transport.Connection.connect(Connection.java:246)
              at org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:221)
              at org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:620)
              at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:399)
              at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:155)
              at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:134)
              at org.apache.qpid.test.utils.QpidBrokerTestCase.getConnection(QpidBrokerTestCase.java:1124)
              at org.apache.qpid.client.ssl.SSLTest.missingClientCertWhileNeedingOrWantingTestImpl(SSLTest.java:326)
              at org.apache.qpid.client.ssl.SSLTest.testClientCertMissingWhilstWantingAndNeeding(SSLTest.java:306)
      

        Attachments

          Activity

            People

            • Assignee:
              orudyy Alex Rudyy
              Reporter:
              kwall Keith Wall
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: