Project

General

Profile

Actions

Bug #207

closed

NULL pointer reference when adding a block device

Added by Wido den Hollander almost 14 years ago. Updated over 13 years ago.

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.

Actions #1

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.

Actions #2

Updated by Sage Weil over 13 years ago

  • Project changed from 3 to Linux kernel client
  • Category deleted (7)
Actions

Also available in: Atom PDF