oops with 1.99.8

Mark E. Levitt (melevitt@mailbox.syr.edu)
Wed, 29 May 1996 00:51:11 -0400 (EDT)


Hi.
I received an oops while using 1.99.8. I was playing an audio CD
compiled as a module (mcdx) and I got an oops at a (seemingly) random time.

Now, the oops is in kerneld, so, I'm going to take a wild stab and
*guess* what may have happened: I was using workbone to play the CD. I
ran workbone, started the CD playing, then quit workbone. Is it possible
kerneld thought the CD was not in use and tried to remove it?

Here is the oops and as much info as I could gather following
/Documentation/oops-tracing.txt. I wish I could be more helpful, but I'm
barely within my level of competence as it is...:)

Oops:
Unable to handle kernel paging request at virtual address ec292972
current->tss.cr3 = 00f04000,
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<00113f28>]
EFLAGS: 00010202
eax: 40000000 ebx: 2c292972 ecx: 01835000 edx: 60000000
esi: 2c292972 edi: bffffb94 ebp: bffffe34 esp: 00f05f70
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process kerneld (pid: 10, process nr: 5, stackpage=00f05000)
Stack: 00f28414 40001df0 bffffdfc bffffdec 0000000c 00000404 00000000 fffffffc
00000000 00000000 40016541 00000023 00000202 bffffdec 0000002b bffffd6c
00000000 00000000 0010a412 00000000 00000000 40000000 40001df0 bffffb94
Call Trace: [<0010a412>]
Code: 8b 33 83 7b 04 00 75 45 83 7b 18 01 75 3f 8b 4b 14 8b 11 89

Here's it run through ksymoops:

