On Wed, Jan 05, 2005 at 04:45:15PM -0800, Andrew Morton wrote:
>
> Interesting. Maybe linvfs_mknod is passing d_instantiate an inode which
> has NULL pointers in its ->i_dentry list_head?
Extremly unlikely. XFS doesn't mess with ->i_dentry itself at all, and
the core code dealing with it all uses list.h macros that never insert
NULL pointers either.
Looking at the lkml archives Justin has reported various similar very
strange errors using both XFS and ext2 with 2.6.10 before. This look
like either a somehow corrupted kernel tree (do you use any patches or
non-standard modules Justin?) or unlikely some issue with the (emulated)
hardware to me.
>
> Begin forwarded message:
>
> Date: Wed, 5 Jan 2005 10:52:41 -0500 (EST)
> From: Justin Piszcz <jpiszcz@xxxxxxxxxxxxxxx>
> To: linux-kernel@xxxxxxxxxxxxxxx
> Subject: Major problem with 2.6.10 under VMWare.
>
>
> As I have reported yesterday, I have tried over 16-17 different kernel
> compilation iterations with different options enabled and disabled. All
> of which end up with oopses such as the one below. I booted back to
> 2.4.27 and then compiled 2.6.9 with the SAME options [make oldconfig
> from 2.6.10] as the last revision of the 2.6.10 that was oopsing, I am
> now running 2.6.9 without a single error, oops or issue. What changed
> in 2.6.10 that would cause such catastrophic problems below and in
> previous e-mails? After the oopses, many programs simply crashed with
> Segmentation fault.
>
> I also tried the following:
>
> 1) Re-installing Debian Sarge 3.1rc2 (once w/XFS)
> 2) Re-installing Debian Sarge 3.1rc2 (twice w/EXT2)
> 3) Wiped old Virtual Machine, created a new one from scratch.
> Re-installing Debian Sarge 3.1rc2 (third time w/XFS+SCSI)
> * This time used SCSI disk instead of IDE
>
> None of the above solved the problem [each used 2.6.10].
>
> The VMWare build is 4.5.2-8848 (latest stable)
>
> Both .configs are attached (2.6.9 & 2.6.10)
>
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000004
> printing eip:
> c016303a
> *pde = 00000000
> Oops: 0002 [#3]
> PREEMPT
> CPU: 0
> EIP: 0060:[<c016303a>] Not tainted VLI
> EFLAGS: 00010286 (2.6.10)
> EIP is at d_instantiate+0x3a/0x70
> eax: 00000000 ebx: df4a5198 ecx: ddc84000 edx: da68434c
> esi: da68433c edi: df4a5164 ebp: dcc97780 esp: ddc85da8
> ds: 007b es: 007b ss: 0068
> Process korgac (pid: 1173, threadinfo=ddc84000 task=da7f19e0)
> Stack: 00000000 da68433c 00000000 c027f008 df4a5164 da68433c ddc85e64
> ddc85dd0
> 00000000 00000000 da684320 ddc85de8 c023b96a ddc85dec dba9f9d0
> ddc85de8
> 00000001 df4a51c8 00000017 00000008 c0122fd2 dc2c1180 fc7b20d6
> 00000000
> Call Trace:
> [<c027f008>] linvfs_mknod+0x1b8/0x410
> [<c023b96a>] xfs_dir2_lookup+0x12a/0x160
> [<c0122fd2>] in_group_p+0x42/0x80
> [<c025686a>] xfs_iaccess+0xca/0x1e0
> [<c02715af>] xfs_access+0x4f/0x60
> [<c026d2bc>] xfs_dir_lookup_int+0x4c/0x130
> [<c0158332>] permission+0x52/0x60
> [<c0159cb7>] vfs_create+0x87/0xd0
> [<c015a4b6>] open_namei+0x5b6/0x610
> [<c014a5ee>] filp_open+0x3e/0x70
> [<c014a7e9>] get_unused_fd+0x39/0xe0
> [<c014a959>] sys_open+0x49/0x90
> [<c01024ff>] syscall_call+0x7/0xb
> Code: 74 24 04 8d 5f 34 8b 74 24 14 39 5f 34 74 08 0f 0b 09 03 ac 24 3d
> c0 b9 00 e0 ff ff 21 e1 ff 41 14 85 f6 74 12 8b 46 10 8d 56 10 <89> 58
> 04 89 47 34 89 53 04 89 5e 10 89 77 08 ff 49 14 8b 41 08
> <6>note: korgac[1173] exited with preempt_count 1
> scheduling while atomic: korgac/0x00000001/1173
> [<c03bb532>] schedule+0x532/0x540
> [<c013af63>] unmap_page_range+0x53/0x80
> [<c013b146>] unmap_vmas+0x1b6/0x1d0
> [<c013f7fd>] exit_mmap+0x7d/0x160
> [<c0112b37>] mmput+0x37/0xa0
> [<c0116dd7>] do_exit+0x167/0x3d0
> [<c01036bb>] die+0x18b/0x190
> [<c0114d47>] printk+0x17/0x20
> [<c010fda4>] do_page_fault+0x244/0x5de
> [<c0256ae9>] xfs_ichgtime+0x119/0x11b
> [<c0164e1a>] igrab+0x4a/0x50
> [<c0272f73>] xfs_create+0x573/0x760
> [<c010fb60>] do_page_fault+0x0/0x5de
> [<c0102f13>] error_code+0x2b/0x30
> [<c016303a>] d_instantiate+0x3a/0x70
> [<c027f008>] linvfs_mknod+0x1b8/0x410
> [<c023b96a>] xfs_dir2_lookup+0x12a/0x160
> [<c0122fd2>] in_group_p+0x42/0x80
> [<c025686a>] xfs_iaccess+0xca/0x1e0
> [<c02715af>] xfs_access+0x4f/0x60
> [<c026d2bc>] xfs_dir_lookup_int+0x4c/0x130
> [<c0158332>] permission+0x52/0x60
> [<c0159cb7>] vfs_create+0x87/0xd0
> [<c015a4b6>] open_namei+0x5b6/0x610
> [<c014a5ee>] filp_open+0x3e/0x70
> [<c014a7e9>] get_unused_fd+0x39/0xe0
> [<c014a959>] sys_open+0x49/0x90
> [<c01024ff>] syscall_call+0x7/0xb
> scheduling while atomic: korgac/0x00000001/1173
> [<c03bb532>] schedule+0x532/0x540
> [<c013af63>] unmap_page_range+0x53/0x80
> [<c013b146>] unmap_vmas+0x1b6/0x1d0
> [<c013f7fd>] exit_mmap+0x7d/0x160
> [<c0112b37>] mmput+0x37/0xa0
> [<c0116dd7>] do_exit+0x167/0x3d0
> [<c01036bb>] die+0x18b/0x190
> [<c0114d47>] printk+0x17/0x20
> [<c010fda4>] do_page_fault+0x244/0x5de
> [<c0256ae9>] xfs_ichgtime+0x119/0x11b
> [<c0164e1a>] igrab+0x4a/0x50
> [<c0272f73>] xfs_create+0x573/0x760
> [<c010fb60>] do_page_fault+0x0/0x5de
> [<c0102f13>] error_code+0x2b/0x30
> [<c016303a>] d_instantiate+0x3a/0x70
> [<c027f008>] linvfs_mknod+0x1b8/0x410
> [<c023b96a>] xfs_dir2_lookup+0x12a/0x160
> [<c0122fd2>] in_group_p+0x42/0x80
> [<c025686a>] xfs_iaccess+0xca/0x1e0
> [<c02715af>] xfs_access+0x4f/0x60
> [<c026d2bc>] xfs_dir_lookup_int+0x4c/0x130
> [<c0158332>] permission+0x52/0x60
> [<c0159cb7>] vfs_create+0x87/0xd0
> [<c015a4b6>] open_namei+0x5b6/0x610
> [<c014a5ee>] filp_open+0x3e/0x70
> [<c014a7e9>] get_unused_fd+0x39/0xe0
> [<c014a959>] sys_open+0x49/0x90
> [<c01024ff>] syscall_call+0x7/0xb
> scheduling while atomic: korgac/0x00000001/1173
> [<c03bb532>] schedule+0x532/0x540
> [<c013af63>] unmap_page_range+0x53/0x80
> [<c013b146>] unmap_vmas+0x1b6/0x1d0
> [<c013f7fd>] exit_mmap+0x7d/0x160
> [<c0112b37>] mmput+0x37/0xa0
> [<c0116dd7>] do_exit+0x167/0x3d0
> [<c01036bb>] die+0x18b/0x190
> [<c0114d47>] printk+0x17/0x20
> [<c010fda4>] do_page_fault+0x244/0x5de
> [<c0256ae9>] xfs_ichgtime+0x119/0x11b
> [<c0164e1a>] igrab+0x4a/0x50
> [<c0272f73>] xfs_create+0x573/0x760
> [<c010fb60>] do_page_fault+0x0/0x5de
> [<c0102f13>] error_code+0x2b/0x30
> [<c016303a>] d_instantiate+0x3a/0x70
> [<c027f008>] linvfs_mknod+0x1b8/0x410
> [<c023b96a>] xfs_dir2_lookup+0x12a/0x160
> [<c0122fd2>] in_group_p+0x42/0x80
> [<c025686a>] xfs_iaccess+0xca/0x1e0
> [<c02715af>] xfs_access+0x4f/0x60
> [<c026d2bc>] xfs_dir_lookup_int+0x4c/0x130
> [<c0158332>] permission+0x52/0x60
> [<c0159cb7>] vfs_create+0x87/0xd0
> [<c015a4b6>] open_namei+0x5b6/0x610
> [<c014a5ee>] filp_open+0x3e/0x70
> [<c014a7e9>] get_unused_fd+0x39/0xe0
> [<c014a959>] sys_open+0x49/0x90
> [<c01024ff>] syscall_call+0x7/0xb
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000024
> printing eip:
> c016d5ce
> *pde = 00000000
> Oops: 0000 [#4]
> PREEMPT
> CPU: 0
> EIP: 0060:[<c016d5ce>] Not tainted VLI
> EFLAGS: 00010202 (2.6.10)
> EIP is at __mark_inode_dirty+0x1e/0x1c0
> eax: 00000000 ebx: 00000001 ecx: 00000001 edx: c041fd20
> esi: df959ce4 edi: 0000799b ebp: da68433c esp: c158dde0
> ds: 007b es: 007b ss: 0068
> Process xfslogd/0 (pid: 11, threadinfo=c158c000 task=c153a580)
> Stack: 00000036 0000799b 00000036 df959ce4 dfcb9814 0000799b 00000036
> c026b8c5
> dfcb9814 00000000 d816b030 df959ce4 0000799b 00000036 c025591e
> da68433c
> 00000001 00000000 c026b4be d816b030 00000000 0000799b 00000036
> 00000000
> Call Trace:
> [<c026b8c5>] xfs_trans_update_ail+0x55/0xf0
> [<c025591e>] xfs_iunpin+0x5e/0x70
> [<c026b4be>] xfs_trans_chunk_committed+0x17e/0x210
> [<c026b26a>] xfs_trans_committed+0x4a/0x120
> [<c025da93>] xlog_state_do_callback+0x243/0x300
> [<c025dbc3>] xlog_state_done_syncing+0x73/0xb0
> [<c025c435>] xlog_iodone+0x55/0xe0
> [<c027afed>] pagebuf_iodone_work+0x4d/0x50
> [<c0124019>] worker_thread+0x1d9/0x2a0
> [<c027afa0>] pagebuf_iodone_work+0x0/0x50
> [<c01118f0>] default_wake_function+0x0/0x20
> [<c01118f0>] default_wake_function+0x0/0x20
> [<c0123e40>] worker_thread+0x0/0x2a0
> [<c0127e9a>] kthread+0xaa/0xb0
> [<c0127df0>] kthread+0x0/0xb0
> [<c01006dd>] kernel_thread_helper+0x5/0x18
> Code: 2a 12 00 59 e9 f2 f6 ff ff 90 90 90 90 55 57 56 53 83 ec 28 8b 6c
> 24 3c 8b 5c 24 40 8b 85 8c 00 00 00 f6 c3 03 89 44 24 24 74 0e <8b> 40
> 24 8b 70 0c 85 f6 0f 85 84 01 00 00 8b 85 04 01 00 00 21
> <1>Unable to handle kernel NULL pointer dereference at virtual address
> 00000000
> printing eip:
> c0162612
> *pde = 00000000
> Oops: 0000 [#5]
> PREEMPT
> CPU: 0
> EIP: 0060:[<c0162612>] Not tainted VLI
> EFLAGS: 00010206 (2.6.10)
> EIP is at __d_find_alias+0x22/0xb0
> eax: da684204 ebx: d9158000 ecx: 00000000 edx: 00000000
> esi: 00004000 edi: da684214 ebp: 00000000 esp: d9159dd8
> ds: 007b es: 007b ss: 0068
> Process kdeinit (pid: 1159, threadinfo=d9158000 task=dcca6580)
> Stack: d9158000 da684204 dcc480dc 00000000 c0163240 da684204 00000001
> dcc480dc
> dcc480dc d9d9ab44 d9159eb4 c027f32c da684204 dcc480dc d9159e20
> 00000000
> 00000000 00000000 da6841e8 fffffff4 c01585c1 d9d9ab44 dcc480dc
> d9159f18
> Call Trace:
> [<c0163240>] d_splice_alias+0x40/0xf0
> [<c027f32c>] linvfs_lookup+0x8c/0x90
> [<c01585c1>] real_lookup+0xc1/0xf0
> [<c0158876>] do_lookup+0x96/0xb0
> [<c0158f54>] link_path_walk+0x6c4/0xd60
> [<c01622c3>] dput+0x33/0x220
> [<c015988c>] path_lookup+0x7c/0x140
> [<c0159b13>] __user_walk+0x33/0x60
> [<c015488c>] vfs_lstat+0x1c/0x60
> [<c0154fbb>] sys_lstat64+0x1b/0x40
> [<c01024ff>] syscall_call+0x7/0xb
> Code: 89 c8 c3 8d b6 00 00 00 00 55 31 ed 57 56 53 8b 44 24 14 8b 50 10
> 8d 78 10 39 fa 74 56 0f b7 70 20 81 e6 00 f0 00 00 89 f6 89 d1 <8b> 12
> 0f 18 02 90 81 fe 00 40 00 00 8d 59 cc 74 6d 8b 43 04 a8
> <6>note: kdeinit[1159] exited with preempt_count 1
> scheduling while atomic: kdeinit/0x00000001/1159
> [<c03bb532>] schedule+0x532/0x540
> [<c013af63>] unmap_page_range+0x53/0x80
> [<c013b146>] unmap_vmas+0x1b6/0x1d0
> [<c013f7fd>] exit_mmap+0x7d/0x160
> [<c0112b37>] mmput+0x37/0xa0
> [<c0116dd7>] do_exit+0x167/0x3d0
> [<c01036bb>] die+0x18b/0x190
> [<c0114d47>] printk+0x17/0x20
> [<c010fda4>] do_page_fault+0x244/0x5de
> [<c0250b82>] xfs_iget_core+0x362/0x5e0
> [<c0250f30>] xfs_iget+0x130/0x170
> [<c010fb60>] do_page_fault+0x0/0x5de
> [<c0102f13>] error_code+0x2b/0x30
> [<c0162612>] __d_find_alias+0x22/0xb0
> [<c0163240>] d_splice_alias+0x40/0xf0
> [<c027f32c>] linvfs_lookup+0x8c/0x90
> [<c01585c1>] real_lookup+0xc1/0xf0
> [<c0158876>] do_lookup+0x96/0xb0
> [<c0158f54>] link_path_walk+0x6c4/0xd60
> [<c01622c3>] dput+0x33/0x220
> [<c015988c>] path_lookup+0x7c/0x140
> [<c0159b13>] __user_walk+0x33/0x60
> [<c015488c>] vfs_lstat+0x1c/0x60
> [<c0154fbb>] sys_lstat64+0x1b/0x40
> [<c01024ff>] syscall_call+0x7/0xb
---end quoted text---
|