Re: reiser4 panic in do_readpage_extent
Devils-Hawk wrote: The problem still persists also trying to boot multiple times it sometimes triggers much earlier in the boot process than it did before. Hmm.. can not reproduce it.. The attached patch (against reiser4-for-2.6[19, 20]) allows to dump stack and some useful info noted as edward-200X among other boot messages. Would you please send it. Thanks, Edward. regards devh Edward Shishkin wrote: Would you please try the attached patch over reiser4-for-2.6.[19, 20] Thanks, Edward. Handle possible race: do not proceed uf_readpages_filler if page is already uptodate. Print debugging info. Signed-off-by: Edward Shishkin [EMAIL PROTECTED] --- linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c|4 +++ linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c | 17 ++ 2 files changed, 21 insertions(+) --- linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c.orig +++ linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c @@ -1619,6 +1619,10 @@ lock_page(page); cbk_done = 1; } + if (PageUptodate(page)) { + unlock_page(page); + return 0; + } ret = zload(rc-coord.node); if (ret) { unlock_page(page); --- linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c.orig +++ linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c @@ -1157,7 +1157,24 @@ case UNALLOCATED_EXTENT: j = jfind(mapping, index); + if (j == NULL) { + dump_stack(); + printk(edward-2000: oid = %llu\n, + (unsigned long long)oid); + printk(edward-2001: Jnode not found\n); + } assert(nikita-2688, j); + if (jnode_page(j) != NULL) { + dump_stack(); + printk(edward-2002: oid = %llu\n, + (unsigned long long)oid); + printk(edward-2003: read page %p of idx %lu\n, + page, page-index); + printk(edward-2004: jnode page %p of idx %lu\n, + jnode_page(j), jnode_page(j)-index); + printk(edward-2005: jnode blknr = %llu\n, + (unsigned long long)(*jnode_get_block(j))); + } assert(vs-1426, jnode_page(j) == NULL); spin_lock_jnode(j);
reiser4 panic
Got this oops message while using reiser4: reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[update-eix(3889)]: key_warning (fs/reiser4/plugin/file_plugin_common.c:513)[nikita-717]: WARNING: Error for inode 315366 (-2) reiser4[emerge(4574)]: plugin_by_unsafe_id (fs/reiser4/plugin/plugin.c:276)[nikita-2913]: WARNING: Invalid plugin id: [2:60484] BUG: unable to handle kernel NULL pointer dereference at virtual address 0004 printing eip: f9c9a970 *pde = Oops: [#1] PREEMPT Modules linked in: ntfs bridge ipx p8022 psnap llc p8023 udf isofs zlib_inflate snd_rtctimer pppoe pppox ppp_generic slhc af_packet w83627hf hwmon_vid hwmon eeprom i2c_isa iptable_raw ipt_MASQUERADE iptable_nat ip_nat ipt_tos xt_CLASSIFY xt_mark iptable_mangle xt_tcpudp ipt_set xt_length xt_limit ipt_REJECT xt_conntrack ip_conntrack nfnetlink ipt_ULOG iptable_filter ip_tables x_tables ip_set_portmap fuse snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device rtc reiser4 ext2 mbcache configfs i2c_dev fan button ip_set loop fbcon crc32 font bitblit softcursor vesafb_tng fb vesafb_thread mousedev joydev eth1394 usb_storage usbhid ff_memless nvidia(P) evdev tuner snd_intel8x0 cx8800 snd_ac97_codec sr_mod cx88xx ac97_bus cdrom ir_common i2c_algo_bit snd_pcm video_buf snd_timer psmouse tveeprom compat_ioctl32 btcx_risc videodev snd nvidia_agp i2c_nforce2 serio_raw ohci1394 ieee1394 v4l1_compat ohci_hcd soundcore snd_page_alloc agpgart 8250_pnp 8250 serial_core ehci_hcd uhci_hcd i2c_core pata_amd v4l2_common forcedeth usbcore sg unix CPU:0 EIP:0060:[f9c9a970]Tainted: P VLI EFLAGS: 00210282 (2.6.19.2 #4) EIP is at obtain_item_plugin+0x10/0x20 [reiser4] eax: ebx: d54f0bc4 ecx: c1803040 edx: esi: d54f0bc4 edi: e3888300 ebp: d54f0c5c esp: d54f0b14 ds: 007b es: 007b ss: 0068 Process emerge (pid: 4574, ti=d54f task=efc3faa0 task.ti=d54f) Stack: d54f0bc4 f9c9ab99 d54f0bc4 f9c7caee efc3faa0 d83e7920 f9c5bed2 d83e7920 d83e7920 f9c5b70a e3888300 d54f0bc4 f9cb1ca0 d54f0c5c f9c6fb5f 0050 dc0936c4 0002 d54f0dfc 62696e69 006c6962 Call Trace: [f9c9ab99] item_type_by_coord+0x29/0x30 [reiser4] [f9c7caee] owns_item_common_dir+0x1e/0x80 [reiser4] [f9c5bed2] zparse+0x52/0x70 [reiser4] [f9c5b70a] jload_gfp+0x6a/0x1b0 [reiser4] [f9c6fb5f] coord_by_handle+0x2bf/0xde0 [reiser4] [f9c70928] object_lookup+0xc8/0x110 [reiser4] [f9c879da] find_entry+0xba/0x290 [reiser4] [f9c5ab6f] jrelse+0xf/0x20 [reiser4] [f9c75ab2] init_inode_ordering+0x92/0xa0 [reiser4] [f9c60e7e] longterm_unlock_znode+0x7e/0x1e0 [reiser4] [f9c87c4d] lookup_name+0x9d/0x110 [reiser4] [f9c7a7b5] lookup_common+0x55/0x100 [reiser4] [c017aaad] d_alloc+0x1d/0x1e0 [c016fd98] do_lookup+0x148/0x190 [c0171f5e] __link_path_walk+0x7ee/0xfc0 [c0134cf8] slice+0x8/0x20 [c0134d63] staircase_normal_prio+0x53/0x90 [c017277f] link_path_walk+0x4f/0xe0 [c0115c3a] do_page_fault+0x4ca/0x610 [c0172a1a] do_path_lookup+0xaa/0x280 [c01714db] getname+0x9b/0xf0 [c017347b] __user_walk_fd+0x3b/0x60 [c0166ec5] sys_faccessat+0x95/0x160 [c0115c3a] do_page_fault+0x4ca/0x610 [c0166faf] sys_access+0x1f/0x30 [c0102fa1] sysenter_past_esp+0x56/0x79 === Code: 03 42 24 c3 8d b4 26 00 00 00 00 8b 10 8b 92 84 00 00 00 ff 52 30 0f b7 c0 c3 90 53 89 c3 8b 00 8b 90 84 00 00 00 89 d8 ff 52 34 0f be 40 04 88 43 08 5b c3 8d
Re: reiser4 panic
Hello Matheus, Unfortunately, there is no suggestions except checking this by fsck. Thanks, Edward. Matheus Izvekov wrote: Got this oops message while using reiser4: reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[q(3866)]: cbk_level_lookup (fs/reiser4/search.c:961)[vs-3533]: WARNING: Keys are inconsistent. Fsck? reiser4[update-eix(3889)]: key_warning (fs/reiser4/plugin/file_plugin_common.c:513)[nikita-717]: WARNING: Error for inode 315366 (-2) reiser4[emerge(4574)]: plugin_by_unsafe_id (fs/reiser4/plugin/plugin.c:276)[nikita-2913]: WARNING: Invalid plugin id: [2:60484] BUG: unable to handle kernel NULL pointer dereference at virtual address 0004 printing eip: f9c9a970 *pde = Oops: [#1] PREEMPT Modules linked in: ntfs bridge ipx p8022 psnap llc p8023 udf isofs zlib_inflate snd_rtctimer pppoe pppox ppp_generic slhc af_packet w83627hf hwmon_vid hwmon eeprom i2c_isa iptable_raw ipt_MASQUERADE iptable_nat ip_nat ipt_tos xt_CLASSIFY xt_mark iptable_mangle xt_tcpudp ipt_set xt_length xt_limit ipt_REJECT xt_conntrack ip_conntrack nfnetlink ipt_ULOG iptable_filter ip_tables x_tables ip_set_portmap fuse snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device rtc reiser4 ext2 mbcache configfs i2c_dev fan button ip_set loop fbcon crc32 font bitblit softcursor vesafb_tng fb vesafb_thread mousedev joydev eth1394 usb_storage usbhid ff_memless nvidia(P) evdev tuner snd_intel8x0 cx8800 snd_ac97_codec sr_mod cx88xx ac97_bus cdrom ir_common i2c_algo_bit snd_pcm video_buf snd_timer psmouse tveeprom compat_ioctl32 btcx_risc videodev snd nvidia_agp i2c_nforce2 serio_raw ohci1394 ieee1394 v4l1_compat ohci_hcd soundcore snd_page_alloc agpgart 8250_pnp 8250 serial_core ehci_hcd uhci_hcd i2c_core pata_amd v4l2_common forcedeth usbcore sg unix CPU:0 EIP:0060:[f9c9a970]Tainted: P VLI EFLAGS: 00210282 (2.6.19.2 #4) EIP is at obtain_item_plugin+0x10/0x20 [reiser4] eax: ebx: d54f0bc4 ecx: c1803040 edx: esi: d54f0bc4 edi: e3888300 ebp: d54f0c5c esp: d54f0b14 ds: 007b es: 007b ss: 0068 Process emerge (pid: 4574, ti=d54f task=efc3faa0 task.ti=d54f) Stack: d54f0bc4 f9c9ab99 d54f0bc4 f9c7caee efc3faa0 d83e7920 f9c5bed2 d83e7920 d83e7920 f9c5b70a e3888300 d54f0bc4 f9cb1ca0 d54f0c5c f9c6fb5f 0050 dc0936c4 0002 d54f0dfc 62696e69 006c6962 Call Trace: [f9c9ab99] item_type_by_coord+0x29/0x30 [reiser4] [f9c7caee] owns_item_common_dir+0x1e/0x80 [reiser4] [f9c5bed2] zparse+0x52/0x70 [reiser4] [f9c5b70a] jload_gfp+0x6a/0x1b0 [reiser4] [f9c6fb5f] coord_by_handle+0x2bf/0xde0 [reiser4] [f9c70928] object_lookup+0xc8/0x110 [reiser4] [f9c879da] find_entry+0xba/0x290 [reiser4] [f9c5ab6f] jrelse+0xf/0x20 [reiser4] [f9c75ab2] init_inode_ordering+0x92/0xa0 [reiser4] [f9c60e7e] longterm_unlock_znode+0x7e/0x1e0 [reiser4] [f9c87c4d] lookup_name+0x9d/0x110 [reiser4] [f9c7a7b5] lookup_common+0x55/0x100 [reiser4] [c017aaad] d_alloc+0x1d/0x1e0 [c016fd98] do_lookup+0x148/0x190 [c0171f5e] __link_path_walk+0x7ee/0xfc0 [c0134cf8] slice+0x8/0x20 [c0134d63] staircase_normal_prio+0x53/0x90 [c017277f] link_path_walk+0x4f/0xe0 [c0115c3a] do_page_fault+0x4ca/0x610 [c0172a1a] do_path_lookup+0xaa/0x280 [c01714db] getname+0x9b/0xf0 [c017347b] __user_walk_fd+0x3b/0x60 [c0166ec5] sys_faccessat+0x95/0x160 [c0115c3a] do_page_fault+0x4ca/0x610 [c0166faf] sys_access+0x1f/0x30 [c0102fa1] sysenter_past_esp+0x56/0x79 === Code: 03 42 24 c3 8d b4 26 00 00
Re: reiser4 panic
On 3/11/07, Edward Shishkin [EMAIL PROTECTED] wrote: Hello Matheus, Unfortunately, there is no suggestions except checking this by fsck. Thanks, Edward. Just did it, here is what i got: FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: item has the wrong length (56). Should be (2). FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: broken item found. FSCK: Node (3112): the node is broken. Pointed from the node (14624), item (47), unit (0). The whole subtree is skipped. FSCK: Node (4294), item (0): Offset (12771) is wrong. Should be (28). FSCK: Node (4294): the node is broken. Pointed from the node (24403), item (55), unit (0). The whole subtree is skipped. FSCK: Node (24453), item (0): Offset (0) is wrong. Should be (28). FSCK: Node (24453): the node is broken. Pointed from the node (24411), item (22), unit (0). The whole subtree is skipped. FSCK: Node (30345), items (13) and (14): Wrong order of keys. FSCK: Node (30345): the node is broken. Pointed from the node (68437), item (26), unit (0). The whole subtree is skipped. FSCK: Node (58606), item (0): Offset (6946) is wrong. Should be (28). FSCK: Node (58606): the node is broken. Pointed from the node (15337), item (39), unit (0). The whole subtree is skipped. FSCK: Node (17165), item (3), unit (1), [1cc66:0(NAME):0:0:0]: unit offset (29281) is wrong. FSCK: Node (17165), item (3), unit (1), [1cc66:0(NAME):0:0:0]: unit offset (29281) is wrong, should be (104). FSCK: Node (17165), item (3), [1cc66:0(NAME):0:0:0]: broken item found. FSCK: Node (17165): the node is broken. Pointed from the node (72100), item (32), unit (0). The whole subtree is skipped. FSCK: Node (20681), item (3), [1d328:1(SD):2e4d616e696665:3f2cf:0]: item has the wrong length (56). Should be (2). FSCK: Node (20681), item (3), [1d328:1(SD):2e4d616e696665:3f2cf:0]: broken item found. FSCK: Node (20681): the node is broken. Pointed from the node (72105), item (25), unit (0). The whole subtree is skipped. FSCK: Node (27567), item (0): Offset (3617) is wrong. Should be (28). FSCK: Node (27567): the node is broken. Pointed from the node (22954), item (31), unit (0). The whole subtree is skipped. FSCK: Node (41824), item (2), unit (29), [30bcf:0(NAME):0:0:0]: unit offset (7738) is wrong. FSCK: Node (41824), item (2), unit (29), [30bcf:0(NAME):0:0:0]: unit offset (7738) is wrong, should be (1868). FSCK: Node (41824), item (2), [30bcf:0(NAME):0:0:0]: broken item found. FSCK: Node (41824): the node is broken. Pointed from the node (71189), item (4), unit (0). The whole subtree is skipped. FSCK: Node (65820), item (0): Offset (14806) is wrong. Should be (28). FSCK: Node (65820): the node is broken. Pointed from the node (71421), item (29), unit (0). The whole subtree is skipped. FSCK: Node (44979), item (0): Offset (15083) is wrong. Should be (28). FSCK: Node (44979): the node is broken. Pointed from the node (72037), item (49), unit (0). The whole subtree is skipped. FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: unit count (25185) is not correct. Should be (3). FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: entries [0..0] look corrupted. FSCK: Node (55661), item (14), [44215:0(NAME):0:0:0]: broken item found. FSCK: Node (55661): the node is broken. Pointed from the node (72529), item (7), unit (0). The whole subtree is skipped. FSCK: Node (64366): Region of items [9-10] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-11] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-12] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-13] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-14] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-15] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-16] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-17] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-18] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-19] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-20] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-21] with wrong offsets should be removed. FSCK: Node (64366): Region of items [9-22] with wrong offsets should be removed. FSCK: Node (64366): Free space start (3222) is wrong. Should be (1195). FSCK: Node (64366): the node is broken. Pointed from the node (72523), item (20), unit (0). The whole subtree is skipped. Then i ran it with --build-fs: FSCK: Node (3112), item (12), [123c7:1(SD):12e747561726567:5a379:0]: item has the wrong length (56). Should be (2). Fixed. FSCK: Node (4294), item (0): Offset (12771) is wrong. Should be (28). Fixed. FSCK: Node (4294), item (0), [13819:4(FB):65786d616373:17465786d616373:d001381d]: does not look likea valid (sdext_symlink) statdata extension. FSCK: Node