Skip to contentSkip to conversation

Sparc32 oops in chmod (2.2.20 SMP)

DISCUSSION [email protected] 2 participants 3 messages Apr 29, 2002 – May 5, 2002

lore
Share & tools
lore
#0 lore raw

Hi,

I'm having some problems with my dual SparcServer 20. While doing a chmod() in /dev (while booting), it gives the following oops. The strange thing is : if I boot with console=/dev/ttyS1 , with /dev/console being a symlink to /dev/ttyS0, the oops doesn't happen (but I don't get kernel messages, not even on ttyS1) The kernel was compiled with 2.95.2 (debian potato).
This oops is 100% reproducible.
I also get semi-random lockups (probably) during disk-io.

I had (probably) the same problem with 2.2.14.

Frank

ksymoops 2.3.4 on sparc 2.2.20. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.2.20/ (default)
-m /boot/System.map-2.2.20 (default)

Warning: 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 (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod file?
Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list not found in System.map. Ignoring ksyms_base entry

Unable to handle kernel NULL pointer dereference<1>tsk->mm->context = 00000059
tsk->mm->pgd = f7bb3000
              "@'/ ,. \`@"
              /_| \__/ |_\
                 \__U_/

chmod(97): Oops
PSR: 401000c4 PC: f005d51c NPC: f005d520 Y: 1b000000
Using defaults from ksymoops -t elf32-sparc -a sparc
g0: f007a4f8 g1: f03c49b0 g2: 00000000 g3: 000000a0 g4: f004de20 g5: f01b8265 g6: f798a000 g7: 00000014
o0: 00000000 o1: 00000900 o2: 00001000 o3: 000000c9 o4: f7e25600 o5: 00000014 sp: f798bc18 o7: f0079c94
l0: 00000000 l1: f7e25600 l2: 00000000 l3: f0409b3c l4: 00000008 l5: f01b8265 l6: f798a000 l7: f0052a84
i0: 00000000 i1: 000242ab i2: f01f3cd8 i3: 00000000 i4: 00000000 i5: 0000b700 fp: f798bc80 i7: f005d974 Caller[f005d974]
Caller[f005d9d8]
Caller[f007bb38]
Caller[f0055230]
Caller[f0055638]
Caller[f0055744]
Caller[f0052ab8]
Caller[f00154bc]
Caller[f00c36b4]
Instruction DUMP: 02800017 b0102000 b0100010 <d0062068> 80a20011 32bffffa e0040000 d0062018 80a20019

Quoted 3 lines
Quoted 3 lines
PC;  f005d51c <find_inode+20/78>   <=====
O7;  f0079c94 <inode_getblk+68/294>
I7;  f005d974 <iget4+50/a4>

Trace; f005d974 <iget4+50/a4>
Trace; f005d9d8 <iget+10/20>
Trace; f007bb38 <ext2_lookup+78/ac>
Trace; f0055230 <real_lookup+6c/100>
Trace; f0055638 <lookup_dentry+2ac/398>
Trace; f0055744 <__namei+20/68>
Trace; f0052ab8 <sys_newlstat+34/c8>
Trace; f00154bc <syscall_is_too_hard+34/40>
Trace; f00c36b4 <nlm_lookup_file+18c/248>
Code; f005d510 <find_inode+14/78>
0000000000000000 <_PC>:
Code; f005d510 <find_inode+14/78>
0: 02 80 00 17 be 5c <_PC+0x5c> f005d56c <find_inode+70/78>
Code; f005d514 <find_inode+18/78>
4: b0 10 20 00 clr %i0
Code; f005d518 <find_inode+1c/78>
8: b0 10 00 10 mov %l0, %i0
Code; f005d51c <find_inode+20/78> <=====
c: d0 06 20 68 ld [ %i0 + 0x68 ], %o0 <=====
Code; f005d520 <find_inode+24/78>
10: 80 a2 00 11 cmp %o0, %l1
Code; f005d524 <find_inode+28/78>
14: 32 bf ff fa bne,a fffffffffffffffc <_PC+0xfffffffffffffffc> f005d50c <find_inode+10/78>
Code; f005d528 <find_inode+2c/78>
18: e0 04 00 00 ld [ %l0 ], %l0
Code; f005d52c <find_inode+30/78>
1c: d0 06 20 18 ld [ %i0 + 0x18 ], %o0
Code; f005d530 <find_inode+34/78>
20: 80 a2 00 19 cmp %o0, %i1

3 warnings issued. Results may not be reliable.

#1 lore raw
Quoted 8 lines
Quoted 3 lines
Quoted 2 lines

OK. If I can get my cpio file down to reasonable size, and still crash the system, I'll put it online and send you an URL.

Oook.

http://www.xs4all.be/~gevaerts/ca.cpio.gz
(+- 1.5 MB, 26 MB uncompressed)
(contains one postscript file of some calvin & hobbes strips) cat ca.cpio.gz|gunzip|cpio -ivmd
hangs my system reliably.

kala@louise:/ap/tmp/t$ wget -q http://www.xs4all.be/~gevaerts/ca.cpio.gz
kala@louise:/ap/tmp/t$ ls -l
total 1476
-rw-r--r--    1 kala     users     1503405 Apr 29 22:27 ca.cpio.gz
kala@louise:/ap/tmp/t$ time cat ca.cpio.gz| gunzip| cpio -ivmd
cpio: warning: archive header has reverse byte-order
ch.ps
50867 blocks
real    0m18.468s
user    0m8.330s
sys     0m17.060s
kala@louise:/ap/tmp/t$ ls -la
total 26952
drwxr-xr-x    2 kala     users        4096 Apr 29 23:10 ./
drwxrwxrwt    3 root     root         4096 Apr 29 23:08 ../
-rw-r--r--    1 kala     users     1503405 Apr 29 22:27 ca.cpio.gz
-rw-rw-r--    1 kala     users    26043638 Jan 29 22:05 ch.ps

hmmmmm.
what now?

T.

Signature · 2 lines
"hello it's not like i read my mail so that you have where to offer to sell me
a giant turnip or anything else thankyou." -tomas szepe <[email protected]>          
#2 lore raw
In reply to [email protected]
Quoted 11 lines · On Mon, Apr 29, 2002 at 08:14:45PM +0200, [email protected] wrote:

Hi,

I'm having some problems with my dual SparcServer 20. While doing a chmod() in /dev (while booting), it gives the following oops. The strange thing is : if I boot with console=/dev/ttyS1 , with /dev/console being a symlink to /dev/ttyS0, the oops doesn't happen (but I don't get kernel messages, not even on ttyS1) The kernel was compiled with 2.95.2 (debian potato).
This oops is 100% reproducible.
I also get semi-random lockups (probably) during disk-io.

Quoted 1 line

I had (probably) the same problem with 2.2.14.

I took out one of the CPU modules, and everything seems to work fine now. Since the machine won't even run SILO correctly with only the CPU I removed, it seems clear to me that this is a hardware problem.

Frank

Quoted 84 lines

Frank

ksymoops 2.3.4 on sparc 2.2.20. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.2.20/ (default)
-m /boot/System.map-2.2.20 (default)

Warning: 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 (read_lsmod): no symbols in lsmod, is /proc/modules a valid lsmod file?
Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list not found in System.map. Ignoring ksyms_base entry

Unable to handle kernel NULL pointer dereference<1>tsk->mm->context = 00000059
tsk->mm->pgd = f7bb3000
              "@'/ ,. \`@"
              /_| \__/ |_\
                 \__U_/

chmod(97): Oops
PSR: 401000c4 PC: f005d51c NPC: f005d520 Y: 1b000000
Using defaults from ksymoops -t elf32-sparc -a sparc
g0: f007a4f8 g1: f03c49b0 g2: 00000000 g3: 000000a0 g4: f004de20 g5: f01b8265 g6: f798a000 g7: 00000014
o0: 00000000 o1: 00000900 o2: 00001000 o3: 000000c9 o4: f7e25600 o5: 00000014 sp: f798bc18 o7: f0079c94
l0: 00000000 l1: f7e25600 l2: 00000000 l3: f0409b3c l4: 00000008 l5: f01b8265 l6: f798a000 l7: f0052a84
i0: 00000000 i1: 000242ab i2: f01f3cd8 i3: 00000000 i4: 00000000 i5: 0000b700 fp: f798bc80 i7: f005d974 Caller[f005d974]
Caller[f005d9d8]
Caller[f007bb38]
Caller[f0055230]
Caller[f0055638]
Caller[f0055744]
Caller[f0052ab8]
Caller[f00154bc]
Caller[f00c36b4]
Instruction DUMP: 02800017 b0102000 b0100010 <d0062068> 80a20011 32bffffa e0040000 d0062018 80a20019

Quoted 3 lines
Quoted 3 lines
PC;  f005d51c <find_inode+20/78>   <=====
O7;  f0079c94 <inode_getblk+68/294>
I7;  f005d974 <iget4+50/a4>

Trace; f005d974 <iget4+50/a4>
Trace; f005d9d8 <iget+10/20>
Trace; f007bb38 <ext2_lookup+78/ac>
Trace; f0055230 <real_lookup+6c/100>
Trace; f0055638 <lookup_dentry+2ac/398>
Trace; f0055744 <__namei+20/68>
Trace; f0052ab8 <sys_newlstat+34/c8>
Trace; f00154bc <syscall_is_too_hard+34/40>
Trace; f00c36b4 <nlm_lookup_file+18c/248>
Code; f005d510 <find_inode+14/78>
0000000000000000 <_PC>:
Code; f005d510 <find_inode+14/78>
0: 02 80 00 17 be 5c <_PC+0x5c> f005d56c <find_inode+70/78>
Code; f005d514 <find_inode+18/78>
4: b0 10 20 00 clr %i0
Code; f005d518 <find_inode+1c/78>
8: b0 10 00 10 mov %l0, %i0
Code; f005d51c <find_inode+20/78> <=====
c: d0 06 20 68 ld [ %i0 + 0x68 ], %o0 <=====
Code; f005d520 <find_inode+24/78>
10: 80 a2 00 11 cmp %o0, %l1
Code; f005d524 <find_inode+28/78>
14: 32 bf ff fa bne,a fffffffffffffffc <_PC+0xfffffffffffffffc> f005d50c <find_inode+10/78>
Code; f005d528 <find_inode+2c/78>
18: e0 04 00 00 ld [ %l0 ], %l0
Code; f005d52c <find_inode+30/78>
1c: d0 06 20 18 ld [ %i0 + 0x18 ], %o0
Code; f005d530 <find_inode+34/78>
20: 80 a2 00 19 cmp %o0, %i1

3 warnings issued. Results may not be reliable.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/