Project

General

Profile

Actions

Bug #39174

closed

crushtool crash on Fedora 28 and newer

Added by Ken Dreyer about 5 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
-
% 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.


Related issues 3 (0 open3 closed)

Copied to RADOS - Backport #39309: luminous: crushtool crash on Fedora 28 and newerRejectedActions
Copied to RADOS - Backport #39310: nautilus: crushtool crash on Fedora 28 and newerResolvedNeha OjhaActions
Copied to RADOS - Backport #39311: mimic: crushtool crash on Fedora 28 and newerResolvedPrashant DActions
Actions

Also available in: Atom PDF