Another panic...

Liakakis Kostas (
Tue, 4 Jul 1995 11:44:28 +0300 (EET DST)


after 7 days of uptime and not great deal of activity, I got a series of
Ooopses today, while compiling modules for 1.3.6. I was running 1.3.3,
compiled with gcc 2.6.3 and linked in a.out format with libc4.7.2. The
machine is a 486dx2/66 with 8mb of memory and 20mb swap, vlb ide & video

What is worth of noting (well, it was strange) is that when yesterday
compiling 1.3.6 and today too once, while switching vc's there was garbage
(you know, funny characters, in funny blinking colors) in one of the vc's.
And after about an hour it gave me the Ooops.

The first couple of them (I think they were only 2 that scrolled over my
screen) were about ... as trying to free kernel page-directory: not good.
There was nothing logged and everything scrolled off the screen leaving
the above line, a little bit of the end of the call trace which I forgot
to note and the
Code: 89 7a 04 89 b8 b8 c0 1a 00 ff 05 ec 74 19 00 8b 44 24 20 c1

I wrote down what followed, after that the system was halted. I hope I
didnt messed any number while coping from the screen.

Unable to handle kernel paging request at virtual address c72d0720

current tss.cr3=00101000 , %cr3=00101000
EIP: 0010:001215e6
EFLAGS: 00010083
eax: 00000001 ebx: 00000001 ecx: 072d0720 ebx: 001ac0b8
esi: 00000000 edi: 00197598 ebp: 00000001 esp: 00195edc
ds: 0018 es: 0018 fs: 002b gs: 0018 ss: 0018

Stack: 000003fc 000000b4 00197598 00000001 072d0720 00000297 001244f8 00000001
00000000 0000027a 00098098 00000222 00003200 00098098 00000000 000003fc
00000003 00000005 00000206 0013d787 0000027a 00000001 00000035 00183f7e

Call Trace: 001244f8 0013d787 00183f7e 00183973 00110307 00112cc6 00111fae
00190018 00110018 0010f8a4 00110711

Code: 8b 01 89 02 89 50 04 89 c8 c1 e8 0c 89 d9 d3 e8 8b 14 9d 9c
Aiee killing interrupt handler
kfree on non-kmalloced memory: 00186044, next=000003d5, order=647168
task[0] (swapper) killed: unable to recover
Kernel panic: Trying to free up swapper memory space
In swapper task: not syncing

And here is the output of ksymoops (thanks to the kind soul who made it,
put it in the kernel distribution please!):

Using `/' to map addresses to symbols.

>>EIP: 1215e6 <___get_free_pages+8a/190>
Trace: 1244f8 <_kmalloc+190/370>
Trace: 13d787 <_alloc_skb+47/100>
Trace: 183f7e <_ei_receive+1c6/360>
Trace: 183973 <_ei_interrupt+13b/2c0>
Trace: 110307 <_do_signal+4b/37c>
Trace: 112cc6 <_do_IRQ+1e/30>
Trace: 111fae <_IRQ5_interrupt+56/80>
Trace: 190018 <_get_sectorsize+168/2c0>
Trace: 110018 <_sys_sigreturn+6c/1d0>
Trace: 10f8a4 <_sys_idle+64/70>
Trace: 110711 <_system_call+59/a0>

Code: 1215e6 <___get_free_pages+8a/190> movl (%ecx),%eax
Code: 1215e8 <___get_free_pages+8c/190> movl %eax,(%edx)
Code: 1215ea <___get_free_pages+8e/190> movl %edx,0x4(%eax)
Code: 1215ed <___get_free_pages+91/190> movl %ecx,%eax
Code: 1215ef <___get_free_pages+93/190> shrl $0xc,%eax
Code: 1215f2 <___get_free_pages+96/190> movl %ebx,%ecx
Code: 1215f4 <___get_free_pages+98/190> shrl %cl,%eax
Code: 1215f6 <___get_free_pages+9a/190> movl 0x9090009c(,%ebx,4),%edx

I hope this prooves to be worthy to someone,