Project

General

Profile

Actions

Bug #52522

closed

rbd children:logging crashes after open or close fails.

Added by ShuaiChao Wang over 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
Normal
Target version:
% Done:

0%

Source:
Tags:
Backport:
octopus,pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

In method: librbd::api::Image<I>::list_descendants().
Ictx is deleted when "ictx->state->open()" and "ictx->state->close()" fail,and then "lderr(ictx->cct)" crashes.

The stack information:
#0 0x00007f679bc4d4fb in raise () from /lib64/libpthread.so.0
#1 0x000055831a6d5eaf in reraise_fatal (signum=6)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/global/signal_handler.cc:81
#2 0x000055831a6d6f6e in handle_fatal_signal (signum=6)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/global/signal_handler.cc:326
#3 <signal handler called>
#4 0x00007f679aa603d7 in raise () from /lib64/libc.so.6
#5 0x00007f679aa61ac8 in abort () from /lib64/libc.so.6
#6 0x00007f679b370a95 in _gnu_cxx::_verbose_terminate_handler() () from /lib64/libstdc++.so.6
#7 0x00007f679b36ea06 in ?? () from /lib64/libstdc++.so.6
#8 0x00007f679b36ea33 in std::terminate() () from /lib64/libstdc++.so.6
#9 0x00007f679b36ec53 in _cxa_throw () from /lib64/libstdc++.so.6
#10 0x00007f67a14d907d in std::
_throw_system_error(int) [clone .cold.24] ()
from /mnt/nvme0n1p1/wsc/gerrit_code/ceph/build/lib/libceph-common.so.0
#11 0x00007f67a15494ed in std::mutex::lock (this=0x55831c5a7a18)
at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_mutex.h:107
#12 0x00007f67a15a2941 in std::unique_lock<std::mutex>::lock (this=0x7ffe343f0500)
at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_mutex.h:267
#13 0x00007f67a15a20b2 in std::unique_lock<std::mutex>::unique_lock (this=0x7ffe343f0500, __m=...)
at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_mutex.h:197
#14 0x00007f67a1a08a03 in ceph::logging::Log::submit_entry(ceph::logging::Entry&&) (
this=0x55831c5a79e0,
---Type <return> to continue, or q <return> to quit---
e=<unknown type in /mnt/nvme0n1p1/wsc/gerrit_code/ceph/build/lib/libceph-common.so.0, CU 0x3e969fd, DIE 0x3eea9b8>) at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/log/Log.cc:180
#15 0x00007f67ab9e916d in librbd::api::Image<librbd::ImageCtx>::list_descendants (io_ctx=...,
image_id="103df91eb954", max_level=..., images=0x7ffe343f0b50)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/librbd/api/Image.cc:312
#16 0x00007f67ab9ea189 in librbd::api::Image<librbd::ImageCtx>::list_descendants (
ictx=0x55831c549010, parent_spec=..., max_level=..., images=0x7ffe343f0b50)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/librbd/api/Image.cc:417
#17 0x00007f67ab9e9609 in librbd::api::Image<librbd::ImageCtx>::list_descendants (
ictx=0x55831c549010, max_level=..., images=0x7ffe343f0b50)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/librbd/api/Image.cc:343
#18 0x00007f67ab9e8e7a in librbd::api::Image<librbd::ImageCtx>::list_children (
ictx=0x55831c549010, images=0x7ffe343f0b50)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/librbd/api/Image.cc:287
#19 0x00007f67ab88219d in librbd::Image::list_children3 (this=0x7ffe343f0be0,
images=0x7ffe343f0b50) at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/librbd/librbd.cc:1819
#20 0x000055831a4e885f in rbd::action::children::do_list_children (io_ctx=..., image=...,
all_flag=false, descendants_flag=false, f=0x0)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/tools/rbd/action/Children.cc:28
#21 0x000055831a4e9260 in rbd::action::children::execute (vm=...,
ceph_global_init_args=std::vector of length 4, capacity 4 = {...})
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/tools/rbd/action/Children.cc:150
---Type <return> to continue, or q <return> to quit---
#22 0x000055831a497377 in rbd::Shell::execute (this=0x7ffe343f1097, argc=7, argv=0x7ffe343f1188)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/tools/rbd/Shell.cc:204
#23 0x000055831a46b138 in main (argc=7, argv=0x7ffe343f1188)
at /mnt/nvme0n1p1/wsc/gerrit_code/ceph/src/tools/rbd/rbd.cc:9

vstart test process:
bin/ceph osd pool create rbd 64 64 -c ceph.conf
bin/ceph osd pool create rbd1 64 64 -c ceph.conf
bin/rbd create rbd/m1 -s 128M -c ceph.conf
bin/rbd snap create rbd/m1@v1 -c ceph.conf
bin/rbd snap protect rbd/m1@v1 -c ceph.conf
bin/rbd clone rbd/m1@v1 rbd1/m1_clone -c ceph.conf
bin/ceph auth get-or-create client.cinder mon 'profile rbd' osd 'profile rbd pool=rbd' -c ceph.conf
bin/rbd children --id cinder rbd/m1@v1 -c ceph.conf


Related issues 2 (0 open2 closed)

Copied to rbd - Backport #52533: octopus: rbd children:logging crashes after open or close fails.ResolvedIlya DryomovActions
Copied to rbd - Backport #52534: pacific: rbd children:logging crashes after open or close fails.ResolvedIlya DryomovActions
Actions #1

Updated by Deepika Upadhyay over 2 years ago

  • Pull request ID set to 52522
Actions #2

Updated by Deepika Upadhyay over 2 years ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by Ilya Dryomov over 2 years ago

  • Pull request ID changed from 52522 to 43074
Actions #4

Updated by Ilya Dryomov over 2 years ago

  • Backport set to octopus,pacific
Actions #5

Updated by Ilya Dryomov over 2 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #6

Updated by Backport Bot over 2 years ago

  • Copied to Backport #52533: octopus: rbd children:logging crashes after open or close fails. added
Actions #7

Updated by Backport Bot over 2 years ago

  • Copied to Backport #52534: pacific: rbd children:logging crashes after open or close fails. added
Actions #8

Updated by Ilya Dryomov almost 2 years ago

  • Status changed from Pending Backport to Resolved
  • Assignee set to ShuaiChao Wang
Actions

Also available in: Atom PDF