From owner-freebsd-current@FreeBSD.ORG Fri Nov 28 22:46:06 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B9AC1065675 for ; Fri, 28 Nov 2008 22:46:06 +0000 (UTC) (envelope-from elliot+list@schlegelmilch.org) Received: from a.r00t-servers.net (a.r00t-servers.net [206.223.224.18]) by mx1.freebsd.org (Postfix) with ESMTP id EB4028FC14 for ; Fri, 28 Nov 2008 22:46:05 +0000 (UTC) (envelope-from elliot+list@schlegelmilch.org) Received: by a.r00t-servers.net (Postfix, from userid 1002) id 5561D33C40; Fri, 28 Nov 2008 17:28:51 -0500 (EST) Date: Fri, 28 Nov 2008 17:28:51 -0500 From: Elliot Schlegelmilch To: freebsd-current@freebsd.org Message-ID: <20081128222851.GA67341@schlegelmilch.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Subject: strange LOR/lockup X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2008 22:46:06 -0000 I'm a bit confused by the following lock order reversal. My box started by locking in 7.1-PRERELEASE. However, with debugging and WITNESS, I saw the LOR, but the console still became unresponsive. I upgraded to CURRENT #0: Thu Nov 27 17:51:41 PST 2008, and the problem still persists. I'm not sure what exactly is happening, or how to debug it further. Actually, by triggering some sort of console message (removing a usb device, triggering an acpi error with my power switch) I can see the keyboard input and console output, but it really doesn't work very well. Essentially, at that point a hard powerdown is all I can do. kernel: lock order reversal: kernel: 1st 0xffffff000c7f3550 rtentry (rtentry) @ /mnt/src/sys/net/route.c:333 kernel: 2nd 0xffffff0004e82af8 radix node head (radix node head) @ /mnt/src/sys/net/route.c:887 kernel: KDB: stack backtrace: kernel: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a kernel: _witness_debugger() at _witness_debugger+0x2e kernel: witness_checkorder() at witness_checkorder+0x81e kernel: _mtx_lock_flags() at _mtx_lock_flags+0x78 kernel: rtrequest1_fib() at rtrequest1_fib+0x8f kernel: rtredirect_fib() at rtredirect_fib+0x28e kernel: icmp_input() at icmp_input+0x3b1 kernel: ip_input() at ip_input+0xc0 kernel: ether_demux() at ether_demux+0x1ed kernel: ether_input() at ether_input+0x1d5 kernel: em_rxeof() at em_rxeof+0x200 kernel: em_handle_rxtx() at em_handle_rxtx+0x4b kernel: taskqueue_run() at taskqueue_run+0x96 kernel: taskqueue_thread_loop() at taskqueue_thread_loop+0x55 kernel: fork_exit() at fork_exit+0x12a kernel: fork_trampoline() at fork_trampoline+0xe kernel: --- trap 0, rip = 0, rsp = 0xfffffffe400bcd40, rbp = 0 ---