You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Timothy A. Bish (Jira)" <ji...@apache.org> on 2025/06/18 18:53:00 UTC
[jira] [Closed] (QPIDJMS-609) Qpid JMS 2.3.0: setClientID() Hangs Indefinitely at BalancedProviderFuture.sync()
[ https://issues.apache.org/jira/browse/QPIDJMS-609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy A. Bish closed QPIDJMS-609.
-----------------------------------
Resolution: Information Provided
> 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(java.base@21.0.7/Native Method)
> - waiting on <0x00000000d80f8378> (a org.apache.qpid.jms.provider.BalancedProviderFuture)
> at java.lang.Object.wait(java.base@21.0.7/Object.java:366)
> at java.lang.Object.wait(java.base@21.0.7/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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org