Project

General

Profile

Bug #1835

Monclient crash when keyring is not readable

Added by Wido den Hollander over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
cephx
Target version:
Start date:
12/16/2011
Due date:
% Done:

0%

Spent time:
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

I had some issues with my Qemu-RBD VM's to get them online, I saw Qemu segfault and started tracing this back with GDB and found:

#0  encode (this=0x2a20608) at ./include/encoding.h:101
#1  encode<unsigned int> (this=0x2a20608) at ./include/encoding.h:364
#2  MonClient::_reopen_session (this=0x2a20608) at mon/MonClient.cc:568
#3  0x00007f80fbf883c1 in MonClient::authenticate (this=0x2a20608, timeout=<value optimized out>) at mon/MonClient.cc:409
#4  0x00007f80fbec19b6 in librados::RadosClient::connect (this=0x2a202f0) at librados.cc:957
#5  0x0000000000479263 in qemu_rbd_open (bs=0x2a16730, filename=0x29ffce0 "rbd:rbd/ox-ap01:conf=/etc/ceph/ceph.conf:id=admin:rbd_writeback_window=67108864", flags=66) at block/rbd.c:476
#6  0x0000000000443f0b in bdrv_open_common (bs=0x2a16730, filename=0x29ffce0 "rbd:rbd/ox-ap01:conf=/etc/ceph/ceph.conf:id=admin:rbd_writeback_window=67108864", flags=66, drv=0x970d80) at block.c:485
#7  0x000000000044407a in bdrv_file_open (pbs=0x2a16658, filename=0x29ffce0 "rbd:rbd/ox-ap01:conf=/etc/ceph/ceph.conf:id=admin:rbd_writeback_window=67108864", flags=66) at block.c:537
#8  0x0000000000443f2d in bdrv_open_common (bs=0x2a15de0, filename=0x29ffce0 "rbd:rbd/ox-ap01:conf=/etc/ceph/ceph.conf:id=admin:rbd_writeback_window=67108864", flags=66, drv=0x96dc80) at block.c:487
#9  0x00000000004443aa in bdrv_open (bs=0x2a15de0, filename=0x29ffce0 "rbd:rbd/ox-ap01:conf=/etc/ceph/ceph.conf:id=admin:rbd_writeback_window=67108864", flags=66, drv=0x96dc80) at block.c:621
#10 0x000000000047b250 in drive_init (opts=0x29ffc10, default_to_scsi=0) at blockdev.c:545
#11 0x000000000041a05e in drive_init_func (opts=0x29ffc10, opaque=0x9b2820) at /usr/src/qemu-kvm/vl.c:657
#12 0x000000000044164d in qemu_opts_foreach (list=0x96cc80, func=0x41a032 <drive_init_func>, opaque=0x9b2820, abort_on_failure=1) at qemu-option.c:971
#13 0x000000000041f64e in main (argc=44, argv=0x7fffe76429f8, envp=0x7fffe7642b60) at /usr/src/qemu-kvm/vl.c:3202

I started tracing it back and saw that "keyring.bin" was 600 and from root, so the Qemu process didn't have permission to read it. Changing it to the right permissions solved it, but Qemu shouldn't have crashed.

Associated revisions

Revision 04c8db00 (diff)
Added by Sage Weil over 7 years ago

librados: check for monclient::init() error

I think this fixes #1835.

Signed-off-by: Sage Weil <>

History

#1 Updated by Wido den Hollander over 7 years ago

Btw, I know I can use the build-in 'secret' functions of libvirt, but I didn't modify my XML's yet.

#2 Updated by Sage Weil over 7 years ago

  • Target version set to v0.40
  • translation missing: en.field_position set to 49

#3 Updated by Sage Weil over 7 years ago

  • translation missing: en.field_position deleted (50)
  • translation missing: en.field_position set to 25

#4 Updated by Sage Weil over 7 years ago

  • Assignee set to Sage Weil

#5 Updated by Sage Weil over 7 years ago

  • Status changed from New to Testing

should be fixed by 04c8db001a4ed02ef7335ed01ce73ce9ab28dc9d .. can you verify, Wido?

#6 Updated by Wido den Hollander over 7 years ago

Confirmed, this fixed it for me.

#7 Updated by Sage Weil over 7 years ago

  • Status changed from Testing to Resolved

Thanks, Wido!

Also available in: Atom PDF