Bug 26259 - /usr/bin/apm --suspend causes kernel panic
Summary: /usr/bin/apm --suspend causes kernel panic
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel
Version: 7.1
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Aaron Brown
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-02-05 23:51 UTC by P. Beltrani
Modified: 2007-04-18 16:31 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-06-05 23:37:04 UTC
Embargoed:


Attachments (Terms of Use)

Description P. Beltrani 2001-02-05 23:51:24 UTC
System is 800 MHz AMD Athlon / Asus K7V Mainboard
using i686 version of glibc.

  /usr/bin/apm --suspend

would result in kernel panic as system returned from suspend.

Problem was resolved by using i386 version of glibc. (Per bug # 25753)

Comment 1 Bernhard Rosenkraenzer 2001-02-06 17:11:44 UTC
Hmm... Even a broken glibc shouldn't be able to cause kernel panics.
Assigning to kernel.




Comment 2 Michael K. Johnson 2001-02-08 23:27:59 UTC
To have a chance of fixing this (it could be a problem with the
apm bios), we need the text of the panic, as run through ksymoops.
It would be specific to your machine.

Comment 3 P. Beltrani 2001-02-09 15:59:51 UTC
1) Performed a clean install of fisher
2) copied /proc/ ksyms and modules to disk
3) executed: apm --suspend
   which, as expected, caused a crash on resume
4) Rebooted the  system
5) ran ksymoops, output is below.

For what it's worth, I commented out the "eth0" line in /etc/modules.conf and
restarted the system. Without the tulip (eth0) module loaded the system resumed
from the suspend correctly.

Output from ksymoops follows:

ksymoops 2.4.0 on i686 2.4.0-0.99.11.  Options used
     -v /boot/vmlinux-2.4.0-0.99.11 (specified)
     -k ./ksyms (specified)
     -l ./modules (specified)
     -o /lib/modules/2.4.0-0.99.11/ (specified)
     -m /boot/System.map-2.4.0-0.99.11 (specified)

Warning (compare_maps): mismatch on symbol partition_name  , ksyms_base says
c01c5cd0, vmlinux says c0150f90.  Ignoring ksyms_base entry
Warning (compare_maps): mismatch on symbol tulip_max_interrupt_work  , tulip
says c888acc0, /lib/modules/2.4.0-0.99.11/kernel/drivers/net/tulip/tulip.o says
c888a3c0.  Ignoring /lib/modules/2.4.0-0.99.11/kernel/drivers/net/tulip/tulip.o
entry
Warning (compare_maps): mismatch on symbol tulip_rx_copybreak  , tulip says
c888acc4, /lib/modules/2.4.0-0.99.11/kernel/drivers/net/tulip/tulip.o says
c888a3c4.  Ignoring /lib/modules/2.4.0-0.99.11/kernel/drivers/net/tulip/tulip.o
entry
Warning (compare_maps): mismatch on symbol usb_devfs_handle  , usbcore says
c882dee0, /lib/modules/2.4.0-0.99.11/kernel/drivers/usb/usbcore.o says c882dac0.
 Ignoring /lib/modules/2.4.0-0.99.11/kernel/drivers/usb/usbcore.o entry
Feb  8 18:43:18 bugs kernel: Unable to handle kernel NULL pointer dereference at
virtual address 00000004
Feb  8 18:43:18 bugs kernel: c011c2a1
Feb  8 18:43:18 bugs kernel: *pde = 00000000
Feb  8 18:43:18 bugs kernel: Oops: 0002
Feb  8 18:43:18 bugs kernel: CPU:    0
Feb  8 18:43:18 bugs kernel: EIP:    0010:[add_timer+161/208]
Feb  8 18:43:18 bugs kernel: EIP:    0010:[<c011c2a1>]
Using defaults from ksymoops -t elf32-i386 -a i386
Feb  8 18:43:18 bugs kernel: EFLAGS: 00010082
Feb  8 18:43:18 bugs kernel: eax: c7441c00   ebx: c7441c00   ecx: 00000292
edx: 00000000
Feb  8 18:43:18 bugs kernel: esi: c7441800   edi: 00001043   ebp: 00000000
esp: c6635eec
Feb  8 18:43:18 bugs kernel: ds: 0018   es: 0018   ss: 0018
Feb  8 18:43:18 bugs kernel: Process ifconfig (pid: 1052, stackpage=c6635000)
Feb  8 18:43:18 bugs kernel: Stack: 00000000 c888577c c7441c00 c7441800 c7441800
00000000 c01d5332 c7441800
Feb  8 18:43:18 bugs kernel:        c7441800 00001002 c01d615f c7441800 c12509a0
c6635f5d c7441800 bffffaa8
Feb  8 18:43:18 bugs kernel:        c01fafc4 c7441800 00001043 c6635f58 00000000
00000000 c7441800 c12509a0
Feb  8 18:43:18 bugs kernel: Call Trace: [tulip:comet_timer+1948/9856]
[dev_open+66/160] [dev_change_flags+79/272] [devinet_ioctl+708/1584]
[sock_ioctl+30/48] [sys_ioctl+487/512] [system_call+51/56]
Feb  8 18:43:18 bugs kernel: Call Trace: [<c888577c>] [<c01d5332>] [<c01d615f>]
[<c01fafc4>] [<c01d0c8e>] [<c013fcf7>] [<c0109007>]
Feb  8 18:43:18 bugs kernel: Code: 89 5a 04 89 13 89 43 04 89 18 51 9d eb 14 90
51 9d 8b 4c 24

