Actions
Bug #207
closedNULL pointer reference when adding a block device
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):
Description
I've been seeing this error a few times lately, but it seems i have some more information about it.
Building the rbd branch under 2.6.35 failed, but i think that's correct since there have been some changes between .34 and .35.
Log:
root@ceph-client:/usr/src/ceph-client/fs/ceph# make EXTRA_CFLAGS=-DCONFIG_CEPH_RBD make -C /lib/modules/2.6.34-020634-generic/build M=/usr/src/ceph-client/fs/ceph CONFIG_CEPH_FS=m modules make[1]: Entering directory `/usr/src/linux-headers-2.6.34-020634-generic' CC [M] /usr/src/ceph-client/fs/ceph/super.o CC [M] /usr/src/ceph-client/fs/ceph/inode.o CC [M] /usr/src/ceph-client/fs/ceph/dir.o CC [M] /usr/src/ceph-client/fs/ceph/file.o CC [M] /usr/src/ceph-client/fs/ceph/addr.o CC [M] /usr/src/ceph-client/fs/ceph/ioctl.o CC [M] /usr/src/ceph-client/fs/ceph/export.o CC [M] /usr/src/ceph-client/fs/ceph/caps.o CC [M] /usr/src/ceph-client/fs/ceph/snap.o CC [M] /usr/src/ceph-client/fs/ceph/xattr.o CC [M] /usr/src/ceph-client/fs/ceph/messenger.o CC [M] /usr/src/ceph-client/fs/ceph/msgpool.o CC [M] /usr/src/ceph-client/fs/ceph/buffer.o CC [M] /usr/src/ceph-client/fs/ceph/pagelist.o CC [M] /usr/src/ceph-client/fs/ceph/mds_client.o CC [M] /usr/src/ceph-client/fs/ceph/mdsmap.o CC [M] /usr/src/ceph-client/fs/ceph/mon_client.o CC [M] /usr/src/ceph-client/fs/ceph/osd_client.o CC [M] /usr/src/ceph-client/fs/ceph/osdmap.o CC [M] /usr/src/ceph-client/fs/ceph/crush/crush.o CC [M] /usr/src/ceph-client/fs/ceph/crush/mapper.o CC [M] /usr/src/ceph-client/fs/ceph/crush/hash.o CC [M] /usr/src/ceph-client/fs/ceph/debugfs.o CC [M] /usr/src/ceph-client/fs/ceph/auth.o CC [M] /usr/src/ceph-client/fs/ceph/auth_none.o CC [M] /usr/src/ceph-client/fs/ceph/crypto.o CC [M] /usr/src/ceph-client/fs/ceph/armor.o CC [M] /usr/src/ceph-client/fs/ceph/auth_x.o CC [M] /usr/src/ceph-client/fs/ceph/ceph_fs.o CC [M] /usr/src/ceph-client/fs/ceph/ceph_strings.o CC [M] /usr/src/ceph-client/fs/ceph/ceph_hash.o CC [M] /usr/src/ceph-client/fs/ceph/ceph_frag.o CC [M] /usr/src/ceph-client/fs/ceph/rbd.o /usr/src/ceph-client/fs/ceph/rbd.c: In function ‘rbd_do_request’: /usr/src/ceph-client/fs/ceph/rbd.c:798: warning: passing argument 5 of ‘ceph_calc_raw_layout’ makes pointer from integer without a cast /usr/src/ceph-client/fs/ceph/osd_client.h:126: note: expected ‘u64 *’ but argument is of type ‘u64’ LD [M] /usr/src/ceph-client/fs/ceph/ceph.o Building modules, stage 2. MODPOST 1 modules CC /usr/src/ceph-client/fs/ceph/ceph.mod.o LD [M] /usr/src/ceph-client/fs/ceph/ceph.ko make[1]: Leaving directory `/usr/src/linux-headers-2.6.34-020634-generic' root@ceph-client:/usr/src/ceph-client/fs/ceph#
root@htpc:~# rbdtool --list 10.06.17_09:25:03.016958 7fc3008ee710 monclient(hunting): found mon1 alpha root@htpc:~# rbdtool --info alpha 10.06.17_09:25:07.678704 7f9c9479f710 monclient(hunting): found mon1 rbd image 'alpha': size 10240 MB in 2560 objects order 22 (4096 KB objects) done. root@htpc:~#
root@ceph-client:~# echo "192.168.6.205,192.168.6.206 name=wido rbd alpha" > /sys/class/rbd/addWrite failed: Broken pipe wido@wido-desktop:~$
And there the client crashes. I have setup remote syslogging and that gave the following errors:
Jun 17 10:13:32 ceph-client kernel: [ 324.194735] ceph: loaded (mon/mds/osd proto 15/32/24, osdmap 5/5 5/5) Jun 17 10:13:35 ceph-client kernel: [ 324.194760] ceph: loaded rbd (rados block device) Jun 17 10:13:35 ceph-client kernel: [ 327.304448] ceph: client4525 fsid 1f0bed9f-939a-941d-71ad-586e66c87e59 Jun 17 10:13:35 ceph-client kernel: [ 327.304580] ceph: mon1 192.168.6.206:6789 session established Jun 17 10:13:35 ceph-client kernel: [ 327.304614] BUG: unable to handle kernel NULL pointer dereference at 0000000000000070 Jun 17 10:13:35 ceph-client kernel: [ 327.304806] IP: [<ffffffffa021a1ce>] ceph_calc_file_object_mapping+0x7e/0xa0 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.304960] PGD 3e15a067 PUD 3e5be067 PMD 0 Jun 17 10:13:35 ceph-client kernel: [ 327.305184] Oops: 0000 [#1] SMP Jun 17 10:13:35 ceph-client kernel: [ 327.305352] last sysfs file: /sys/class/rbd/add Jun 17 10:13:35 ceph-client kernel: [ 327.305424] CPU 0 Jun 17 10:13:35 ceph-client kernel: [ 327.305483] Modules linked in: ceph crc32c libcrc32c ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp ppdev parport_pc amd64_edac_mod edac_core joydev lp edac_mce_amd parport k8temp i2c_amd756 i2c_amd8111 amd_rng shpchp psmouse serio_raw usbhid hid floppy tg3 sata_sil e100 mii pata_amd Jun 17 10:13:35 ceph-client kernel: [ 327.307828] Jun 17 10:13:35 ceph-client kernel: [ 327.307888] Pid: 1248, comm: bash Not tainted 2.6.34-020634-generic #020634 TYAN High-End Dual AMD Opteron, S2882/To Be Filled By O.E.M. Jun 17 10:13:35 ceph-client kernel: [ 327.308055] RIP: 0010:[<ffffffffa021a1ce>] [<ffffffffa021a1ce>] ceph_calc_file_object_mapping+0x7e/0xa0 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.308271] RSP: 0018:ffff88003de79bb8 EFLAGS: 00010246 Jun 17 10:13:35 ceph-client kernel: [ 327.308376] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff88003de79cb0 Jun 17 10:13:35 ceph-client kernel: [ 327.308489] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000400000 Jun 17 10:13:35 ceph-client kernel: [ 327.308602] RBP: ffff88003de79bd8 R08: ffff88003de79bf0 R09: ffff88003de79be8 Jun 17 10:13:35 ceph-client kernel: [ 327.308716] R10: 0000000000000070 R11: 0000000000400000 R12: ffff880037987c46 Jun 17 10:13:35 ceph-client kernel: [ 327.308829] R13: ffff88003df86600 R14: 0000000000000000 R15: ffff88003df86750 Jun 17 10:13:35 ceph-client kernel: [ 327.308943] FS: 00007f8e3ea26700(0000) GS:ffff880001e00000(0000) knlGS:0000000000000000 Jun 17 10:13:35 ceph-client kernel: [ 327.309091] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jun 17 10:13:35 ceph-client kernel: [ 327.309198] CR2: 0000000000000070 CR3: 000000003dfa9000 CR4: 00000000000006f0 Jun 17 10:13:35 ceph-client kernel: [ 327.309311] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Jun 17 10:13:35 ceph-client kernel: [ 327.309425] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Jun 17 10:13:35 ceph-client kernel: [ 327.309538] Process bash (pid: 1248, threadinfo ffff88003de78000, task ffff88003e5d4500) Jun 17 10:13:35 ceph-client kernel: [ 327.309689] Stack: Jun 17 10:13:35 ceph-client kernel: [ 327.309780] 0000000000000000 ffff880037987c46 ffff88003df86600 0000000000000070 Jun 17 10:13:35 ceph-client kernel: [ 327.310047] <0> ffff88003de79c18 ffffffffa02184f3 ffff880001cb7e00 0000000000000000 Jun 17 10:13:35 ceph-client kernel: [ 327.310447] <0> ffff88003df86600 ffff88003e715a00 ffff88003ea65e40 0000000000000000 Jun 17 10:13:35 ceph-client kernel: [ 327.310929] Call Trace: Jun 17 10:13:35 ceph-client kernel: [ 327.311031] [<ffffffffa02184f3>] ceph_calc_raw_layout+0x53/0xa0 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311150] [<ffffffffa0223268>] rbd_do_request+0x1b8/0x320 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311266] [<ffffffff81033d39>] ? default_spin_lock_flags+0x9/0x10 Jun 17 10:13:35 ceph-client kernel: [ 327.311382] [<ffffffffa0223485>] T.836+0xb5/0x130 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311495] [<ffffffffa0223ca0>] ? rbd_read_header+0x60/0x270 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311612] [<ffffffffa0223cc8>] rbd_read_header+0x88/0x270 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311724] [<ffffffff8129345c>] ? register_blkdev+0x14c/0x1c0 Jun 17 10:13:35 ceph-client kernel: [ 327.311839] [<ffffffffa0224908>] class_rbd_add+0x3c8/0x768 [ceph] Jun 17 10:13:35 ceph-client kernel: [ 327.311951] [<ffffffff8112851c>] ? alloc_pages_current+0x8c/0xd0
To rule out any compile errors i recompiled the module a few times, but the error kept coming back.
The kernel version on the client: 2.6.34-020634-generic
Adding the "noshare" mount option didn't make a difference.
Updated by Yehuda Sadeh almost 14 years ago
- Status changed from New to Resolved
Actually this is probably due to the interface change in ceph_calc_raw_layout.
Should be fixed with commit 7a06cc4c299f5aa819da94062d39547dec5351f8.
Updated by Sage Weil over 13 years ago
- Project changed from 3 to Linux kernel client
- Category deleted (
7)
Actions