[ 
https://issues.apache.org/jira/browse/AMQ-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krzysztof Olszewski closed AMQ-3759.
------------------------------------

    Resolution: Not A Problem
    
> ActiveMQConnectionFactory blocks in case of ssl
> -----------------------------------------------
>
>                 Key: AMQ-3759
>                 URL: https://issues.apache.org/jira/browse/AMQ-3759
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.4.3, 5.5.1
>            Reporter: Krzysztof Olszewski
>         Attachments: ConnectionFactoryTest.java, 
> ConnectionFactoryWithSslContextTest.java
>
>
> When ActiveMQConnectionFactory is used to create connection to broker using 
> SSL the thread becomes blocked (waiting infinite on 
> SocketInputStream#socketRead0).
> Stacktrace:
> "ActiveMQ Transport: ssl://localhost/127.0.0.1:9099" prio=6 
> tid=0x0000000006105000 nid=0x463c waiting for monitor entry 
> [0x0000000008a2f000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>       at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown 
> Source)
>       - waiting to lock <0x000000078219d8f8> (a java.lang.Object)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown 
> Source)
>       at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
>       - locked <0x000000078219d9d0> (a 
> com.sun.net.ssl.internal.ssl.AppInputStream)
>       at 
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport$2.fill(TcpTransport.java:576)
>       at 
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport$2.read(TcpTransport.java:561)
>       at java.io.DataInputStream.readInt(Unknown Source)
>       at 
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:227)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
>       at java.lang.Thread.run(Unknown Source)
> "Thread-4" prio=6 tid=0x0000000006103800 nid=0x2bb8 runnable 
> [0x000000000872e000]
>    java.lang.Thread.State: RUNNABLE
>       at java.net.SocketInputStream.socketRead0(Native Method)
>       at java.net.SocketInputStream.read(Unknown Source)
>       at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
>       at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
>       - locked <0x00000007821b14c8> (a java.lang.Object)
>       at 
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown 
> Source)
>       - locked <0x000000078219d8f8> (a java.lang.Object)
>       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown 
> Source)
>       at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
>       - locked <0x00000007821a2a60> (a 
> com.sun.net.ssl.internal.ssl.AppOutputStream)
>       at 
> org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115)
>       at java.io.DataOutputStream.flush(Unknown Source)
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:182)
>       at 
> org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:254)
>       - locked <0x00000007821a2898> (a 
> java.util.concurrent.atomic.AtomicBoolean)
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:168)
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.sendWireFormat(WireFormatNegotiator.java:84)
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:74)
>       at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
>       at 
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.java:58)
>       at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:266)
>       at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
>       at 
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)
>       at 
> org.apache.activemq.broker.test.SslDeadlockTest.sendMsg(SslDeadlockTest.java:53)
>       at 
> org.apache.activemq.broker.test.SslDeadlockTest.testFail(SslDeadlockTest.java:41)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at 
> org.junit.internal.runners.statements.FailOnTimeout$1.run(FailOnTimeout.java:28)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to