[2.1.117] GPF in APM while using WINE

Marcus Meissner (marcus@jet.franken.de)
Mon, 24 Aug 1998 13:20:11 +0200 (MEST)


Hi Linus, Stephen, linux-laptop, linux-kernel,

For several releases I keep getting following (or similar) general protection
faults in the APM code while using 'WINE'. My hardware configuration was not
changed in the last 3 months.

The kernel is vanilla 2.1.117, UP, compiled by gcc version 2.7.2.1,
.config is appended below, bootup messages appended below too for more
information. WINE version is 980822, but the crashes happened with 980809 too.

(And I had to replace the printk("scheduling in interrupt\n"); in
kernel/sched.c::schedule() by panic(...), for I kept getting recursive
faults 'scheduling in interrupt, Aieeeeeee' otherwise.)

Copied from paper, symbols resolved from System.map by hand.

GPF: 0094
CPU: 0
EIP: 0010:[<C0180BB0>] (apm_get_event+0x28)
EFLAGS: 00010246
EAX: 00008001 EBX: 00000000 ECX: C01ED9A8 EDX: 00000000
ESI: C0181164 EDI: 00000001 EBP: C3409E70 ESP: C3409E20
DS: 0000 ES: 0000 SS:0018
Process: X (pid: 186 , process nr: 34, stackpage: C3409000)
Stack: 00000018 00000000 C0181164 ...
Call Trace:
[<C0181164>] do_apm_timer
[<C0180FD8>] get_event+0x10
[<C01810A5>] check_events+0x9
[<C01811D8>] do_apm_timer+0x74
[<C011164D>] timer_bh+0x305
[<C01179E5>] do_bottom_half+0x49
[<C010ADD3>] do_IRQ+0x3b
[<C0109D20>] ret_from_intr
[<C0108A0B>] __switch_to+0x73
[<C0110BA9>] schedule+0x235
[<C01105FC>] process_timeout
[<C012D445>] do_select+0x1a1
[<C012D7C9>] sys_select+0x345
[<C010DB9E>] old_select+0x5a
[<C0109C48>] system_call+0x38
Code: 0F A1 07 1F 89 C5 8B 44 24 14 66 89
apm_get_event+0x28:
popl %fs
popl %es
popl %ds
movl %eax,%ebp
movl 0x14(%esp,1),%eax
...
This seems to be the end of APM_GET_EVENT macro.

Common to all the GPFs is, that I was running programs under WINE at the
time of the crash. (When not running WINE, the same configuration hums
along happily for days.)

My suspicion is that this is another case of junk left in the FS register
by WINE. However, the stack in the crashdump looks weird too.

The crash is not easily reproduceable, but doing a testrun through my
applications usually triggers it within 10 minutes.

Ciao, Marcus

