From owner-freebsd-bugs@FreeBSD.ORG Mon Oct 11 22:20:25 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C7DDB16A4D3 for ; Mon, 11 Oct 2004 22:20:25 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAD3A43D2D for ; Mon, 11 Oct 2004 22:20:25 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i9BMKPuv063354 for ; Mon, 11 Oct 2004 22:20:25 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i9BMKP1R063351; Mon, 11 Oct 2004 22:20:25 GMT (envelope-from gnats) Resent-Date: Mon, 11 Oct 2004 22:20:25 GMT Resent-Message-Id: <200410112220.i9BMKP1R063351@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Shaun Jurrens Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D280016A4CE for ; Mon, 11 Oct 2004 22:19:50 +0000 (GMT) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id B75DD43D2D for ; Mon, 11 Oct 2004 22:19:50 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.11/8.12.11) with ESMTP id i9BMJoLV081076 for ; Mon, 11 Oct 2004 22:19:50 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.11/8.12.11/Submit) id i9BMJm0Q081074; Mon, 11 Oct 2004 22:19:48 GMT (envelope-from nobody) Message-Id: <200410112219.i9BMJm0Q081074@www.freebsd.org> Date: Mon, 11 Oct 2004 22:19:48 GMT From: Shaun Jurrens To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Subject: kern/72548: Panic on LOR in mga_drm on amd64 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Oct 2004 22:20:25 -0000 >Number: 72548 >Category: kern >Synopsis: Panic on LOR in mga_drm on amd64 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 11 22:20:25 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Shaun Jurrens >Release: FreeBSD 5.3-BETA7 >Organization: N.A. >Environment: FreeBSD dakota 5.3-BETA7 FreeBSD 5.3-BETA7 #13: Mon Oct 11 01:22:45 CEST 2004 root@dakota:/usr/obj/usr/src/sys/DAKOTA64 amd64 >Description: lock order reversal 1st 0xffffff00009ec4c0 drm device (drm device) @ /usr/src/sys/dev/drm/drm_irq.h:192 2nd 0xffffffff805b4320 ACPI root bus (ACPI root bus) @ /usr/src/sys/dev/acpica/acpi.c:913 KDB: stack backtrace: witness_checkorder() at 0xffffffff80293bb8 = witness_checkorder+0x648 _sx_xlock() at 0xffffffff80273541 = _sx_xlock+0x51 acpi_release_resource() at 0xffffffff80180d52 = acpi_release_resource+0x42 resource_list_release() at 0xffffffff80283a35 = resource_list_release+0x115 mga_irq_uninstall() at 0xffffffff801c1dcd = mga_irq_uninstall+0x6d mga_control() at 0xffffffff801c1e35 = mga_control+0x55 spec_ioctl() at 0xffffffff80230a59 = spec_ioctl+0x179 vn_ioctl() at 0xffffffff802d4ee5 = vn_ioctl+0x105 ioctl() at 0xffffffff80295144 = ioctl+0x144 syscall() at 0xffffffff803c386b = syscall+0x4ab Xfast_syscall() at 0xffffffff803b1e18 = Xfast_syscall+0xa8 --- syscall (54, FreeBSD ELF64, ioctl), rip = 0x200c31f70, rsp = 0x7fffffffec38, rbp = 0x103a200 --- KDB: enter: witness_checkorder Fatal trap 3: breakpoint instruction fault while in kernel mode cpuid = 0; apic id = 00 instruction pointer = 0x8:0xffffffff8028754f stack pointer = 0x10:0xffffffffa4ae3810 frame pointer = 0x10:0xffffffffa4ae3820 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, IOPL = 3 current process = 557 (Xorg) trap number = 3 panic: breakpoint instruction fault cpuid = 0 KDB: stack backtrace: panic() at 0xffffffff8026d2ee = panic+0x24e trap_fatal() at 0xffffffff803c2c03 = trap_fatal+0x323 trap() at 0xffffffff803c3041 = trap+0x171 alltraps_with_regs_pushed() at 0xffffffff803b1cdb = alltraps_with_regs_pushed+0x 5 _sx_xlock() at 0xffffffff80273541 = _sx_xlock+0x51 acpi_release_resource() at 0xffffffff80180d52 = acpi_release_resource+0x42 resource_list_release() at 0xffffffff80283a35 = resource_list_release+0x115 mga_irq_uninstall() at 0xffffffff801c1dcd = mga_irq_uninstall+0x6d mga_control() at 0xffffffff801c1e35 = mga_control+0x55 spec_ioctl() at 0xffffffff80230a59 = spec_ioctl+0x179 vn_ioctl() at 0xffffffff802d4ee5 = vn_ioctl+0x105 ioctl() at 0xffffffff80295144 = ioctl+0x144 syscall() at 0xffffffff803c386b = syscall+0x4ab Xfast_syscall() at 0xffffffff803b1e18 = Xfast_syscall+0xa8 --- syscall (54, FreeBSD ELF64, ioctl), rip = 0x200c31f70, rsp = 0x7fffffffec38, rbp = 0x103a200 --- Uptime: 55m59s >How-To-Repeat: enable 'device mgadrm' in kernel config. do 'shutdown -r now' also using the following debugging options in KERNCONF: options ADAPTIVE_GIANT # Giant mutex is adaptive. options PREEMPTION options FULL_PREEMPTION options MUTEX_DEBUG options WITNESS options WITNESS_KDB options WITNESS_SKIPSPIN options INVARIANTS options INVARIANT_SUPPORT and options SCHED_4BSD (fwiw) crashdump available upon request or dump analysis... the dump is pretty large >Fix: eric thought just "drop the lock around that call out of the drm..." >Release-Note: >Audit-Trail: >Unformatted: