utz lehmann wrote:
I've actually recently hit the same bug.
But it looks like Ananth hit the nail on the head
and found the problem.
Keep the cable handy :-)
> interesting.
> i repeated the test:
> - booting with the good kernel to recover the filesytem.
> - cp -av /usr/src/linux/ /tmp/
> - hardreset
> - booting the bad kernel
>
> [...]
> fatfs: bogus cluster size
> fatfs: bogus cluster size
> Start mounting filesystem: ide0(3,6)
> XFS: WARNING: recovery required on readonly filesystem.
>
> XFS: write access will be enabled during recovery.
>
> Starting XFS recovery on filesystem: ide0(3,6) (dev: 3/6)
> cmn_err level 1 Filesystem "ide0(3,6)": xfs_inode_recover: Bad inode log
> record, rec ptr 0xc12a2ce0, dino ptr 0xc12b9b00, dino bp 0xc7f45d00, ino
> 13752315, total extents = -2, nblocks = 0
> XFS: log mount/recovery failed
> XFS: log mount failed
> Kernel panic: VFS: Unable to mount root fs on 03:06
>
> the kernel hangs, no kdb!
>
> same procedure above:
>
> [...]
> fatfs: bogus cluster size
> fatfs: bogus cluster size
> Start mounting filesystem: ide0(3,6)
> XFS: WARNING: recovery required on readonly filesystem.
>
> XFS: write access will be enabled during recovery.
>
> Starting XFS recovery on filesystem: ide0(3,6) (dev: 3/6)
> Unable to handle kernel NULL pointer dereference at virtual address 0000003c
> printing eip:
> c0163d04
> *pde = 00000000
>
> Entering kdb (current=0xc125c000, pid 1) Panic: Oops
> due to panic @ 0xc0163d04
> eax = 0x00000000 ebx = 0xc7f87400 ecx = 0x00000000 edx = 0x00000200
> esi = 0xc1281d20 edi = 0x00000001 esp = 0xc125d944 eip = 0xc0163d04
> ebp = 0x00000000 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010282
> xds = 0x00000018 xes = 0x00000018 origeax = 0xffffffff ®s = 0xc125d910
> kdb> bt
> EBP EIP Function(args)
> 0x00000000c0163d04 pagebuf_geterror+0x4 (0x0)
> kernel .text 0xc0100000 0xc0163d00 0xc0163d08
> 0x00000000c01ad329 xlog_recover_do_buffer_trans+0x155 (0xc125bb60,
> 0xc12811e0, 0x2)
> kernel .text 0xc0100000 0xc01ad1d4 0xc01ad490
> 0x00000000c01adfb5 xlog_recover_do_trans+0xf9 (0xc125bb60,
> 0xc7f861a0, 0x2)
> kernel .text 0xc0100000 0xc01adebc 0xc01adfc8
> 0x00000000c01ae05b xlog_recover_commit_trans+0x27 (0xc125bb60,
> 0xc125da78, 0xc7f861a0, 0x2)
> kernel .text 0xc0100000 0xc01ae034 0xc01ae070
> 0x00000000c01ae1a8 xlog_recover_process_data+0x124 (0xc125bb60,
> 0xc125da60, 0xc7f8ec00, 0xc7f30d9c, 0x2)
> kernel .text 0xc0100000 0xc01ae084 0xc01ae230
> 0x00000000c01aed45 xlog_do_recovery_pass+0x42d (0xc125bb60, 0x6d9,
> 0x0, 0x123d, 0x0)
> kernel .text 0xc0100000 0xc01ae918 0xc01aeed0
> 0x00000000c01aef45 xlog_do_log_recovery+0x75 (0xc125bb60, 0x6d9,
> 0x0, 0x123d, 0x0)
> kernel .text 0xc0100000 0xc01aeed0 0xc01aef6c
> 0x00000000c01aef8e xlog_do_recover+0x22 (0xc125bb60, 0x6d9, 0x0,
> 0x123d, 0x0)
> kernel .text 0xc0100000 0xc01aef6c 0xc01af064
> 0x00000000c01af100 xlog_recover+0x9c (0xc125bb60, 0x1)
> kernel .text 0xc0100000 0xc01af064 0xc01af128
> 0x00000000c01a9045 xfs_log_mount+0x75 (0xc7f87400, 0x306,
> 0x24c520, 0x0, 0x2580)
> kernel .text 0xc0100000 0xc01a8fd0 0xc01a907c
> 0x00000000c01b07e8 xfs_mountfs+0xcf4 (0xc7f86160, 0xc7f87400,
> 0x306, 0x0)
> more>
> kernel .text 0xc0100000 0xc01afaf4 0xc01b0c64
> 0x00000000c01b8bd9 xfs_cmountfs+0x51d (0xc7f86160, 0x306, 0x306,
> 0x0, 0x2)
> kernel .text 0xc0100000 0xc01b86bc 0xc01b8c44
> 0x00000000c01b8dde xfs_mount+0xd2 (0xc7f86160, 0xc7f8e6ec,
> 0xc125df20, 0xc0388fe0, 0xc7f86160)
> kernel .text 0xc0100000 0xc01b8d0c 0xc01b8de8
> 0x00000000c01b8e0b xfs_vfsmount+0x23 (0xc7f86160, 0xc7f8e6ec,
> 0xc125df20, 0x0, 0xc0388fe0)
> kernel .text 0xc0100000 0xc01b8de8 0xc01b8e20
> 0x00000000c01c9bc1 linvfs_read_super+0x225 (0xc7f8e400, 0x0, 0x1)
> kernel .text 0xc0100000 0xc01c999c 0xc01c9ca4
> 0x00000000c01337bc read_super+0x100 (0x306, 0xc7f85120,
> 0xc0326270, 0x1, 0x0)
> kernel .text 0xc0100000 0xc01336bc 0xc013382c
> 0x00000000c033c834 mount_root+0x164
> kernel .text.init 0xc0336000 0xc033c6d0
> 0xc033ca40
> 0x00000000c033692e do_basic_setup+0x3a
> kernel .text.init 0xc0336000 0xc03368f4
> 0xc0336930
> 0x00000000c0107007 init+0x7
> kernel .text 0xc0100000 0xc0107000 0xc0107150
> 0x00000000c0108da7 kernel_thread+0x23
> kernel .text 0xc0100000 0xc0108d84 0xc0108db4
> kdb>
--
Russell Cattelan
cattelan@xxxxxxxxxxx
|