[
https://issues.apache.org/jira/browse/QPIDJMS-609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rakhesh updated QPIDJMS-609:
----------------------------
Description:
We're experiencing a *blocking hang* when calling {{setClientID()}} on a newly
created JMS connection. The call *never returns* and the thread remains stuck
in a {*}WAITING state{*}, with {*}no further AMQP activity observed{*}.
Repro code:
{code:java}
JmsConnection conn = (JmsConnection) factory.createConnection();
conn.setClientID("my-client-id"); // hangs indefinitely here{code}
Thread dump:
{code:java}
"thread name custom" #101 [214] prio=5 os_prio=0 cpu=88.60ms elapsed=1646.32s
tid=0x00007f462c03be80 nid=214 in Object.wait() [0x00007f45b37f6000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait0([email protected]/Native Method)
- waiting on <0x00000000d80f8378> (a
org.apache.qpid.jms.provider.BalancedProviderFuture)
at java.lang.Object.wait([email protected]/Object.java:366)
at java.lang.Object.wait([email protected]/Object.java:339)
at
org.apache.qpid.jms.provider.BalancedProviderFuture.sync(BalancedProviderFuture.java:136)
- locked <0x00000000d80f8378> (a
org.apache.qpid.jms.provider.BalancedProviderFuture)
at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:693)
at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:682)
at
org.apache.qpid.jms.JmsConnection.createJmsConnection(JmsConnection.java:593)
- locked <0x00000000d80f5d58> (a org.apache.qpid.jms.meta.JmsConnectionInfo)
at org.apache.qpid.jms.JmsConnection.setClientID(JmsConnection.java:353){code}
h3. *Logs & Observations:*
* {{PN_TRACE_FRM=1}} is set — *only {{-> SASL}} frames are printed* repeatedly.
* No {{{}OPEN{}}}, {{{}BEGIN{}}}, or other frames are exchanged post-SASL.
* No logs from {{io.netty}} or {{org.apache.qpid}} even after setting level to
{{{}TRACE{}}}.
* Upgrading to {{2.7.0+}} doesn't resolve the issue either.
h3. *Expected Behavior:*
{{setClientID()}} should either:
* Complete successfully when broker responds
* Or fail with a timeout/error if handshake fails
h3. *Actual Behavior:*
* Hangs forever — appears to be waiting for a remote peer response that never
arrives.
* All consumer threads waiting on {{getConnectionPoolSize()}} also block due
to this.
was:
We're experiencing a *blocking hang* when calling {{setClientID()}} on a newly
created JMS connection. The call *never returns* and the thread remains stuck
in a {*}WAITING state{*}, with {*}no further AMQP activity observed{*}.
Repro code:
{code:java}
JmsConnection conn = (JmsConnection) factory.createConnection();
conn.setClientID("my-client-id"); // hangs indefinitely here{code}
Thread dump:
{code:java}
"custom-thread" #101
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <BalancedProviderFuture>
at
org.apache.qpid.jms.provider.BalancedProviderFuture.sync(BalancedProviderFuture.java:136)
at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:693)
at
org.apache.qpid.jms.JmsConnection.createJmsConnection(JmsConnection.java:593)
at
org.apache.qpid.jms.JmsConnection.setClientID(JmsConnection.java:353){code}
h3. *Logs & Observations:*
* {{PN_TRACE_FRM=1}} is set — *only {{-> SASL}} frames are printed* repeatedly.
* No {{{}OPEN{}}}, {{{}BEGIN{}}}, or other frames are exchanged post-SASL.
* No logs from {{io.netty}} or {{org.apache.qpid}} even after setting level to
{{{}TRACE{}}}.
* Upgrading to {{2.7.0+}} doesn't resolve the issue either.
h3. *Expected Behavior:*
{{setClientID()}} should either:
* Complete successfully when broker responds
* Or fail with a timeout/error if handshake fails
h3. *Actual Behavior:*
* Hangs forever — appears to be waiting for a remote peer response that never
arrives.
* All consumer threads waiting on {{getConnectionPoolSize()}} also block due
to this.
> Qpid JMS 2.3.0: setClientID() Hangs Indefinitely at
> BalancedProviderFuture.sync()
> ----------------------------------------------------------------------------------
>
> Key: QPIDJMS-609
> URL: https://issues.apache.org/jira/browse/QPIDJMS-609
> Project: Qpid JMS
> Issue Type: Bug
> Components: qpid-jms-client
> Environment: * {*}Qpid JMS Client Version{*}: {{2.3.0}}
> * {*}Broker{*}: ActiveMQ {{6.1.4}} (AMQP 1.0)
> * {*}Java Version{*}: Amazon Corretto JDK 21
> Reporter: Rakhesh
> Priority: Major
>
> We're experiencing a *blocking hang* when calling {{setClientID()}} on a
> newly created JMS connection. The call *never returns* and the thread remains
> stuck in a {*}WAITING state{*}, with {*}no further AMQP activity observed{*}.
> Repro code:
> {code:java}
> JmsConnection conn = (JmsConnection) factory.createConnection();
> conn.setClientID("my-client-id"); // hangs indefinitely here{code}
> Thread dump:
> {code:java}
> "thread name custom" #101 [214] prio=5 os_prio=0 cpu=88.60ms elapsed=1646.32s
> tid=0x00007f462c03be80 nid=214 in Object.wait() [0x00007f45b37f6000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait0([email protected]/Native Method)
> - waiting on <0x00000000d80f8378> (a
> org.apache.qpid.jms.provider.BalancedProviderFuture)
> at java.lang.Object.wait([email protected]/Object.java:366)
> at java.lang.Object.wait([email protected]/Object.java:339)
> at
> org.apache.qpid.jms.provider.BalancedProviderFuture.sync(BalancedProviderFuture.java:136)
> - locked <0x00000000d80f8378> (a
> org.apache.qpid.jms.provider.BalancedProviderFuture)
> at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:693)
> at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:682)
> at
> org.apache.qpid.jms.JmsConnection.createJmsConnection(JmsConnection.java:593)
> - locked <0x00000000d80f5d58> (a org.apache.qpid.jms.meta.JmsConnectionInfo)
> at
> org.apache.qpid.jms.JmsConnection.setClientID(JmsConnection.java:353){code}
>
> h3. *Logs & Observations:*
> * {{PN_TRACE_FRM=1}} is set — *only {{-> SASL}} frames are printed*
> repeatedly.
> * No {{{}OPEN{}}}, {{{}BEGIN{}}}, or other frames are exchanged post-SASL.
> * No logs from {{io.netty}} or {{org.apache.qpid}} even after setting level
> to {{{}TRACE{}}}.
> * Upgrading to {{2.7.0+}} doesn't resolve the issue either.
>
> h3. *Expected Behavior:*
> {{setClientID()}} should either:
> * Complete successfully when broker responds
> * Or fail with a timeout/error if handshake fails
> h3. *Actual Behavior:*
> * Hangs forever — appears to be waiting for a remote peer response that
> never arrives.
> * All consumer threads waiting on {{getConnectionPoolSize()}} also block due
> to this.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]