Bug #3602
closedceph-fuse crashed when client tries to ceph-fuse mount without keyring
0%
Description
Bug found by Ken:
upgraded argonaut cluster to bobtail [burnupi16, burnupi17, burnupi18] and the client[burnupi62] is running on argonaut version of ceph-fuse
now, trying to ceph-fuse mount from the client without the client.admin.keyring segfaults,
ubuntu@burnupi62:~$ sudo ceph-fuse -c ceph-auth-on.conf -m 10.214.134.20:6789 /mnt/qaceph-fuse35761: starting ceph client
- Caught signal (Segmentation fault)
in thread 7f385aec1780
2012-12-10 17:20:52.035650 7f385aec1780 -1 auth: failed to open keyring from /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin
2012-12-10 17:20:52.035711 7f385aec1780 -1 monclient(hunting): failed to open keyring: (2) No such file or directory
ceph version 0.48.2argonaut-44-g8498338 (84983387a220a29540aca64af774bbe7bc6b5ee6)
1: ceph-fuse() [0x638b2a]
2: (()+0xfcb0) [0x7f385a870cb0]
3: (MonClient::_reopen_session()+0x4b1) [0x528c21]
4: (MonClient::authenticate(double)+0x1a2) [0x529cc2]
5: (Client::mount(std::string const&)+0xd3) [0x499bc3]
6: (main()+0x285) [0x46ed65]
7: (__libc_start_main()+0xed) [0x7f3858f4c76d]
8: ceph-fuse() [0x4702c9]
2012-12-10 17:20:52.038558 7f385aec1780 -1 Caught signal (Segmentation fault) *
in thread 7f385aec1780
ceph version 0.48.2argonaut-44-g8498338 (commit:84983387a220a29540aca64af774bbe7bc6b5ee6)
1: ceph-fuse() [0x638b2a]
2: (()+0xfcb0) [0x7f385a870cb0]
3: (MonClient::_reopen_session()+0x4b1) [0x528c21]
4: (MonClient::authenticate(double)+0x1a2) [0x529cc2]
5: (Client::mount(std::string const&)+0xd3) [0x499bc3]
6: (main()+0x285) [0x46ed65]
7: (__libc_start_main()+0xed) [0x7f3858f4c76d]
8: ceph-fuse() [0x4702c9]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
-3> 2012-12-10 17:20:52.035650 7f385aec1780 -1 auth: failed to open keyring from /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin
-2> 2012-12-10 17:20:52.035711 7f385aec1780 -1 monclient(hunting): failed to open keyring: (2) No such file or directory
0> 2012-12-10 17:20:52.038558 7f385aec1780 -1 ** Caught signal (Segmentation fault) *
in thread 7f385aec1780
ceph version 0.48.2argonaut-44-g8498338 (commit:84983387a220a29540aca64af774bbe7bc6b5ee6)
1: ceph-fuse() [0x638b2a]
2: (()+0xfcb0) [0x7f385a870cb0]
3: (MonClient::_reopen_session()+0x4b1) [0x528c21]
4: (MonClient::authenticate(double)+0x1a2) [0x529cc2]
5: (Client::mount(std::string const&)+0xd3) [0x499bc3]
6: (main()+0x285) [0x46ed65]
7: (__libc_start_main()+0xed) [0x7f3858f4c76d]
8: ceph-fuse() [0x4702c9]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
ceph-fuse35759: mount failed: (33) Numerical argument out of domain
However, copying the client.admin.keyring on the client and trying ceph-fuse mount is successful.
Updated by Greg Farnum over 11 years ago
Did you check for similar bugs? Not certain but I believe this has been fixed in a dev release since then. (Maybe should get cherry-picked into stable, I guess?)
Updated by Tamilarasi muthamizhan over 11 years ago
I tried installing ceph-fuse from next branch, and I dont see any segfault.
ubuntu@burnupi62:~$ sudo ceph-fuse -v
ceph version 0.55-192-ge4d0aea (e4d0aeace187afee6313d803511ba595e91dd7ed)
ubuntu@burnupi62:~$ sudo mkdir /mnt/test
ubuntu@burnupi62:~$ sudo ceph-fuse -c ceph-auth-on.conf -m 10.214.134.20:6789 /mnt/test
ceph-fuse49075: starting ceph client
ceph-fuse49075: ceph mount failed with (2) No such file or directory
2012-12-10 20:06:12.315136 7f1cc4e30780 -1 monclient(hunting): failed to open keyring: (2) No such file or directory
ceph-fuse49073: mount failed: (2) No such file or directory
And after copying the keyring, it works well.
However I think we may have to cherry pick the fix to stable branch to avoid a likely event of segfault.
Updated by Sam Lang over 11 years ago
- Status changed from New to Resolved
The fix was cherry-picked into wip-stable-fuse and merged to stable.