]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: destroy MonitorDBStore before g_ceph_context
authorSage Weil <sage@inktank.com>
Fri, 31 May 2013 04:43:50 +0000 (21:43 -0700)
committerSage Weil <sage@inktank.com>
Fri, 31 May 2013 04:43:50 +0000 (21:43 -0700)
commitdf2d06db6f3f7e858bdadcc8cd2b0ade432df413
treefe81c66cafb6cb077714972192dba3dfb90c9b2e
parentcf9aa7a0037e56eada8b3c1bb59d59d0bfe7bba5
mon: destroy MonitorDBStore before g_ceph_context

Put it on the heap so that we can destroy it before the g_ceph_context
cct that it references.  This fixes a crash like

*** Caught signal (Segmentation fault) **
in thread 4034a80
ceph version 0.63-204-gcf9aa7a (cf9aa7a0037e56eada8b3c1bb59d59d0bfe7bba5)
1: ceph-mon() [0x59932a]
2: (()+0xfcb0) [0x4e41cb0]
3: (Mutex::Lock(bool)+0x1b) [0x6235bb]
4: (PerfCountersCollection::remove(PerfCounters*)+0x27) [0x6a0877]
5: (LevelDBStore::~LevelDBStore()+0x1b) [0x582b2b]
6: (LevelDBStore::~LevelDBStore()+0x9) [0x582da9]
7: (main()+0x1386) [0x48db16]
8: (__libc_start_main()+0xed) [0x658076d]
9: ceph-mon() [0x4909ad]

Signed-off-by: Sage Weil <sage@inktank.com>
src/ceph_mon.cc