Actions
Bug #11433
closedlibrbd: crash cleaning up non-existent image
% Done:
0%
Source:
Q/A
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
From rbd export non-existent-image:
#0 0x00007f5901d98e2b in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41 #1 0x00000000008f76b7 in reraise_fatal (signum=11) at global/signal_handler.cc:59 #2 0x00000000008f7a10 in handle_fatal_signal (signum=11) at global/signal_handler.cc:109 #3 <signal handler called> #4 0x00007f5904dc408f in PerfCounters::inc (this=0x0, idx=26010, amt=1) at common/perf_counters.cc:142 #5 0x00007f5904c38c2d in librbd::flush (ictx=0x7f58f4001340) at librbd/internal.cc:3460 #6 0x00007f5904c32030 in librbd::close_image (ictx=0x7f58f4001340) at librbd/internal.cc:2590 #7 0x00007f5904c31e01 in librbd::open_image (ictx=0x7f58f4001340) at librbd/internal.cc:2569 #8 0x00007f5904bbe3ab in librbd::RBD::open_read_only (this=0x7fff842fcfaf, io_ctx=..., image=..., name=0x32f6410 "blah", snap_name=0x0) at librbd/librbd.cc:119 #9 0x0000000000798f52 in main (argc=3, argv=0x7fff842fd518) at rbd.cc:3283
Due to perf_start() moving later in ImageCtx::init(), if init() fails earlier the PerfCounters will be used by flush() before being initialized.
Actions