NFS/RPC -> Aiee: scheduling in interrupt

Hannu Savolainen (hannu@voxware.pp.fi)
Mon, 8 Jul 1996 10:57:35 +0300 (EET DST)


Hi,

I got three oops (enclosed) while doing C compilations. I used a script
which performed the same compilation four times (with different
settings). The source files were on remote (NFS) partition while the
objects were produced to a local directory.

I didn't got ksymoops to work (wrong C++ libraries?) so I did it
manually. The last two Oops were propably caused when kernel was
recovering from the first one (killing the process).

Hannu
-----------------------------
Hannu Savolainen (hannu@voxware.pp.fi, hannu@4front-tech.com)
http://personal.eunet.fi/pp/voxware/hannu.html (my home page)
http://www.4Front-Tech.com/uss.html (UNIX Sound System (USS))
http://personal.eunet.fi/pp/voxware (USS Lite/TASD/VoxWare)
----------- cut here -----------
Aiee: scheduling in interrupt 001717a7 <--- nfs_rpc_doio
Unable to handle kernel paging request at virtual address c734dfb0
current->tss.cr3 = 0082d000, Lr3 = 0082d000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<0734dfb0>] <--- ????????????????
EFLAGS: 00010246
eax: 0734dfb0 ebx: 009d3214 ecx: 01dedb1c edx: 001e8f30
esi: 01dedb18 edi: 00000002 ebp: 00000001 esp: 01dedab0
ds: 0018 es: 0018 fs: 0018 gs: 002b ss: 0018
Process cpp (pid: 1945, process nr: 30, stackpage=01ded000)
Stack: 00152526 009d3214 01dedb1c 00000004 00000001 00000002 01dedb18 00000202
01dedb4c 01dedb38 01dedbd4 00171933 0172e918 01dedb1c 00000004 00000001
00000002 01dedb18 00000090 00016844 00016810 01dedc34 0172e918 00000000
Call Trace: [<00152526>] <--- inet_recvmsg
[<00171933>] <--- rpc_recv
[<0014d9dc>] <--- udp_sendto
[<0014da24>] <--- udp_sendmsg
[<001525e1>] <--- inet_sendmsg
[<00171e1f>] <--- rpc_doio
[<00110290>] <--- do_page_fault+0
[<0014da24>] <--- udp_sendmsg
[<0017450e>] <--- nfs_refresh_inode
[<00172609>] <--- nfs_fhget
[<0017119c>] <--- nfs_rpc_doio
[<00173501>] <--- nfs_kfree_cache
[<001710cc>] <--- nfs_rpc_call
[<00172609>] <--- nfs_fhget
[<0017450e>] <--- nfs_refresh_inode
[<00172609>] <--- nfs_fhget
[<0017393e>] <--- nfs_lookup
[<001739bc>] <--- nfs_lookup
[<0017393e>] <--- nfs_lookup
[<001739bc>] <--- nfs_lookup
[<001739e9>] <--- nfs_lookup
[<0011eca3>] <--- kmalloc
[<00170ef6>] <--- nfs_rpc_header
[<0016f423>] <--- nfs_proc_lookup
[<0017396f>] <--- nfs_lookup
[<001241a6>] <--- iput
[<0015d4d1>] <--- ext2_follow_link
[<0012d207>] <--- follow_link
[<0012d2c6>] <--- dir_namei
[<0012d17e>] <--- lookup
[<0012d711>] <--- open_namei
[<00122ced>] <--- do_open
[<00122e8f>] <--- sys_open
[<0010a682>] <--- system_call

