Actions
Bug #39174
closedcrushtool crash on Fedora 28 and newer
% Done:
0%
Source:
Q/A
Tags:
Backport:
nautilus, mimic, luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
On Fedora 29, Fedora 30, and RHEL 8, /usr/bin/crushtool crashes when trying to compile the map that Rook uses.
#0 0x00007fffeecf053f in raise () from /lib64/libc.so.6 #1 0x00007fffeecda895 in abort () from /lib64/libc.so.6 #2 0x00007fffef71e7a8 in std::__replacement_assert(char const*, int, char const*, char const*) () from /usr/lib64/ceph/libceph-common.so.0 #3 0x00007fffef93a063 in std::vector<int, std::allocator<int> >::operator[](unsigned long) () from /usr/lib64/ceph/libceph-common.so.0 #4 0x00007fffefb882a5 in CrushCompiler::parse_bucket(__gnu_cxx::__normal_iterator<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> >*, std::vector<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> >, std::allocator<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> > > > > const&) () from /usr/lib64/ceph/libceph-common.so.0 #5 0x00007fffefb88ab0 in CrushCompiler::parse_crush(__gnu_cxx::__normal_iterator<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> >*, std::vector<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> >, std::allocator<boost::spirit::tree_node<boost::spirit::node_val_data<char const*, boost::spirit::nil_t> > > > > const&) () from /usr/lib64/ceph/libceph-common.so.0 #6 0x00007fffefb8aee8 in CrushCompiler::compile(std::istream&, char const*) () from /usr/lib64/ceph/libceph-common.so.0 #7 0x0000555555562e13 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/c++/8/bits/basic_string.h:2290
The crushmap.txt is:
# begin crush map tunable choose_local_tries 0 tunable choose_local_fallback_tries 0 tunable choose_total_tries 50 tunable chooseleaf_descend_once 1 tunable chooseleaf_vary_r 1 tunable chooseleaf_stable 0 tunable straw_calc_version 1 tunable allowed_bucket_algs 22 # types type 0 osd type 1 host type 2 chassis type 3 rack type 4 row type 5 pdu type 6 pod type 7 room type 8 datacenter type 9 region type 10 root # default bucket root default { id -1 # do not change unnecessarily alg straw hash 0 # rjenkins1 } # rules rule replicated_ruleset { ruleset 0 type replicated min_size 1 max_size 10 step take default step chooseleaf firstn 0 type host step emit } # end crush map
This crash occurs on the following platforms:
- ceph-base-12.2.7-1.fc28
- ceph-base-12.2.11-1.fc28
- ceph-base-12.2.11-1.fc29
- ceph-base-14.2.0-1.fc30
- tip of nautilus on RHEL 8
It does not crash on:
- ceph-base-12.2.8-1.fc27
One difference I see between Fedora 27 and 28 is that Fedora 27 has libstdc++-7.3.1 and Fedora 28 has libstdc++-8.3.1 , but that is just a guess.
Actions