Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 May 2002 18:05:56 +0200
From:      Daniel Lang <dl@leo.org>
To:        freebsd-mobile@freebsd.org
Subject:   Panic on resume on Siemens-Fujitsu Lifebook E6624
Message-ID:  <20020513160556.GE621@atrbg11.informatik.tu-muenchen.de>

next in thread | raw e-mail | index | archive | help
Hi,

I've recently installed FreeBSD 4.6-PRERELEASE (2.5.2002) on
a new Fujitsu Lifebook E-6624.

The BIOS seems to support both APM and ACPI but both can
only be controlled very limited in the BIOS menus.
Suspend and resume events can be defined and it can be
switched on or off, nothing more. It does not seem to suspend to
disk, as there is nothing like that configurable in the BIOS
and also not by M$-Software that came with it, as far as I can tell.
(If anyone knows more than I, please tell me).

Now, if I suspend the system, either via "apm -z / zzz" or on
a low battery, it doesn't resume any more.

An attempt to resume the system, keeps the display switched off,
but initiates some heavy disk activity, until after a short while,
the system boots (from scratch). FreeBSD discovered a crash dump
after the next boot, which I could get a stack trace from, but
I doubt is very useful, since a second panic occurs during the
dump phase of the first one. The first is an "integer divide fault",
the second a simple page fault.

The panic is perfectly reproducable.

Here are relevant messages from the debugged kernel crash dump:

IdlePTD at phsyical address 0x00471000
initial pcb at physical address 0x003ac2e0
panicstr: page fault
panic messages:
---
Fatal trap 18: integer divide fault while in kernel mode
instruction pointer     = 0x58:0x49cd
stack pointer           = 0x10:0xc035f380
frame pointer           = 0x10:0x58
code segment            = base 0xc00f0000, limit 0xffff, type 0x1b
                        = DPL 0, pres 1, def32 0, gran 0
processor eflags        = interrupt enabled, IOPL = 0
current process         = Idle
interrupt mask          = 
trap number             = 18
panic: integer divide fault

syncing disks... 

Fatal trap 12: page fault while in kernel mode
[..]

(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc018be57 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xc018c27c in poweroff_wait (junk=0xc035642c, howto=-1070244017)
    at /usr/src/sys/kern/kern_shutdown.c:595
#3  0xc02f77ba in trap_fatal (frame=0xc035f188, eva=48)
    at /usr/src/sys/i386/i386/trap.c:966
#4  0xc02f748d in trap_pfault (frame=0xc035f188, usermode=0, eva=48)
    at /usr/src/sys/i386/i386/trap.c:859
#5  0xc02f7077 in trap (frame={tf_fs = -1070268400, tf_es = 16, tf_ds = 16, 
      tf_edi = -1069757696, tf_esi = 0, tf_ebp = -1070206512, 
      tf_isp = -1070206540, tf_ebx = -1070094084, tf_edx = 6867008, 
      tf_ecx = 2, tf_eax = 0, tf_trapno = 12, tf_err = 0, 
      tf_eip = -1071059460, tf_cs = 8, tf_eflags = 66050, tf_esp = 0, 
      tf_ss = 0}) at /usr/src/sys/i386/i386/trap.c:458
#6  0xc028edfc in acquire_lock (lk=0xc037a8fc)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:266
#7  0xc029341e in softdep_fsync_mountdev (vp=0xcd3a0b40)
    at /usr/src/sys/ufs/ffs/ffs_softdep.c:4024
#8  0xc029760e in ffs_fsync (ap=0xc035f244)
    at /usr/src/sys/ufs/ffs/ffs_vnops.c:134
#9  0xc02962cf in ffs_sync (mp=0xc1639200, waitfor=2, cred=0xc0e3a900, 
    p=0xc03ccb00) at vnode_if.h:558
#10 0xc01bb5d3 in sync (p=0xc03ccb00, uap=0x0)
    at /usr/src/sys/kern/vfs_syscalls.c:576
#11 0xc018bbf2 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:235
#12 0xc018c27c in poweroff_wait (junk=0xc035642c, howto=-1070244054)
    at /usr/src/sys/kern/kern_shutdown.c:595
#13 0xc02f77ba in trap_fatal (frame=0xc035f340, eva=0)
    at /usr/src/sys/i386/i386/trap.c:966
#14 0xc02f71c3 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 96, tf_edi = 0, 
      tf_esi = 0, tf_ebp = 88, tf_isp = -1070206100, tf_ebx = 1, tf_edx = 0, 
      tf_ecx = 2, tf_eax = 7, tf_trapno = 18, tf_err = 0, tf_eip = 18893, 
      tf_cs = 88, tf_eflags = 514, tf_esp = 5261840, tf_ss = -65520})
    at /usr/src/sys/i386/i386/trap.c:628
#15 0x49cd in ?? ()
cannot read proc at 0
(kgdb) 

non-default kernel options include a default enabled apm device
and all those related devices, like smbus, intpm, alpm, ichsmb,
viapm, smb, iicbus, ic, iic, iicsmb, etc.

But probed is only the following:
[..]
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
[..]
ichsmb0: <SMBus controller> port 0x1c00-0x1c1f irq 11 at device 31.3 on pci0
[..]

On querying apm, with 'apm', everthing seems ok, except:
[..]
Files to get the resume timer: APM error0xc
[..]

This seems supicious to me, and may be the problem.

Any hints appreciated.

Best regards,
 Daniel Lang
-- 
IRCnet: Mr-Spock
     - kommst du siehst du, gehst du hast du, weisst du, krass! -
Daniel Lang * dl@leo.org * +49 89 289 25735 * http://www.leo.org/~dl/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020513160556.GE621>