Broken UFS in 2.2.13?

Vladimir Litovka (doka@kiev.sovam.com)
Sun, 5 Dec 1999 19:09:15 +0200 (EET)


Hello!

I've just installed new Linux system (Slackware7 with kernel 2.2.13) and
experiencing the same error when mounting my UFS (FreeBSD 3.2-STABLE)
partition. After this error all subsequent calls to mount/umount freeze
and there aren't any ways to break them (kill -15, kill -9), only cold
reset. But system continues to work. This error appears when UFS support
either compiled as kernel part or module and independently on 'UFS
filesystem write support'.

Few reports, that may help you in discovering problem:

===========================================================================
-- Versions installed: (if some fields are empty or looks
-- unusual then possibly you have very old versions)
Linux doka 2.2.13 #8 Sun Dec 5 18:38:56 EET 1999 i586 unknown
Kernel modules 2.1.121
Gnu C egcs-2.91.66
Binutils 2.9.1.0.25
Linux C Library ..
Dynamic Linker (ld.so) 1.9.9
Procps 2.0.2
Mount 2.9v
Net-tools (1999-04-20)
Kbd 0.99
Sh-utils 1.16

===========================================================================
[doka:tty1] root (~) $ mount -t ufs -o ufstype=44bsd /dev/hda2 /mnt
Unable to handle kernel paging request at virtual address c603cd58
current->tss.cr3 = 015fa000, %cr3 = 015fa000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c014cf32>]
EFLAGS: 00010246
eax: 00008000 ebx: c5ffcc00 ecx: c603cc00 edx: c15ae000
esi: c15b0e00 edi: 00000000 ebp: 00000100 esp: c15f9e70
ds: 0018 es: 0018 ss: 0018
Process mount (pid: 77, process nr: 20, stackpage=c15f9000)
Stack: c01ba80c 00000302 c5ffcc00 c15c04a0 c013b63d c15c04a0 c1666330 c15c04a0
fffffff4 c15c04a0 c5fda000 c5fd306c c012ae61 c15c04a0 c15c04a0 00000100
c5fd6060 00002130 00000800 c15b0e00 c15ae000 c603cc00 00000302 c0127a64
Call Trace: [<c013b63d>] [<c012ae61>] [<c0127a64>] [<c0127b38>] [<c0127fa4>] [<c01a045f>] [<c0128498>]
[<c01a045f>] [<c0108f48>]
Code: 8b 81 58 01 00 00 85 ff 74 02 0f c8 89 86 b8 00 00 00 8b 5c
Segmentation fault
===========================================================================

and 'gdb vmlinux /dev/kcore' reports:

===========================================================================
(gdb) l *0xc014cf32
0xc014cf32 is in ufs_read_super (swab.h:77).
72 if (swab)
73 return swab16(x);
74 else
75 return x;
76 }
77 extern __inline__ __const__ __u32 ufs_swab32(unsigned swab, __u32 x) {
78 if (swab)
79 return swab32(x);
80 else
81 return x;
===========================================================================

also, ksymoops report:

===========================================================================
WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -V (default)
-o /lib/modules/2.2.13/ (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-m /usr/src/linux/System.map (default)
-c 1 (default)

You did not tell me where to find symbol information. I will assume
that the log matches the kernel and modules that are running right now
and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.

No modules in ksyms, skipping objects
Warning, no symbols in lsmod, is /proc/modules a valid lsmod file?
Unable to handle kernel paging request at virtual address c603cd58
current->tss.cr3 = 015fa000, %cr3 = 015fa000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c014cf32>]
EFLAGS: 00010246
eax: 00008000 ebx: c5ffcc00 ecx: c603cc00 edx: c15ae000
esi: c15b0e00 edi: 00000000 ebp: 00000100 esp: c15f9e70
ds: 0018 es: 0018 ss: 0018
Process mount (pid: 77, process nr: 20, stackpage=c15f9000)
Stack: c01ba80c 00000302 c5ffcc00 c15c04a0 c013b63d c15c04a0 c1666330 c15c04a0
fffffff4 c15c04a0 c5fda000 c5fd306c c012ae61 c15c04a0 c15c04a0 00000100
c5fd6060 00002130 00000800 c15b0e00 c15ae000 c603cc00 00000302 c0127a64
Call Trace: [<c013b63d>] [<c012ae61>] [<c0127a64>] [<c0127b38>] [<c0127fa4>] [<c01a045f>] [<c0128498>]
[<c01a045f>] [<c0108f48>]
Code: 8b 81 58 01 00 00 85 ff 74 02 0f c8 89 86 b8 00 00 00 8b 5c

>>EIP: c014cf32 <ufs_read_super+8b6/bfc>
Trace: c013b63d <ext2_lookup+71/7c>
Trace: c012ae61 <real_lookup+55/84>
Trace: c0127a64 <get_empty_super+58/98>
Trace: c0127b38 <read_super+94/c0>
Trace: c0127fa4 <do_mount+a0/10c>
Trace: c01a045f <cprt+39ff/4d45>
Trace: c0128498 <sys_mount+2b0/30c>
Trace: c01a045f <cprt+39ff/4d45>
Code: c014cf32 <ufs_read_super+8b6/bfc> 00000000 <_EIP>: <===
Code: c014cf32 <ufs_read_super+8b6/bfc> 0: 8b 81 58 01 00 00 movl 0x158(%ecx),%eax <===
Code: c014cf38 <ufs_read_super+8bc/bfc> 6: 85 ff testl %edi,%edi
Code: c014cf3a <ufs_read_super+8be/bfc> 8: 74 02 je c014cf3e <ufs_read_super+8c2/bfc>
Code: c014cf3c <ufs_read_super+8c0/bfc> a: 0f c8 bswap %eax
Code: c014cf3e <ufs_read_super+8c2/bfc> c: 89 86 b8 00 00 00 movl %eax,0xb8(%esi)
Code: c014cf44 <ufs_read_super+8c8/bfc> 12: 8b 5c 00 00 movl 0x0(%eax,%eax,1),%ebx

4 warnings issued. Results may not be reliable.
===========================================================================

-- 
Vladimir Litovka <doka@kiev.sovam.com>
 . Phone/Fax: +380 44 2351511
 . ICQ/none, talk/none ;)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/