Resolution: Won't Fix
Affects Version/s: proton-0.7, proton-0.8
Fix Version/s: None
Environment:Red Hat Enterprise Linux 6.5
qpid-proton 0.7 and 9939b8a990cd53c1b5e099c083bdcf61ad22232b git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/trunk@1613151 13f79535-47bb-0310-9956-ffa450edef68
If I try to connect to a closed port with a messenger, pn_messenger_recv outputs messages to stderr and then spins at high CPU usage, rather than returning with an error as expected.
This seems to be impacted by kernel version. I have a RHEL 6.5 machine which demonstrates this problem reliably when using kernel 2.6.32-431.1.2.el6.x86_64 and not when using 3.10.28-1.el6.elrepo.x86_64 .
This can be easily reproduced using the "recv" example in the qpid-proton sources.
Compare with the behavior on a later kernel version, which seems right:
Here's a sample backtrace when the hang is occurring:
There's a while(true) loop in pn_messenger_tsync which seems like it never escapes. strace also shows that the process is repeatedly doing a poll.