Bug 607748 - Crash on exit in store cluster tests.
Crash on exit in store cluster tests.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
All Linux
medium Severity medium
: 1.3
: ---
Assigned To: Alan Conway
MRG Quality Engineering
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-24 13:39 EDT by Alan Conway
Modified: 2013-02-24 11:38 EST (History)
2 users (show)

See Also:
Fixed In Version: 0.10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-24 11:38:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Have the store use the broker's timer. (19.10 KB, patch)
2010-06-24 14:58 EDT, Alan Conway
aconway: review? (kim.vdriet)
Details | Diff

  None (edit)
Description Alan Conway 2010-06-24 13:39:15 EDT
Description of problem:

Running the store cluster tests frequently leaves a core dump from a crash during exit

Version-Release number of selected component (if applicable):
store rev 4046
qpid rev 957640

How reproducible: easy


Steps to Reproduce:
In store tree
 cd tests/cluster
 make check
look for core files, repeat as needed. I'm seeing cores almost every time.
  
Actual results: crashes during exit

Expected results: no crashes.
Comment 1 Alan Conway 2010-06-24 14:18:28 EDT
I'm reproducing this on MRG5, it doesn't reproduce for me on on Fedora 12.

This is an order-of-static-destructors problem. The static_lock defined in JournalImpl.cpp can be destroyed before the broker destructor runs, which destroys JournalImpl which tries to take the static_lock.
Comment 2 Alan Conway 2010-06-24 14:58:22 EDT
Created attachment 426683 [details]
Have the store use the broker's timer.

Attached patch has the store use the broker's timer. This ensures orderly shut down as the brokers destructor will destroy the store first and then the timer. Its also slightly more efficient as there is now a single timer thread in the broker rather than separate threads for broker and store events.
Comment 3 Alan Conway 2010-06-28 14:20:24 EDT
Comitted r4053

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