Bug 607748 - Crash on exit in store cluster tests.
Summary: Crash on exit in store cluster tests.
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp   
(Show other bugs)
Version: Development
Hardware: All
OS: Linux
Target Milestone: 1.3
: ---
Assignee: Alan Conway
QA Contact: MRG Quality Engineering
Depends On:
TreeView+ depends on / blocked
Reported: 2010-06-24 17:39 UTC by Alan Conway
Modified: 2013-02-24 16:38 UTC (History)
2 users (show)

Fixed In Version: 0.10
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-02-24 16:38:04 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
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 18:58 UTC, Alan Conway
aconway: review? (kim.vdriet)
Details | Diff

Description Alan Conway 2010-06-24 17:39:15 UTC
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 18:18:28 UTC
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 18:58:22 UTC
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 18:20:24 UTC
Comitted r4053

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