From owner-freebsd-current@FreeBSD.ORG Sat Jul 7 21:27:24 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7954C16A46E for ; Sat, 7 Jul 2007 21:27:24 +0000 (UTC) (envelope-from mr.kodiak@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by mx1.freebsd.org (Postfix) with ESMTP id CB51213C44B for ; Sat, 7 Jul 2007 21:27:23 +0000 (UTC) (envelope-from mr.kodiak@gmail.com) Received: by ug-out-1314.google.com with SMTP id o4so1048061uge for ; Sat, 07 Jul 2007 14:27:22 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; b=sRJwPYb1ruoodANHaFHEz3YGdYPqS5vZq+vBhVU6EbbCSKR0RJugUCHi7hTNYMr9OlQRKpMDqD6zCG7SKGQqpKnm+IA9+/K2PqfR2jkGQygrA8GyGJEm4BJr5X1USPVXuEqKS/cT0H1Zh8lr3DJgjwffHQrVFHT83dbVtqlkAek= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=W406Ef4cmEvNZOwOWPnEqPHZgslxZ7ukzupZJvVKtN8zbbTtIEaZ+WQUAJSraaQa7Bos+RYI+n2GpiI3/ul90Mx6mh2kx1a2anK9BvMEfVs7z5967c93O1yosrTEivaAQzmjcXDNxVsTtQKnP9C91BBk+YKzyP1ZYLdFXZK3jUQ= Received: by 10.67.10.12 with SMTP id n12mr3773339ugi.1183841964175; Sat, 07 Jul 2007 13:59:24 -0700 (PDT) Received: by 10.66.243.16 with HTTP; Sat, 7 Jul 2007 13:59:24 -0700 (PDT) Message-ID: Date: Sat, 7 Jul 2007 15:59:24 -0500 From: "Bryan Venteicher" To: freebsd-current@freebsd.org MIME-Version: 1.0 X-Mailman-Approved-At: Sat, 07 Jul 2007 21:52:06 +0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: panic in _mtx_lock_sleep 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: Sat, 07 Jul 2007 21:27:24 -0000 I got this panic from about a day old current. GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd". Unread portion of the kernel message buffer: kernel trap 12 with interrupts disabled Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x258 fault code = supervisor read data, page not present instruction pointer = 0x8:0xffffffff8028a71a stack pointer = 0x10:0xffffffffaf5896c0 frame pointer = 0x10:0xffffffffaf5896f0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = resume, IOPL = 0 current process = 1069 (gweather-applet-2) panic: from debugger cpuid = 0 Uptime: 23m45s Physical memory: 2523 MB Dumping 409 MB: 394 378 362 346 330 314 298 282 266 250 234 218 202 186 170 154 138 122 106 90 74 58 42 26 10 #0 doadump () at pcpu.h:194 194 pcpu.h: No such file or directory. in pcpu.h (kgdb) bt #0 doadump () at pcpu.h:194 #1 0xffffffff802951b6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409 #2 0xffffffff8029562a in panic (fmt=Variable "fmt" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:563 #3 0xffffffff8018d06c in db_panic (addr=Variable "addr" is not available. ) at /usr/src/sys/ddb/db_command.c:433 #4 0xffffffff8018d66c in db_command_loop () at /usr/src/sys/ddb/db_command.c:401 #5 0xffffffff8018f24d in db_trap (type=Variable "type" is not available. ) at /usr/src/sys/ddb/db_main.c:222 #6 0xffffffff802bd2da in kdb_trap (type=12, code=0, tf=0xffffffffaf589610) at /usr/src/sys/kern/subr_kdb.c:502 #7 0xffffffff804a4552 in trap_fatal (frame=0xffffffffaf589610, eva=Variable "eva" is not available. ) at /usr/src/sys/amd64/amd64/trap.c:690 #8 0xffffffff804a52ac in trap (frame=0xffffffffaf589610) at /usr/src/sys/amd64/amd64/trap.c:247 #9 0xffffffff8048bede in calltrap () at /usr/src/sys/amd64/amd64/exception.S:169 #10 0xffffffff8028a71a in _mtx_lock_sleep (m=0xffffff0002637660, tid=18446742974235165536, opts=Variable "opts" is not available. ) at /usr/src/sys/kern/kern_mutex.c:361 #11 0xffffffff80334334 in rt_check (lrt=0xffffffffaf589758, lrt0=0xffffffffaf589748, dst=Variable "dst" is not available. ) at /usr/src/sys/net/route.c:1303 #12 0xffffffff80355255 in arpresolve (ifp=0xffffff0001150800, rt0=0xffffff0002637870, m=0xffffff00020a5c00, dst=0xffffff0002110390, desten=0xffffffffaf5897c0 "\224\\\n\002") at /usr/src/sys/netinet/if_ether.c:373 #13 0xffffffff8032c160 in ether_output (ifp=0xffffff0001150800, m=0xffffff00020a5c00, dst=0xffffff0002110390, rt0=Variable "rt0" is not available. ) at /usr/src/sys/net/if_ethersubr.c:175 #14 0xffffffff803643b8 in ip_output (m=0xffffff00020a5c00, opt=Variable "opt" is not available. ) at /usr/src/sys/netinet/ip_output.c:547 #15 0xffffffff803c237e in udp_send (so=Variable "so" is not available. ) at /usr/src/sys/netinet/udp_usrreq.c:957 #16 0xffffffff802ebc4f in sosend_dgram (so=0xffffff004309b570, addr=0x0, uio=Variable "uio" is not available. ) at /usr/src/sys/kern/uipc_socket.c:1053 #17 0xffffffff802ef5f7 in kern_sendit (td=0xffffff0002384360, s=24, mp=0xffffffffaf589af0, flags=0, control=0x0, segflg=Variable "segflg" is not available. ) at /usr/src/sys/kern/uipc_syscalls.c:806 #18 0xffffffff802f25fe in sendit (td=0xffffff0002384360, s=24, mp=0xffffffffaf589af0, flags=0) at /usr/src/sys/kern/uipc_syscalls.c:746 #19 0xffffffff802f26e6 in sendto (td=Variable "td" is not available. ) at /usr/src/sys/kern/uipc_syscalls.c:860 #20 0xffffffff804a4b6e in syscall (frame=0xffffffffaf589c70) at /usr/src/sys/amd64/amd64/trap.c:820 #21 0xffffffff8048c08b in Xfast_syscall () at /usr/src/sys/amd64/amd64/exception.S:272 #22 0x0000000805497cdc in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) up 11 #11 0xffffffff80334334 in rt_check (lrt=0xffffffffaf589758, lrt0=0xffffffffaf589748, dst=Variable "dst" is not available. ) at /usr/src/sys/net/route.c:1303 1303 RT_LOCK(rt); /* NB: gwroute */ (kgdb) l 1298 /* XXX BSD/OS checks dst->sa_family != AF_NS */ 1299 if (rt->rt_flags & RTF_GATEWAY) { 1300 if (rt->rt_gwroute == NULL) 1301 goto lookup; 1302 rt = rt->rt_gwroute; 1303 RT_LOCK(rt); /* NB: gwroute */ 1304 if ((rt->rt_flags & RTF_UP) == 0) { 1305 RTFREE_LOCKED(rt); /* unlock gwroute */ 1306 rt = rt0; 1307 lookup: (kgdb) p *rt $1 = {rt_nodes = {{rn_mklist = 0x0, rn_parent = 0xffffff00026375d0, rn_bit = -1, rn_bmask = 0 '\0', rn_flags = 0 '\0', rn_u = { rn_leaf = {rn_Key = 0xffffff0038e84d00 "\020\002", rn_Mask = 0x0, rn_Dupedkey = 0x0}, rn_node = {rn_Off = 954748160, rn_L = 0x0, rn_R = 0x0}}}, {rn_mklist = 0xffffff0002311060, rn_parent = 0xffffff0002637990, rn_bit = 63, rn_bmask = 1 '\001', rn_flags = 0 '\0', rn_u = {rn_leaf = {rn_Key = 0x7
, rn_Mask = 0xffffff0002637960 "`\0201\002", rn_Dupedkey = 0xffffff00026375a0}, rn_node = {rn_Off = 7, rn_L = 0xffffff0002637960, rn_R = 0xffffff00026375a0}}}}, rt_gateway = 0xffffff0038e84d10, rt_flags = 131076, rt_ifp = 0xffffff0001150800, rt_ifa = 0xffffff0002680600, rt_rmx = {rmx_mtu = 1500, rmx_expire = 1421, rmx_pksent = 0}, rt_refcnt = 0, rt_genmask = 0x0, rt_llinfo = 0x0, rt_gwroute = 0x0, rt_parent = 0x0, rt_mtx = {lock_object = { lo_name = 0xffffffff80503dda "rtentry", lo_type = 0xffffffff80503dda "rtentry", lo_flags = 21102592, lo_witness_data = { lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 6, mtx_recurse = 0}} (kgdb) down 1 #10 0xffffffff8028a71a in _mtx_lock_sleep (m=0xffffff0002637660, tid=18446742974235165536, opts=Variable "opts" is not available. ) at /usr/src/sys/kern/kern_mutex.c:361 361 owner = (struct thread *)(v & ~MTX_FLAGMASK); (kgdb) l 356 #ifdef ADAPTIVE_MUTEXES 357 /* 358 * If the current owner of the lock is executing on another 359 * CPU, spin instead of blocking. 360 */ 361 owner = (struct thread *)(v & ~MTX_FLAGMASK); 362 #ifdef ADAPTIVE_GIANT 363 if (TD_IS_RUNNING(owner)) 364 #else 365 if (m != &Giant && TD_IS_RUNNING(owner)) (kgdb) p *m $2 = {lock_object = {lo_name = 0xffffffff80503dda "rtentry", lo_type = 0xffffffff80503dda "rtentry", lo_flags = 21102592, lo_witness_data = {lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 6, mtx_recurse = 0} (kgdb) p v $3 = 6