Bug #1512
C++ destructor issues in CompatSet::FeatureSet::~FeatureSet
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
rbd tool is crashing on exit().
cmccabe@metropolis:~/ceph2/src$ ./rbd ls testimage *** Caught signal (Segmentation fault) ** in thread 0x7f2c44333720 ceph version 0.34-445-g22867fe (commit:22867fedcca3a7f35c6fced3d363306309b40673) 1: (ceph::BackTrace::BackTrace(int)+0x2d) [0x589dab] 2: /home/cmccabe/ceph2/src/.libs/lt-rbd() [0x589b26] 3: (()+0xef60) [0x7f2c435dff60] 4: (std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::string>, std::_Select1st<std::pair<unsigned long const, std::string> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::string> > >::_S_right(std::_Rb_tree_node_base*)+0xc) [0x6670a0] 5: (std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::string>, std::_Select1st<std::pair<unsigned long const, std::string> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::string> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, std::string> >*)+0x1e) [0x65728c] 6: (std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::string>, std::_Select1st<std::pair<unsigned long const, std::string> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::string> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, std::string> >*)+0x30) [0x65729e] 7: (std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::string>, std::_Select1st<std::pair<unsigned long const, std::string> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::string> > >::~_Rb_tree()+0x2d) [0x648c15] 8: (std::map<unsigned long, std::string, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::string> > >::~map()+0x18) [0x626b52] 9: (CompatSet::FeatureSet::~FeatureSet()+0x1c) [0x626c16] 10: (CompatSet::~CompatSet()+0x1f) [0x626cb9] 11: (__cxa_finalize()+0xa5) [0x7f2c42030965] 12: (()+0x266fe6) [0x7f2c43a53fe6] Segmentation fault (core dumped)
Looks like another global destructor ordering issue. I took a very quick look but I didn't find who is creating the global object. Someone will have to spend some time on this.
History
#1 Updated by Sage Weil over 12 years ago
- Target version set to v0.36
I saw this on fatty, but not on my other dev machines.
There are these in mds/MDSMap.h/cc:
extern CompatSet mdsmap_compat;
extern CompatSet mdsmap_compat_base; // pre v0.20
#2 Updated by Sage Weil over 12 years ago
- translation missing: en.field_position set to 9
#3 Updated by Sage Weil over 12 years ago
- Assignee set to Colin McCabe
#4 Updated by Colin McCabe over 12 years ago
- Status changed from New to Resolved