>>EIP; c011c2a1 <add_timer+a1/d0>   <=====
Trace; c888577c <[tulip]tulip_open+4c/60>
Trace; c01d5332 <dev_open+42/a0>
Trace; c01d615f <dev_change_flags+4f/110>
Trace; c01fafc4 <devinet_ioctl+2c4/630>
Trace; c01d0c8e <sock_ioctl+1e/30>
Trace; c013fcf7 <sys_ioctl+1e7/200>
Trace; c0109007 <system_call+33/38>
Code;  c011c2a1 <add_timer+a1/d0>
00000000 <_EIP>:
Code;  c011c2a1 <add_timer+a1/d0>   <=====
   0:   89 5a 04                  mov    %ebx,0x4(%edx)   <=====
Code;  c011c2a4 <add_timer+a4/d0>
   3:   89 13                     mov    %edx,(%ebx)
Code;  c011c2a6 <add_timer+a6/d0>
   5:   89 43 04                  mov    %eax,0x4(%ebx)
Code;  c011c2a9 <add_timer+a9/d0>
   8:   89 18                     mov    %ebx,(%eax)
Code;  c011c2ab <add_timer+ab/d0>
   a:   51                        push   %ecx
Code;  c011c2ac <add_timer+ac/d0>
   b:   9d                        popf
Code;  c011c2ad <add_timer+ad/d0>
   c:   eb 14                     jmp    22 <_EIP+0x22> c011c2c3 <add_timer+c3/d0>
Code;  c011c2af <add_timer+af/d0>
   e:   90                        nop
Code;  c011c2b0 <add_timer+b0/d0>
   f:   51                        push   %ecx
Code;  c011c2b1 <add_timer+b1/d0>
  10:   9d                        popf
Code;  c011c2b2 <add_timer+b2/d0>
  11:   8b 4c 24 00               mov    0x0(%esp,1),%ecx


4 warnings issued.  Results may not be reliable.


Comment 4 P. Beltrani 2001-02-27 15:35:40 UTC
 
Looks like the problem may be associated with the Tulip ethernet driver module.
 If I unload this module before "apm --suspend" the system resumes from the
suspend without problems.
 
Did a clean install of release 7.0.91 (Wolverine) and upgraded the Tulip module
from v0.9.13b to v0.9.14.  No change.  Kernel panics on resume from suspend if
the Tulip module was loaded.

Comment 5 P. Beltrani 2001-02-28 23:37:12 UTC
I turned on debugging for the tulip module, tulip_debug=4. After the suspend,
the following was logged via syslog:

kernel: eth0: Oversized Ethernet frame spanned multiple buffers, status 00000000!
last message repeated 31 times


What follows is the output from ksymoops for the Wolverine / Tulip v0.9.14
combination.

ksymoops 2.4.0 on i686 2.4.1-0.1.9.  Options used
     -V (default)
     -k ksyms (specified)
     -l modules (specified)
     -o /lib/modules/2.4.1-0.1.9/ (default)
     -m /boot/System.map-2.4.1-0.1.9 (default)
 