.config|grep -v ^#|grep -v ^$:
|CONFIG_EXPERIMENTAL=y
|CONFIG_M686=y
|CONFIG_MODULES=y
|CONFIG_KMOD=y
|CONFIG_NET=y
|CONFIG_PCI=y
|CONFIG_PCI_BIOS=y
|CONFIG_SYSVIPC=y
|CONFIG_SYSCTL=y
|CONFIG_BINFMT_ELF=y
|CONFIG_PARPORT=y
|CONFIG_PARPORT_PC=y
|CONFIG_PNP=y
|CONFIG_PNP_PARPORT=y
|CONFIG_BLK_DEV_FD=y
|CONFIG_PARIDE_PARPORT=y
|CONFIG_PACKET=y
|CONFIG_UNIX=y
|CONFIG_INET=y
|CONFIG_SYN_COOKIES=y
|CONFIG_IP_NOSR=y
|CONFIG_SKB_LARGE=y
|CONFIG_SCSI=y
|CONFIG_BLK_DEV_SD=y
|CONFIG_CHR_DEV_ST=y
|CONFIG_BLK_DEV_SR=y
|CONFIG_BLK_DEV_SR_VENDOR=y
|CONFIG_CHR_DEV_SG=y
|CONFIG_SCSI_MULTI_LUN=y
|CONFIG_SCSI_CONSTANTS=y
|CONFIG_SCSI_LOGGING=y
|CONFIG_SCSI_AIC7XXX=y
|CONFIG_AIC7XXX_PROC_STATS=y
|CONFIG_AIC7XXX_RESET_DELAY=5
|CONFIG_NETDEVICES=y
|CONFIG_DUMMY=m
|CONFIG_PPP=y
|CONFIG_VT=y
|CONFIG_VT_CONSOLE=y
|CONFIG_SERIAL=y
|CONFIG_UNIX98_PTYS=y
|CONFIG_UNIX98_PTY_COUNT=256
|CONFIG_PRINTER=y
|CONFIG_PRINTER_READBACK=y
|CONFIG_MOUSE=y
|CONFIG_PSMOUSE=y
|CONFIG_APM=y
|CONFIG_APM_DO_ENABLE=y
|CONFIG_APM_DISPLAY_BLANK=y
|CONFIG_APM_POWER_OFF=y
|CONFIG_RTC=y
|CONFIG_NVRAM=y
|CONFIG_JOYSTICK=y
|CONFIG_EXT2_FS=y
|CONFIG_ISO9660_FS=y
|CONFIG_JOLIET=y
|CONFIG_FAT_FS=y
|CONFIG_MSDOS_FS=y
|CONFIG_VFAT_FS=y
|CONFIG_PROC_FS=y
|CONFIG_DEVPTS_FS=y
|CONFIG_NLS=y
|CONFIG_NLS_CODEPAGE_437=m
|CONFIG_NLS_CODEPAGE_737=m
|CONFIG_NLS_CODEPAGE_775=m
|CONFIG_NLS_CODEPAGE_850=m
|CONFIG_NLS_CODEPAGE_852=m
|CONFIG_NLS_CODEPAGE_855=m
|CONFIG_NLS_CODEPAGE_857=m
|CONFIG_NLS_CODEPAGE_860=m
|CONFIG_NLS_CODEPAGE_861=m
|CONFIG_NLS_CODEPAGE_862=m
|CONFIG_NLS_CODEPAGE_863=m
|CONFIG_NLS_CODEPAGE_864=m
|CONFIG_NLS_CODEPAGE_865=m
|CONFIG_NLS_CODEPAGE_866=m
|CONFIG_NLS_CODEPAGE_869=m
|CONFIG_NLS_CODEPAGE_874=m
|CONFIG_NLS_ISO8859_1=m
|CONFIG_NLS_ISO8859_2=m
|CONFIG_NLS_ISO8859_3=m
|CONFIG_NLS_ISO8859_4=m
|CONFIG_NLS_ISO8859_5=m
|CONFIG_NLS_ISO8859_6=m
|CONFIG_NLS_ISO8859_7=m
|CONFIG_NLS_ISO8859_8=m
|CONFIG_NLS_ISO8859_9=m
|CONFIG_NLS_KOI8_R=m
|CONFIG_VGA_CONSOLE=y
|CONFIG_VIDEO_SELECT=y
|CONFIG_FB=y
|CONFIG_DUMMY_CONSOLE=y
|CONFIG_FB_VGA=y
|CONFIG_FB_VESA=y
|CONFIG_VIDEO_SELECT=y
|CONFIG_FBCON_CFB8=y
|CONFIG_FBCON_CFB16=y
|CONFIG_FBCON_CFB32=y
|CONFIG_FBCON_VGA=y
|CONFIG_FBCON_FONTS=y
|CONFIG_FONT_8x8=y
|CONFIG_FONT_8x16=y
|CONFIG_FONT_SUN8x16=y
|CONFIG_FONT_SUN12x22=y
|CONFIG_SOUND=m
|CONFIG_SOUND_OSS=m
|CONFIG_SOUND_SB=m
|CONFIG_SOUND_ADLIB=m
|CONFIG_SOUND_GUS=m
|CONFIG_SOUND_SOFTOSS=m
|CONFIG_SOUND_VMIDI=m
|CONFIG_MAGIC_SYSRQ=y

