RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 612285 - Thread safety issue - Session::createSender hangs when another thread calls nextReceiver
Summary: Thread safety issue - Session::createSender hangs when another thread calls n...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qpid-cpp
Version: 6.0
Hardware: All
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Kim van der Riet
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On: 611847
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-07 18:50 UTC by Ted Ross
Modified: 2010-11-10 21:27 UTC (History)
4 users (show)

Fixed In Version: qpid-cpp-0.7.946106-4
Doc Type: Bug Fix
Doc Text:
Clone Of: 611847
Environment:
Last Closed: 2010-11-10 21:27:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Ted Ross 2010-07-07 18:50:22 UTC
+++ This bug was initially created as a clone of Bug #611847 +++

Description of problem:

In a multi-threaded test where one thread loops on Session::nextReceiver and another calls Session::createSender, the call to createSender hangs.

Version-Release number of selected component (if applicable):

RHEL6 snapshot 7

How reproducible:

100%

--- Additional comment from tross on 2010-07-06 12:39:36 EDT ---

pstack output from hanging process:

$ pstack 7602
Thread 3 (Thread 0x7fe5f5ff2910 (LWP 7603)):
#0  0x000000334f6de868 in epoll_wait () from /lib64/libc.so.6
#1  0x00007fe5f6e33fca in qpid::sys::Poller::wait(qpid::sys::Duration) ()
#2  0x00007fe5f6e34639 in qpid::sys::Poller::run() ()
#3  0x00007fe5f6e2aeba in qpid::sys::(anonymous namespace)::runRunnable(void*)
#4  0x000000335020685a in start_thread () from /lib64/libpthread.so.0
#5  0x000000334f6de22d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 2 (Thread 0x7fe5effff910 (LWP 7604)):
#0  0x000000335020b54d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
#1  0x00007fe5f791a5d9 in qpid::sys::Condition::wait(qpid::sys::Mutex&, qpid::sys::AbsTime const&) ()
#2  0x00007fe5f791aa6d in qpid::sys::BlockingQueue<boost::shared_ptr<qpid::framing::FrameSet> >::pop(boost::shared_ptr<qpid::framing::FrameSet>&, qpid::sys::Duration) () from /home/ross/svn/qpid/build-vpath/src/.libs/libqpidmessaging.so.2
#3  0x00007fe5f7917ed8 in qpid::client::amqp0_10::IncomingMessages::wait(qpid::sys::Duration) ()
#4  0x00007fe5f791833b in qpid::client::amqp0_10::IncomingMessages::getNextDestination(std::string&, qpid::sys::Duration) ()
#5  0x00007fe5f7921014 in qpid::client::amqp0_10::SessionImpl::nextReceiver(qpid::messaging::Receiver&, qpid::messaging::Duration) ()
#6  0x00007fe5f76ac94e in qmf::AgentSessionImpl::run() ()
#7  0x00007fe5f6e2aeba in qpid::sys::(anonymous namespace)::runRunnable(void*)
#8  0x000000335020685a in start_thread () from /lib64/libpthread.so.0
#9  0x000000334f6de22d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7fe5f5ff3790 (LWP 7602)):
#0  0x000000335020d944 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x0000003350208ff0 in _L_lock_1017 () from /lib64/libpthread.so.0
#2  0x0000003350208e51 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007fe5f7921d18 in qpid::client::amqp0_10::SessionImpl::createSenderImpl(qpid::messaging::Address const&) ()
#4  0x00007fe5f7929b20 in bool qpid::client::amqp0_10::SessionImpl::execute<qpid::client::amqp0_10::SessionImpl::CreateSender>(qpid::client::amqp0_10::SessionImpl::CreateSender&) ()
#5  0x00007fe5f792214b in qpid::client::amqp0_10::SessionImpl::createSender(qpid::messaging::Address const&) ()
#6  0x00007fe5f78ffc50 in qpid::messaging::Session::createSender(std::string const&) () from /home/ross/svn/qpid/build-vpath/src/.libs/libqpidmessaging.so.2
#7  0x00007fe5f76ae508 in qmf::AgentSessionImpl::sendHeartbeat() ()
#8  0x00007fe5f76af92f in qmf::AgentSessionImpl::open() ()
#9  0x0000000000401652 in main ()

--- Additional comment from gsim on 2010-07-07 04:56:34 EDT ---

Fixed on trunk (r960951) and in release repo (http://mrg1.lab.bos.redhat.com/git/?p=qpid.git;a=commitdiff;h=22397fbf439ed2d7f61fa50a85439e3998771fdd).

Comment 3 Kim van der Riet 2010-07-15 11:21:41 UTC
Fixed in build qpid-cpp-0.7.946106-4.

Comment 5 releng-rhel@redhat.com 2010-11-10 21:27:48 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.