From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 20 22:55:41 2012 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AF220F6; Tue, 20 Nov 2012 22:55:41 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id DA73E8FC12; Tue, 20 Nov 2012 22:55:40 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id AAA02420; Wed, 21 Nov 2012 00:55:39 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1TawjC-000EKt-RH; Wed, 21 Nov 2012 00:55:38 +0200 Message-ID: <50AC0A68.8070906@FreeBSD.org> Date: Wed, 21 Nov 2012 00:55:36 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121030 Thunderbird/16.0.2 MIME-Version: 1.0 To: Stefan Farfeleder Subject: Re: ACPI panic References: <20121120103522.GB2012@mole.fafoe.narf.at> In-Reply-To: <20121120103522.GB2012@mole.fafoe.narf.at> X-Enigmail-Version: 1.4.5 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Nov 2012 22:55:41 -0000 on 20/11/2012 12:35 Stefan Farfeleder said the following: > Hi, > > today I got the following panic on booting. The error seems to be some > kind of race condition, as the same kernel booted fine before and > afterwards. This is current, r243234. > > Any additional information required to debug/fix this? [snip] This indeed looks like a heisenbug that happens to FreeBSD users now and then (google for AcpiOsAcquireObject panic). I am trying a verify a certain theory... just on the chance that this issue happens again, could you please try the following debugging patch? Index: sys/contrib/dev/acpica/components/utilities/utdelete.c =================================================================== --- sys/contrib/dev/acpica/components/utilities/utdelete.c (revision 243265) +++ sys/contrib/dev/acpica/components/utilities/utdelete.c (working copy) @@ -441,7 +441,7 @@ "Obj %p Refs=%X, can't decrement! (Set to 0)\n", Object, NewCount)); - NewCount = 0; + NewCount = *(volatile UINT16*)NULL; } else { I hope that this compiles. The point is to induce a panic sooner rather than later. > Fatal trap 12: page fault while in kernel mode > cpuid = 1; apic id = 01 > fault virtual address = 0x10116 > fault code = supervisor read data, page not present > instruction pointer = 0x20:0xffffffff802b5820 > stack pointer = 0x28:0xffffff811fe4f490 > frame pointer = 0x28:0xffffff811fe4f4c0 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 52 (sysctl) > > Reading symbols from /boot/kernel/if_iwn.ko...Reading symbols from /boot/kernel/if_iwn.ko.symbols...done. > done. > Loaded symbols for /boot/kernel/if_iwn.ko > Reading symbols from /boot/kernel/iwn5000fw.ko...Reading symbols from /boot/kernel/iwn5000fw.ko.symbols...done. > done. > Loaded symbols for /boot/kernel/iwn5000fw.ko > Reading symbols from /boot/modules/nvidia.ko...done. > Loaded symbols for /boot/modules/nvidia.ko > Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done. > done. > Loaded symbols for /boot/kernel/linux.ko > #0 doadump (textdump=0) at pcpu.h:229 > 229 pcpu.h: No such file or directory. > in pcpu.h > (kgdb) #0 doadump (textdump=0) at pcpu.h:229 > #1 0xffffffff802bec2e in db_dump (dummy=, dummy2=0, > dummy3=0, dummy4=0x0) at /usr/src/sys/ddb/db_command.c:543 > #2 0xffffffff802be7f4 in db_command (last_cmdp=, > cmd_table=, dopager=1) > at /usr/src/sys/ddb/db_command.c:449 > #3 0xffffffff802be4e2 in db_command_loop () > at /usr/src/sys/ddb/db_command.c:502 > #4 0xffffffff802c0dc0 in db_trap (type=, code=0) > at /usr/src/sys/ddb/db_main.c:231 > #5 0xffffffff804c15de in kdb_trap (type=12, code=0, tf=) > at /usr/src/sys/kern/subr_kdb.c:654 > #6 0xffffffff806ee845 in trap_fatal (frame=0xffffff811fe4f3e0, > eva=) at /usr/src/sys/amd64/amd64/trap.c:867 > #7 0xffffffff806eeae6 in trap_pfault (frame=0x0, usermode=0) > at /usr/src/sys/amd64/amd64/trap.c:698 > #8 0xffffffff806ee1fc in trap (frame=0xffffff811fe4f3e0) > at /usr/src/sys/amd64/amd64/trap.c:463 > #9 0xffffffff806d8dc3 in calltrap () at /tmp/exception-EAhiLL.s:142 > #10 0xffffffff802b5820 in AcpiOsAcquireObject (Cache=0xfffffe000292a700) > at /usr/src/sys/contrib/dev/acpica/components/utilities/utcache.c:310 > #11 0xffffffff802b8441 in AcpiUtCreateInternalObjectDbg ( > ModuleName=0xffffffff8074a2f6 "dsutils", LineNumber=703, ComponentId=64, > Type=1) > at /usr/src/sys/contrib/dev/acpica/components/utilities/utobject.c:437 > #12 0xffffffff8029bf65 in AcpiDsCreateOperand (WalkState=0xfffffe000618b800, > Arg=0xfffffe00041b3bc0, ArgIndex=) > at /usr/src/sys/contrib/dev/acpica/components/dispatcher/dsutils.c:703 > #13 0xffffffff8029c062 in AcpiDsCreateOperands (WalkState=0xfffffe000618b800, > FirstArg=) > at /usr/src/sys/contrib/dev/acpica/components/dispatcher/dsutils.c:798 > #14 0xffffffff8029c507 in AcpiDsExecEndOp (WalkState=0xfffffe000618b800) > at /usr/src/sys/contrib/dev/acpica/components/dispatcher/dswexec.c:449 > #15 0xffffffff802afe04 in AcpiPsParseLoop (WalkState=0xfffffe000618b800) > at /usr/src/sys/contrib/dev/acpica/components/parser/psloop.c:1276 > #16 0xffffffff802b068d in AcpiPsParseAml (WalkState=) > at /usr/src/sys/contrib/dev/acpica/components/parser/psparse.c:525 > #17 0xffffffff802b11e7 in AcpiPsExecuteMethod (Info=0xfffffe0006191c80) > at /usr/src/sys/contrib/dev/acpica/components/parser/psxface.c:368 > #18 0xffffffff802aac16 in AcpiNsEvaluate (Info=0xfffffe0006191c80) > at /usr/src/sys/contrib/dev/acpica/components/namespace/nseval.c:193 > #19 0xffffffff802add48 in AcpiEvaluateObject (Handle=0xfffffe0002a09280, > Pathname=, ExternalParams=, > ReturnBuffer=0xffffff811fe4f7c0) > at /usr/src/sys/contrib/dev/acpica/components/namespace/nsxfeval.c:289 > #20 0xffffffff802ce378 in acpi_cmbat_get_bst (arg=0xfffffe0002a3d200) > at /usr/src/sys/dev/acpica/acpi_cmbat.c:258 > #21 0xffffffff802ce202 in acpi_cmbat_bst (dev=0xfffffe0002a3d200, > bstp=0xfffffe0006125300) at /usr/src/sys/dev/acpica/acpi_cmbat.c:419 > #22 0xffffffff802cd2ef in acpi_battery_get_battinfo (dev=0x0, > battinfo=0xffffffff80a5d380) at acpi_if.h:142 > #23 0xffffffff802cd91f in acpi_battery_sysctl (oidp=0xfffffe000418c500, > arg1=, arg2=64, req=0xffffff811fe4f968) > at /usr/src/sys/dev/acpica/acpi_battery.c:428 > #24 0xffffffff80496c8c in sysctl_root (arg1=, > arg2=) at /usr/src/sys/kern/kern_sysctl.c:1513 > #25 0xffffffff80497248 in userland_sysctl (td=, > name=0xffffff811fe4fa30, namelen=, > old=, oldlenp=, > inkernel=, new=, > newlen=, retval=, > flags=535099728) at /usr/src/sys/kern/kern_sysctl.c:1623 > #26 0xffffffff80497034 in sys___sysctl (td=0xfffffe00041a5900, > uap=0xffffff811fe4fb40) at /usr/src/sys/kern/kern_sysctl.c:1549 > #27 0xffffffff806eef0e in amd64_syscall (td=0xfffffe00041a5900, traced=0) > at subr_syscall.c:135 > #28 0xffffffff806d90ab in Xfast_syscall () at /tmp/exception-EAhiLL.s:292 > #29 0x000000080093456a in ?? () > Previous frame inner to this frame (corrupt stack?) > Current language: auto; currently minimal > (kgdb) > -- Andriy Gapon