/var/log/boot.msg:
Symbols match kernel version.
klogd 1.3-0, log source = /proc/kmsg started.
<4>Linux version 2.1.117 (root@jet) (gcc version 2.7.2.1) #29 Mon Aug 24 00:27:11 MEST 1998
<4>Console: colour dummy device 80x25
<4>Calibrating delay loop... 398.95 BogoMIPS
<4>Memory: 63148k/65536k available (928k kernel code, 392k reserved, 1020k data, 48k init)
<4>POSIX conformance testing by UNIFIX
<4>CPU: AMD K6 (PR166 - PR266) stepping 02
<6>Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
<6>Checking 'hlt' instruction... OK.
<6>Swansea University Computer Society NET3.039 for Linux 2.1
<6>NET3: Unix domain sockets 0.16 for Linux NET3.038.
<6>Swansea University Computer Society TCP/IP for NET3.037
<6>IP Protocols: ICMP, UDP, TCP
<4>PCI: PCI BIOS revision 2.10 entry at 0xf04b0
<4>PCI: Probing PCI hardware
<4>Starting kswapd v 1.5
<6>parport0: PC-style at 0x378 [SPP]
<6>parport0: no IEEE-1284 device present.
<4>vesafb: 1024x768x8, linelength=1024
<4>vesafb: framebuffer at 0xe7800000, mapped to 0xc4800000, size 786432
<4>vesafb: scrolling=redraw
<4>Console: switching to colour frame buffer device 128x48
<4>fb0: VESA VGA frame buffer device
<6>Serial driver version 4.26 with no serial options enabled
<6>ttyS00 at 0x03f8 (irq = 4) is a 16550A
<6>ttyS01 at 0x02f8 (irq = 3) is a 16550A
<4>pty: 256 Unix98 ptys configured
<6>lp0: using parport0 (polling).
<6>PS/2 auxiliary pointing device detected -- driver installed.
<6>APM BIOS version 1.2 Flags 0x03 (Driver version 1.4)
<6> Entry f000:7160 cseg16 f000 dseg fdba cseg len e6ff, cseg16 len 12, dseg len 22a
<4> Connection version 1.2
<6> AC on line, battery status unknown, battery life unknown
<4> battery flag 0x80, battery life unknown
<6>Real Time Clock Driver v1.09
<6>Non-volatile memory driver v1.0
<6>js0: 2-axis 2-button joystick at 0x201
<6>Floppy drive(s): fd0 is 1.44M
<6>FDC 0 is a post-1991 82077
<6>(scsi0) <Adaptec AHA-294X Ultra SCSI host adapter> found at PCI 12/0
<6>(scsi0) Narrow Channel, SCSI ID=7, 16/255 SCBs
<6>(scsi0) BIOS enabled, IO Port 0xe000, IRQ 11
<6>(scsi0) IO Memory at 0xe5800000, MMAP Memory at 0xc48c1000
<6>(scsi0) Resetting channel
<6>(scsi0) Downloading sequencer code... 406 instructions downloaded
<4>scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.0.20/3.2.4
<4> <Adaptec AHA-294X Ultra SCSI host adapter>
<4>scsi : 1 host.
<6>(scsi0:0:-1:-1) Scanning channel for devices.
<4> Vendor: ARCHIVE Model: Python 25601-XXX Rev: 2.63
<4> Type: Sequential-Access ANSI SCSI revision: 02
<6>Detected scsi tape st0 at scsi0, channel 0, id 0, lun 0
<6>(scsi0:0:0:0) Synchronous at 5.0MHz, offset 15.
<4> Vendor: SANYO Model: CRD-254S Rev: 1.06
<4> Type: CD-ROM ANSI SCSI revision: 02
<4>Detected scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
<4> Vendor: IBM Model: DPES-31080 Rev: S31Q
<4> Type: Direct-Access ANSI SCSI revision: 02
<4>Detected scsi disk sda at scsi0, channel 0, id 2, lun 0
<6>(scsi0:0:2:0) Synchronous at 10.0MHz, offset 15.
<6>(scsi0:0:3:0) Synchronous at 10.0MHz, offset 15.
<4> Vendor: IBM Model: DORS-32160 Rev: WA6A
<4> Type: Direct-Access ANSI SCSI revision: 02
<4>Detected scsi disk sdb at scsi0, channel 0, id 3, lun 0
<4>scsi : detected 1 SCSI tape 1 SCSI cdrom 2 SCSI disks total.
<6>Uniform CDROM driver Revision: 2.13
<4>SCSI device sda: hdwr sector= 512 bytes. Sectors= 2118144 [1034 MB] [1.0 GB]
<4>SCSI device sdb: hdwr sector= 512 bytes. Sectors= 4226725 [2063 MB] [2.1 GB]
<6>PPP: version 2.3.3 (demand dialling)
<6>TCP compression code copyright 1989 Regents of the University of California
<6>PPP line discipline registered.
<4>Partition check:
<4> sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
<4> sdb: sdb1 sdb2 sdb3 < sdb5 sdb6 >
<4>VFS: Mounted root (ext2 filesystem) readonly.
<4>Freeing unused kernel memory: 48k freed
<6>Adding Swap: 33788k swap-space (priority 1)
<6>Adding Swap: 40124k swap-space (priority 1)
<4>MIDI Loopback device driver
<6>Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
<4>SB 4.2 detected OK (220)
Kernel logging (proc) stopped.
Kernel log daemon terminating.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html