Using `/boot/System.map' to map addresses to symbols.

>>EIP: 113f28 <sys_delete_module+ac/10c>
Trace: 10a412 <system_call+52/80>

Code: 113f28 <sys_delete_module+ac/10c> movl (%ebx),%esi
Code: 113f2a <sys_delete_module+ae/10c> cmpl $0x0,0x4(%ebx)
Code: 113f2e <sys_delete_module+b2/10c> jne 113f75 <sys_delete_module+f9/10c>
Code: 113f30 <sys_delete_module+b4/10c> cmpl $0x1,0x18(%ebx)
Code: 113f34 <sys_delete_module+b8/10c> jne 113f75 <sys_delete_module+f9/10c>
Code: 113f36 <sys_delete_module+ba/10c> movl 0x14(%ebx),%ecx
Code: 113f39 <sys_delete_module+bd/10c> movl (%ecx),%edx
Code: 113f3b <sys_delete_module+bf/10c> movl %eax,(%eax)
Code: 113f3d <sys_delete_module+c1/10c> nop
Code: 113f3e <sys_delete_module+c2/10c> nop

Here's the output of using gdb to disassemble that function:

(no debugging symbols found)...
Dump of assembler code for function sys_delete_module:
0x113e7c <sys_delete_module>: subl $0x40,%esp
0x113e7f <sys_delete_module+3>: pushl %esi
0x113e80 <sys_delete_module+4>: pushl %ebx
0x113e81 <sys_delete_module+5>: movl 0x4c(%esp,1),%edx
0x113e85 <sys_delete_module+9>: movl 0x19d2e8,%eax
0x113e8a <sys_delete_module+14>: cmpw $0x0,0x11a(%eax)
0x113e92 <sys_delete_module+22>: je 0x113ea0 <sys_delete_module+36>
0x113e94 <sys_delete_module+24>: movl $0xffffffff,%eax
0x113e99 <sys_delete_module+29>: popl %ebx
0x113e9a <sys_delete_module+30>: popl %esi
0x113e9b <sys_delete_module+31>: addl $0x40,%esp
0x113e9e <sys_delete_module+34>: ret
0x113e9f <sys_delete_module+35>: nop
0x113ea0 <sys_delete_module+36>: orl $0x100,0x14(%eax)
0x113ea7 <sys_delete_module+43>: testl %edx,%edx
0x113ea9 <sys_delete_module+45>: je 0x113f18 <sys_delete_module+156>
0x113eab <sys_delete_module+47>: leal 0x8(%esp,1),%ebx
0x113eaf <sys_delete_module+51>: pushl %ebx
0x113eb0 <sys_delete_module+52>: pushl %edx
0x113eb1 <sys_delete_module+53>: call 0x1140f4 <get_mod_name>
0x113eb6 <sys_delete_module+58>: addl $0x8,%esp
0x113eb9 <sys_delete_module+61>: testl %eax,%eax
0x113ebb <sys_delete_module+63>: jne 0x113f81 <sys_delete_module+261>
0x113ec1 <sys_delete_module+69>: pushl %ebx
0x113ec2 <sys_delete_module+70>: call 0x114124 <find_module>
0x113ec7 <sys_delete_module+75>: movl %eax,%ebx
0x113ec9 <sys_delete_module+77>: addl $0x4,%esp
0x113ecc <sys_delete_module+80>: testl %ebx,%ebx
0x113ece <sys_delete_module+82>: jne 0x113edc <sys_delete_module+96>
0x113ed0 <sys_delete_module+84>: movl $0xfffffffe,%eax
0x113ed5 <sys_delete_module+89>: popl %ebx
0x113ed6 <sys_delete_module+90>: popl %esi
0x113ed7 <sys_delete_module+91>: addl $0x40,%esp
0x113eda <sys_delete_module+94>: ret
0x113edb <sys_delete_module+95>: nop
0x113edc <sys_delete_module+96>: cmpl $0x0,0x4(%ebx)
0x113ee0 <sys_delete_module+100>: jne 0x113eed <sys_delete_module+113>
0x113ee2 <sys_delete_module+102>: movl 0x14(%ebx),%eax
0x113ee5 <sys_delete_module+105>: testl $0x9fffffff,(%eax)
0x113eeb <sys_delete_module+111>: je 0x113ef8 <sys_delete_module+124>
0x113eed <sys_delete_module+113>: movl $0xfffffff0,%eax
0x113ef2 <sys_delete_module+118>: popl %ebx
0x113ef3 <sys_delete_module+119>: popl %esi
0x113ef4 <sys_delete_module+120>: addl $0x40,%esp
0x113ef7 <sys_delete_module+123>: ret
0x113ef8 <sys_delete_module+124>: movl $0x0,(%eax)
0x113efe <sys_delete_module+130>: cmpl $0x1,0x18(%ebx)
0x113f02 <sys_delete_module+134>: jne 0x113f09 <sys_delete_module+141>
0x113f04 <sys_delete_module+136>: movl 0x1c(%ebx),%eax
0x113f07 <sys_delete_module+139>: call *%eax
0x113f09 <sys_delete_module+141>: movl $0x2,0x18(%ebx)
0x113f10 <sys_delete_module+148>: call 0x1141b0 <free_modules>
0x113f15 <sys_delete_module+153>: jmp 0x113f7f <sys_delete_module+259>
0x113f17 <sys_delete_module+155>: nop
0x113f18 <sys_delete_module+156>: movl 0x186e3c,%ebx
0x113f1e <sys_delete_module+162>: cmpl $0x193420,%ebx
0x113f24 <sys_delete_module+168>: je 0x113f7f <sys_delete_module+259>
0x113f26 <sys_delete_module+170>: nop
0x113f27 <sys_delete_module+171>: nop
0x113f28 <sys_delete_module+172>: movl (%ebx),%esi
0x113f2a <sys_delete_module+174>: cmpl $0x0,0x4(%ebx)
0x113f2e <sys_delete_module+178>: jne 0x113f75 <sys_delete_module+249>
0x113f30 <sys_delete_module+180>: cmpl $0x1,0x18(%ebx)
0x113f34 <sys_delete_module+184>: jne 0x113f75 <sys_delete_module+249>
0x113f36 <sys_delete_module+186>: movl 0x14(%ebx),%ecx
0x113f39 <sys_delete_module+189>: movl (%ecx),%edx
0x113f3b <sys_delete_module+191>: movl %edx,%eax
0x113f3d <sys_delete_module+193>: andl $0xdfffffff,%eax
0x113f42 <sys_delete_module+198>: cmpl $0x40000000,%eax
0x113f47 <sys_delete_module+203>: jne 0x113f75 <sys_delete_module+249>
0x113f49 <sys_delete_module+205>: testl $0x20000000,%edx
0x113f4f <sys_delete_module+211>: je 0x113f5c <sys_delete_module+224>
0x113f51 <sys_delete_module+213>: movl $0x40000000,(%ecx)
0x113f57 <sys_delete_module+219>: jmp 0x113f75 <sys_delete_module+249>
0x113f59 <sys_delete_module+221>: nop
0x113f5a <sys_delete_module+222>: nop
0x113f5b <sys_delete_module+223>: nop
0x113f5c <sys_delete_module+224>: andl $0x9fffffff,%edx
0x113f62 <sys_delete_module+230>: movl %edx,(%ecx)
0x113f64 <sys_delete_module+232>: movl 0x1c(%ebx),%eax
0x113f67 <sys_delete_module+235>: call *%eax
0x113f69 <sys_delete_module+237>: movl $0x2,0x18(%ebx)
0x113f70 <sys_delete_module+244>: call 0x1141b0 <free_modules>
0x113f75 <sys_delete_module+249>: movl %esi,%ebx
0x113f77 <sys_delete_module+251>: cmpl $0x193420,%ebx
0x113f7d <sys_delete_module+257>: jne 0x113f28 <sys_delete_module+172>
0x113f7f <sys_delete_module+259>: xorl %eax,%eax
0x113f81 <sys_delete_module+261>: popl %ebx
0x113f82 <sys_delete_module+262>: popl %esi
0x113f83 <sys_delete_module+263>: addl $0x40,%esp
0x113f86 <sys_delete_module+266>: ret
0x113f87 <sys_delete_module+267>: nop
End of assembler dump.

Finally, here's the relevent portion of the System.map

0011390c T init_modules
0011390c t gcc2_compiled.
0011394c T sys_create_module
00113a78 T sys_init_module
00113e7c T sys_delete_module
00113f88 T sys_get_kernel_syms
001140f4 t get_mod_name
00114124 t find_module
00114164 t drop_refs
001141b0 t free_modules
00114248 T get_module_list
001143f8 T get_ksyms_list
001144ec T register_symtab_from
00114724 T force_sig
00114724 t gcc2_compiled.
00114770 T send_sig

Sorry if any of this is irrelevent/useless/redundant.

Peace.

____________________________________________________________________

Mark E. Levitt
Department of Speech Communication, Syracuse University
E-mail: melevitt@syr.edu
Home Page: http://web.syr.edu/~melevitt

PGP fingerprint = B8 A3 AA A6 0F 83 9A BE F2 7A 19 F9 15 79 FE A4
Public key available from http://web.syr.edu/~melevitt/pgpkey.html
____________________________________________________________________