Bug 620418

Summary: Cluster safe assertion when shutting down broker with unexpired sessions held
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Alan Conway <aconway>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: betaCC: aconway, gbiswell, jross
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-25 10:53:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gordon Sim 2010-08-02 13:33:11 UTC
> #0  0x00002b74a7880265 in raise () from /lib64/libc.so.6
> #1  0x00002b74a7881d10 in abort () from /lib64/libc.so.6
> #2  0x00002b74a67f13d4 in qpid::sys::assertClusterSafe() () from
> /usr/lib64/libqpidcommon.so.3
> #3  0x00002b74a62f2493 in
> qpid::broker::Queue::requeue(qpid::broker::QueuedMessage const&) () from
> /usr/lib64/libqpidbroker.so.3
> #4  0x00002b74a63293de in qpid::broker::SemanticState::recover(bool) () from
> /usr/lib64/libqpidbroker.so.3
> #5  0x00002b74a63298e8 in qpid::broker::SemanticState::closed() () from
> /usr/lib64/libqpidbroker.so.3
> #6  0x00002b74a634718d in qpid::broker::SessionState::~SessionState() ()
> from /usr/lib64/libqpidbroker.so.3
> #7  0x00002b74a63442ae in qpid::broker::SessionManager::~SessionManager() ()
> from /usr/lib64/libqpidbroker.so.3
> #8  0x00002b74a627cb61 in qpid::broker::Broker::~Broker() () from
> /usr/lib64/libqpidbroker.so.3
> #9  0x000000000040942a in ?? ()
> #10 0x00002b74a629ad9e in qpid::broker::Daemon::fork() () from
> /usr/lib64/libqpidbroker.so.3
> #11 0x0000000000406c65 in ?? ()
> #12 0x00000000004055af in std::ios_base::Init::~Init() ()
> #13 0x00002b74a786d994 in __libc_start_main () from /lib64/libc.so.6
> #14 0x0000000000405019 in std::ios_base::Init::~Init() ()
> #15 0x00007fff91dc56d8 in ?? ()
> #16 0x0000000000000000 in ?? ()

Believed caused by JMS client setting non-zero timeout on a session which has some unacknowledged messages held in it, then the broker shutting down.

In the normal case the session would be closed when detached and this would be prevented from happening (see bug 610493). The case above is where the connection has already closed but this does not close the session.

Comment 1 Alan Conway 2010-08-03 15:40:01 UTC
Fixed broker to allow only 0 timeout sessions.
trunk r981933 
http://mrg1.lab.bos.redhat.com/git/?p=qpid.git;a=commitdiff;h=b3c2e154f01e1e6444a89176bf9dd0ec3a71b14b

Comment 2 Alan Conway 2010-08-03 15:40:56 UTC
*** Bug 619759 has been marked as a duplicate of this bug. ***

Comment 3 Alan Conway 2010-08-03 17:43:06 UTC
To reproduce use trunk r979283. Does not occur in any release.

Comment 4 Gordon Sim 2010-08-06 17:36:48 UTC
See also https://bugzilla.redhat.com/show_bug.cgi?id=619765#c12 which I believe really refers to the issue and not 619765.