APM Suspend Oops in 1.99.8

David Myers (dem@skyline.rtp.nc.us)
Tue, 28 May 1996 21:43:33 -0400 (EDT)


This Oops is simple to recreate on an NEC Versa 4000 running 1.99.8
compiled with gcc 2.7.2. Simply push the suspend key, wait a few
seconds, and push it again.

CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set (tried this both ways)
# CONFIG_APM_DO_ENABLE is not set
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_POWER_OFF=y

Trace: 2016464
Trace: 1104f4 <timer_bh+74/154>
Trace: 115dff <do_bottom_half+3b/60>
Trace: 10f8ed <schedule+35/274>
Trace: 10957b <hard_idle+4b/5c>
Trace: 1095c7 <sys_idle+3b/70>
Trace: 10a442 <system_call+52/80>
Trace: 1092f8 <init>
Trace: 109183 <start_kernel+163/170>

Code: call *%eax
Code: andl $0xffffffbf,0x1c(%ebx)
Code: jmp 00000043 <_EIP+43>
Code: movl 0x68(%ebx),%eax
Code: cmpl %eax,0x201c844
Code: jae 00000028 <_EIP+28>
Code: pushl %esi

general protection: 0000
CPU: 0
EIP: 0010:[<020164fc>]
EFLAGS: 00010246
eax: f000ff53 ebx: 0163d410 ecx: 00000001 edx: 00000000
esi: 00000000 edi: 00000001 ebp: 00182da4 esp: 00182d80
ds: 0018 es: 0018 fs: 002b gs: 0018 ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage=00180e78)
Stack: 00001000 00000000 00000020 0163d410 00000400 00000000 02016464 0163d464
000001c1 00182dbc 001104f4 00000000 00000001 ffffffff 00000001 001998a4
00115dff 00006096 00182e58 00000000 00182e00 0010f8ed 00006096 00182e58
Call Trace: [<02016464>] [<001104f4>] [<00115dff>] [<0010f8ed>]
[<0010957b>] [<001095c7>] [<0010a442>] [<001092f8>] [<00109183>]
Code: ff d0 83 63 1c bf eb 3b 8b 43 68 39 05 44 c8 01 02 73 15 56
Aiee, killing interrupt handler
kfree of non-kmalloced memory: 00182eb8, next= 00000000, order=0
kfree of non-kmalloced memory: 00182ea8, next= 00000000, order=0
kfree of non-kmalloced memory: 001832dc, next= 00000000, order=0
idle task may not sleep
idle task may not sleep
idle task may not sleep
idle task may not sleep
idle task may not sleep

--
David Myers                                   dem@skyline.rtp.nc.us
Cary, N.C.