Warning (compare_maps): ksyms_base symbol __VERSIONED_SYMBOL(shmem_file_setup)
not found in System.map.  Ignoring ksyms_base entry
Warning (compare_maps): mismatch on symbol partition_name  , ksyms_base says
c01b0600, System.map says c01524a0.  Ignoring ksyms_base entry
Feb 28 10:35:28 bugs kernel: Unable to handle kernel NULL pointer dereference at
virtual address 00000004
Feb 28 10:35:28 bugs kernel: c011c531
Feb 28 10:35:28 bugs kernel: *pde = 00000000
Feb 28 10:35:28 bugs kernel: Oops: 0002
Feb 28 10:35:28 bugs kernel: CPU:    0
Feb 28 10:35:28 bugs kernel: EIP:    0010:[add_timer+161/208]
Feb 28 10:35:28 bugs kernel: EIP:    0010:[<c011c531>]
Using defaults from ksymoops -t elf32-i386 -a i386
Feb 28 10:35:28 bugs kernel: EFLAGS: 00010086
Feb 28 10:35:28 bugs kernel: eax: c749bc00   ebx: c749bc00   ecx: 00000292  
edx: 00000000
Feb 28 10:35:28 bugs kernel: esi: c749b800   edi: 00001043   ebp: 00000000  
esp: c613deec
Feb 28 10:35:28 bugs kernel: ds: 0018   es: 0018   ss: 0018
Feb 28 10:35:28 bugs kernel: Process ifconfig (pid: 1031, stackpage=c613d000)
Feb 28 10:35:28 bugs kernel: Stack: 00000000 c888fa7c c749bc00 c749b800 c749b800
00000000 c01bfe52 c749b800
Feb 28 10:35:28 bugs kernel:        c749b800 00001002 c01c0c7f c749b800 c7f6b960
c613df5d c749b800 bffffaa8
Feb 28 10:35:28 bugs kernel:        c01e5b34 c749b800 00001043 c613df58 00000000
00000000 c749b800 c7f6b960
Feb 28 10:35:28 bugs kernel: Call Trace: [tulip:comet_timer+2044/9792]
[dev_open+66/160] [dev_change_flags+79/272] [devinet_ioctl+708/1584]
[sock_ioctl+30/48] [sys_ioctl+487/512] [system_call+51/56]
Feb 28 10:35:28 bugs kernel: Call Trace: [<c888fa7c>] [<c01bfe52>] [<c01c0c7f>]
[<c01e5b34>] [<c01bb75e>] [<c0141237>] [<c0109007>]
Feb 28 10:35:28 bugs kernel: Code: 89 5a 04 89 13 89 43 04 89 18 51 9d eb 14 90
51 9d 8b 4c 24
 
>>EIP; c011c531 <add_timer+a1/d0>   <=====
Trace; c888fa7c <[tulip]tulip_open+4c/60>
Trace; c01bfe52 <dev_open+42/a0>
Trace; c01c0c7f <dev_change_flags+4f/110>
Trace; c01e5b34 <devinet_ioctl+2c4/630>
Trace; c01bb75e <sock_ioctl+1e/30>
Trace; c0141237 <sys_ioctl+1e7/200>
Trace; c0109007 <system_call+33/38>
Code;  c011c531 <add_timer+a1/d0>
00000000 <_EIP>:
Code;  c011c531 <add_timer+a1/d0>   <=====
   0:   89 5a 04                  mov    %ebx,0x4(%edx)   <=====
Code;  c011c534 <add_timer+a4/d0>
   3:   89 13                     mov    %edx,(%ebx)
Code;  c011c536 <add_timer+a6/d0>
 5:   89 43 04                  mov    %eax,0x4(%ebx)
Code;  c011c539 <add_timer+a9/d0>
   8:   89 18                     mov    %ebx,(%eax)
Code;  c011c53b <add_timer+ab/d0>
   a:   51                        push   %ecx
Code;  c011c53c <add_timer+ac/d0>
   b:   9d                        popf
Code;  c011c53d <add_timer+ad/d0>
   c:   eb 14                     jmp    22 <_EIP+0x22> c011c553 <add_timer+c3/d0>
Code;  c011c53f <add_timer+af/d0>
   e:   90                        nop
Code;  c011c540 <add_timer+b0/d0>
   f:   51                        push   %ecx
Code;  c011c541 <add_timer+b1/d0>
  10:   9d                        popf
Code;  c011c542 <add_timer+b2/d0>
  11:   8b 4c 24 00               mov    0x0(%esp,1),%ecx
 
 
2 warnings issued.  Results may not be reliable.


Comment 6 Alan Cox 2001-05-28 17:43:48 UTC
The APM bios failed to restore the tulip state and left it corrupting memory it
seems. 



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