Bug 2893 - apmd crashes trying to read /proc/apm at startup
Summary: apmd crashes trying to read /proc/apm at startup
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: apmd
Version: 6.0
Hardware: i386
OS: Linux
high
high
Target Milestone: ---
Assignee: David Lawrence
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 1999-05-17 23:05 UTC by Dan Mosedale
Modified: 2008-05-01 15:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 1999-06-14 15:57:54 UTC
Embargoed:


Attachments (Terms of Use)

Description Dan Mosedale 1999-05-17 23:05:18 UTC
The kernel APM driver sez:

apm: BIOS version 1.2 Flags 0x03 (Driver version 1.9)

When apmd attempts to start at boot time, the following
appears on the console:

general protection fault: f000
CPU:    0
EIP:    0050:[<000041e6>]
EFLAGS: 00010246
eax: 00000171   ebx: 00000103   ecx: 00000964   edx:
00000064
esi: 00000001   edi: ffff0001   ebp: c7db3ea4   esp:
c7db3e9c
ds: 0058   es: 0000   ss: 0018
Process apmd (pid: 100, process nr: 11, stackpage=c7db3000)
Stack: 5a91591a 00003ea4 00000058 00ffffff 3eb80050 00000001
530a0000 00000016
       00485ae1 c0140000 c7db3f28 c0107126 00000010 c7db3f28
ffffffff c0140018
       00000018 c01ce250 000000ff ffffffff ffffffff 00000286
c6d00000 c7d70000
Call Trace: [<c0140000>] [<c0107126>] [<c0140018>]
[<c01ce250>] [<c0107302>] [<c0107d1c>] [<c0141a82>]
       [<c0124446>] [<c01095a8>]
Code: <1>Unable to handle kernel paging request at virtual
address 000041e6
current->tss.cr3 = 07d6c000, %cr3 = 07d6c000
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<c0109a09>]
EFLAGS: 00010046
eax: 00000000   ebx: 00000000   ecx: 000041e6   edx:
00000001
esi: 0000002b   edi: c7db4000   ebp: c8000000   esp:
c7db3dec
ds: 0018   es: 0018   ss: 0018
Process apmd (pid: 100, process nr: 11, stackpage=c7db3000)
Stack: ffff0001 c7db3ea4 c0228d62 00000001 ffff0001 c7db3ea4
00000171 00000103
       00000964 00000064 000041e6 00010246 07fe0000 c8800000
c0109a6c c7db3e60
       c01ce818 c01ce8ed 0000f000 c7db3e60 c0109f70 c01ce8ed
c7db3e60 0000f000
Call Trace: [<c8800000>] [<c0109a6c>] [<c01ce818>]
[<c01ce8ed>] [<c0109f70>] [<c01ce8ed>] [<c01096ad>]
       [<c0140000>] [<c0107126>] [<c0140018>] [<c01ce250>]
[<c0107302>] [<c0107d1c>] [<c0141a82>] [<c0124446>]
       [<c01095a8>]
Code: 8a 04 0b 89 44 24 38 50 68 10 e8 1c c0 e8 c5 98 00 00
83 c4

It appears to me that problem is really in the driver for
/proc/apm, as running strace on apmd (or even "cat <
/proc/apm") shows that it segfaults as soon as it calls
read() on the /proc/apm file descriptor.

I'm running on an HP Omnibook 4150, BIOS 2.13, and the APM
functionality works fine under Windows NT.  I'm using the
default kernel that comes with Red Hat 6.0.

Dan

Comment 1 Preston Brown 1999-05-26 15:51:59 UTC
Matt, any insights on this?

Comment 2 Matt Wilson 1999-06-03 19:50:59 UTC
Walking through the call trace - this appears to be a memory violation
after the apm_bios_call.  Check to see if there is an update for your
BOIS.


------- Additional Comments From   06/08/99 21:41 -------
It turns out the versions of the Omnibook BIOS later than 2.21 do
indeed fix this problem.  So you can resolve this as a linux bug.
Thanks for checking into it.

Comment 3 Jeff Johnson 1999-06-14 15:57:59 UTC
This appears fixed. Please reopen if I'm wrong.


Note You need to log in before you can comment on or make changes to this bug.