From owner-freebsd-current@FreeBSD.ORG Fri Jun 3 14:38:55 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from green.homeunix.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id DBC6E16A41C; Fri, 3 Jun 2005 14:38:54 +0000 (GMT) (envelope-from green@green.homeunix.org) Received: from green.homeunix.org (green@localhost [127.0.0.1]) by green.homeunix.org (8.13.3/8.13.1) with ESMTP id j53Ecs7L059626; Fri, 3 Jun 2005 10:38:54 -0400 (EDT) (envelope-from green@green.homeunix.org) Received: (from green@localhost) by green.homeunix.org (8.13.3/8.13.1/Submit) id j53EcsQx059625; Fri, 3 Jun 2005 10:38:54 -0400 (EDT) (envelope-from green) Date: Fri, 3 Jun 2005 10:38:54 -0400 From: Brian Fundakowski Feldman To: othermark Message-ID: <20050603143854.GB55896@green.homeunix.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.6i Cc: freebsd-current@freebsd.org Subject: Re: LOR from vm_map_lookup() leads to fatal trap: 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, 03 Jun 2005 14:38:55 -0000 On Fri, Jun 03, 2005 at 07:03:07AM -0700, othermark wrote: > I have not seen this before, from -current built from 6/31/2005. This was > NOT found on the LOR page (http://sources.zabbadoz.net/freebsd/lor.html), > so I'm posting it here. It's not a real lock order reversal -- it just happened to occur while your kernel was on a journey toward a panic. That mtx_lock() call in do_tdsignal() was operating on a bogus struct mtx * (0xaa8). > lock order reversal > 1st 0xc15f8e68 process lock (process lock) > @ /usr/src/sys/kern/kern_time.c:595 > 2nd 0xc0a00a64 user map (user map) @ /usr/src/sys/vm/vm_map.c:2997 > KDB: stack backtrace: > kdb_backtrace(c093c54a,c0a00a64,c0954678,c0954678,c09546f8) at > kdb_backtrace+0x2e > witness_checkorder(c0a00a64,9,c09546f8,bb5,c151fd80) at > witness_checkorder+0x6ba > _sx_xlock(c0a00a64,c09546f8,bb5,c06a1a26,cc01b9f0) at _sx_xlock+0x7e > _vm_map_lock_read(c0a00a20,c09546f8,bb5,15101dd,0) at _vm_map_lock_read+0x4a > vm_map_lookup(cc01ba88,0,1,cc01ba8c,cc01ba7c) at vm_map_lookup+0x38 > vm_fault(c0a00a20,0,1,0,c151fd80) at vm_fault+0x7f > trap_pfault(cc01bb70,0,aa8,c0a33a80,aa8) at trap_pfault+0xf1 > trap(c0a10008,c0a10028,28,c0938bcb,6ab) at trap+0x35e > calltrap() at calltrap+0x5 > --- trap 0xc, eip = 0xc068fc66, esp = 0xcc01bbb0, ebp = 0xcc01bbd0 --- > _mtx_lock_flags(aa8,0,c0938bcb,6ab,c15f8f38) at _mtx_lock_flags+0x46 > do_tdsignal(c1547c00,e,0,0,c0938bcb) at do_tdsignal+0x119 > tdsignal(c1547c00,e,0,654) at tdsignal+0x4d > psignal(c15f8e00,e,c0939794,253,cc01bc88) at psignal+0x83 > realitexpire(c15f8e00,0,c093992c,105,c06a7ed0) at realitexpire+0x3f > softclock(0,0,c093620e,256,c0a02780) at softclock+0x24e > ithread_loop(c1517780,cc01bd38,c0935ff9,30d,0) at ithread_loop+0x172 > fork_exit(c0682920,c1517780,cc01bd38) at fork_exit+0xc1 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xcc01bd6c, ebp = 0 --- > > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0xaa8 > fault code = supervisor read, page not present > instruction pointer = 0x20:0xc068fc66 > stack pointer = 0x28:0xcc01bbb0 > frame pointer = 0x28:0xcc01bbd0 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 28 (swi4: clock sio) > [thread pid 28 tid 100029 ] > Stopped at _mtx_lock_flags+0x46: cmpl $0xc099d624,0(%ebx) > db> show alllocks > Process 28 (swi4: clock sio) thread 0xc151fd80 (100029) > exclusive sleep mutex process lock r = 0 (0xc15f8e68) locked > @ /usr/src/sys/kern/kern_time.c:595 -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\