Code: <1>Unable to handle kernel paging request at virtual address c734dfb0
current->tss.cr3 = 0082d000, Lr3 = 0082d000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<0010abfb>] <--- die_if_kernel
EFLAGS: 00010212
eax: 00000010 ebx: 0000002b ecx: 0734dfb0 edx: 01e29810
esi: 00000000 edi: 01dee000 ebp: 01deda74 esp: 01deda1c
ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Process cpp (pid: 1945, process nr: 30, stackpage=01ded000)
Stack: 0000002b 00000000 c734dfb0 01deda74 00000000 02800000 03000000 02800000
001c0018 0011054f 001ca685 01deda74 00000000 00110290 01dedb18 00000002
00000001 0010c2dc 0000000b 0010a81b 01deda74 00000000 009d3214 01dedb1c
Call Trace: [<02800000>]
[<03000000>]
[<02800000>]
[<001c0018>] <--- NCR53c8xx_run_tests (???????????????)
[<0011054f>] <--- do_page_fault
[<00110290>] <--- do_page_fault+0
[<0010c2dc>] <--- IRQ11_interrupt (IRQ11 is SMC ULTRA)
[<0010a81b>] <--- error_code
[<00152526>] <--- inet_rcvmsg
[<00171933>] <--- rpc_recv
[<0014d9dc>] <--- udp_sendto
[<0014da24>] <--- udp_sendmsg
[<001525e1>] <--- inet_sendmsg
[<00171e1f>] <--- rpc_doio
[<00110290>] <--- do_page_fault+0
[<0014da24>] <--- udp_sendmsg
[<0017450e>] <--- nfs_refresh_inode
[<00172609>] <--- nfs_fhget
The rest is exactly like in the first Oops.
[<0017119c>]
[<00173501>]
[<001710cc>]
[<00172609>]
[<0017450e>]
[<00172609>]
[<0017393e>]
[<001739bc>]
[<0017393e>]
[<001739bc>]
[<001739e9>]
[<0011eca3>]
[<00170ef6>]
[<0016f423>]
[<0017396f>]
[<001241a6>]
[<0015d4d1>]
[<0012d207>]
[<0012d2c6>]
[<0012d17e>]
[<0012d711>]
[<00122ced>]
[<00122e8f>]
[<0010a682>]
Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68

Aiee, killing interrupt handler
general protection: 0000
CPU: 0
EIP: 0010:[<0013028c>] <--- locks_remove_locks
EFLAGS: 00010286
eax: f000ef5a ebx: 01a1f810 ecx: 00000000 edx: 00000000
esi: f000ef5a edi: 00000001 ebp: 01d29018 esp: 01ded950
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process cpp (pid: 1945, process nr: 30, stackpage=01ded000)
Stack: 00000000 00122f23 01a1f810 00000000 00000001 00000004 001161b6 00000000
0000002b 00000014 01dee000 01ded9e0 0010ac32 0000000b 001c9ca8 00000000
c734dfb0 01ded9e0 00000000 00000068 03000000 02800000 001c0018 0011054f
Call Trace: [<00122f23>] <--- close_fp
[<001161b6>] <--- do_exit
[<0010ac32>] <--- die_if_kernel
[<03000000>]
[<02800000>]
[<001c0018>] <--- NCR53c8xx_run_tests
[<0011054f>] <--- do_page_fault
[<00110290>] <--- do_page_fault+0
[<0010a81b>] <--- error_code
[<0010abfb>] <--- die_if_kernel
The rest of the dump is exactly like in the second case
[<02800000>]
[<03000000>]
[<02800000>]
[<001c0018>]
[<0011054f>]
[<00110290>]
[<0010c2dc>]
[<0010a81b>]
[<00152526>]
[<00171933>]
[<0014d9dc>]
[<0014da24>]
[<001525e1>]
[<00171e1f>]
[<00110290>]
[<0014da24>]
[<0017450e>]
[<00172609>]
[<0017119c>]
[<00173501>]
[<001710cc>]
[<00172609>]
[<0017450e>]
[<00172609>]
[<0017393e>]
[<001739bc>]
[<0017393e>]
[<001739bc>]
[<001739e9>]
[<0011eca3>]
[<00170ef6>]
[<0016f423>]
[<0017396f>]
[<001241a6>]
[<0015d4d1>]
[<0012d207>]
[<0012d2c6>]
[<0012d17e>]
[<0012d711>]
[<00122ced>]
[<00122e8f>]
[<0010a682>]
Code: 8b 50 48 85 d2 74 2a f6 42 1c 01 74 17 53 83 c0 48 50 e8 1d