From nobody@FreeBSD.org  Sun Mar  1 09:56:21 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B90041065672
	for <freebsd-gnats-submit@FreeBSD.org>; Sun,  1 Mar 2009 09:56:21 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id A6FEF8FC13
	for <freebsd-gnats-submit@FreeBSD.org>; Sun,  1 Mar 2009 09:56:21 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n219uL9A083259
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 1 Mar 2009 09:56:21 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n219uLdu083246;
	Sun, 1 Mar 2009 09:56:21 GMT
	(envelope-from nobody)
Message-Id: <200903010956.n219uLdu083246@www.freebsd.org>
Date: Sun, 1 Mar 2009 09:56:21 GMT
From: Stephane Legrand <stephleg@free.fr>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Crash after running ppp
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         132215
>Category:       kern
>Synopsis:       [route] Crash after running ppp(8) (route locking problem)
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    rwatson
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 01 10:00:09 UTC 2009
>Closed-Date:    Tue Mar 10 21:59:55 UTC 2009
>Last-Modified:  Tue Mar 10 21:59:55 UTC 2009
>Originator:     Stephane Legrand
>Release:        7.1-STABLE
>Organization:
>Environment:
7.1-STABLE i386
>Description:
Hi,

After trying to update my system to the 7.1-STABLE of 28th february 2009, when i run ppp, it crashes the system. Here is the backtrace : 

sequoia# kgdb kernel.debug /var/crash/vmcore.0
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 "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:
Sleeping thread (tid 100053, pid 516) owns a non-sleepable lock
panic: sleeping thread
cpuid = 0
Uptime: 37s
Physical memory: 1002 MB
Dumping 158 MB: 143 127 111 95 79 63 47 31 15

Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.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
Reading symbols from /boot/kernel/linsysfs.ko...Reading symbols from /boot/kernel/linsysfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linsysfs.ko
Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from /boot/kernel/snd_hda.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_hda.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from /boot/kernel/sound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from /boot/kernel/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/ng_ether.ko...Reading symbols from /boot/kernel/ng_ether.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_ether.ko
Reading symbols from /boot/kernel/ng_pppoe.ko...Reading symbols from /boot/kernel/ng_pppoe.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_pppoe.ko
Reading symbols from /boot/kernel/ng_socket.ko...Reading symbols from /boot/kernel/ng_socket.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_socket.ko
Reading symbols from /boot/kernel/ipfw.ko...Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ipfw.ko
Reading symbols from /usr/local/modules/fuse.ko...done.
Loaded symbols for /usr/local/modules/fuse.ko
Reading symbols from /boot/kernel/accf_http.ko...Reading symbols from /boot/kernel/accf_http.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/accf_http.ko
Reading symbols from /boot/kernel/i915.ko...done.
Loaded symbols for /boot/kernel/i915.ko
Reading symbols from /boot/kernel/drm.ko...done.
Loaded symbols for /boot/kernel/drm.ko
#0  doadump () at pcpu.h:196
196		__asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc075c6df in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc075c9a4 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc078eeec in propagate_priority (td=0xc444a690) at /usr/src/sys/kern/subr_turnstile.c:222
#4  0xc078fd11 in turnstile_wait (ts=0xc4260e60, owner=0xc444a690, queue=Variable "queue" is not available.
) at /usr/src/sys/kern/subr_turnstile.c:740
#5  0xc074f6b3 in _mtx_lock_sleep (m=0xc4267e7c, tid=3297722368, opts=0, file=0x0, line=0)
    at /usr/src/sys/kern/kern_mutex.c:420
#6  0xc0800fbe in rtalloc1_fib (dst=0xe6a1caa8, report=0, ignflags=0, fibnum=0) at /usr/src/sys/net/route.c:296
#7  0xc080194c in rtalloc1 (dst=0xe6a1caa8, report=0, ignflags=0) at /usr/src/sys/net/route.c:266
#8  0xc08b8c74 in selectroute (dstsock=0xc48367c0, opts=0x0, mopts=Variable "mopts" is not available.
) at /usr/src/sys/netinet6/in6_src.c:597
#9  0xc08b8ec8 in in6_selectif (dstsock=0xc48367c0, opts=0x0, mopts=0x0, ro=0x0, retifp=0xe6a1cb54)
    at /usr/src/sys/netinet6/in6_src.c:673
#10 0xc08b936d in in6_selectsrc (dstsock=0xc48367c0, opts=0x0, inp=0xc450a168, ro=0x0, cred=0xc49d1600, ifpp=0xe6a1cb9c, 
    errorp=0xe6a1cba0) at /usr/src/sys/netinet6/in6_src.c:261
#11 0xc08b6acb in in6_pcbladdr (inp=0xc450a168, nam=0xc48367c0, plocal_addr6=0xe6a1cbd8) at /usr/src/sys/netinet6/in6_pcb.c:325
#12 0xc08b705d in in6_pcbconnect (inp=0xc450a168, nam=0xc48367c0, cred=0xc49d1600) at /usr/src/sys/netinet6/in6_pcb.c:370
#13 0xc08d0b4c in udp6_connect (so=0xc4a3c000, nam=0xc48367c0, td=0xc48f4000) at /usr/src/sys/netinet6/udp6_usrreq.c:867
#14 0xc07acda7 in soconnect (so=0xc4a3c000, nam=0xc48367c0, td=0xc48f4000) at /usr/src/sys/kern/uipc_socket.c:768
#15 0xc07b3ebc in kern_connect (td=0xc48f4000, fd=18, sa=0xc48367c0) at /usr/src/sys/kern/uipc_syscalls.c:570
#16 0xc07b4041 in connect (td=0xc48f4000, uap=0xe6a1ccfc) at /usr/src/sys/kern/uipc_syscalls.c:534
#17 0xc09fdd08 in syscall (frame=0xe6a1cd38) at /usr/src/sys/i386/i386/trap.c:1090
#18 0xc09e4910 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:255
#19 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)



With a -STABLE kernel of 10th january 2009, ppp works fine.

Regards,
Stephane Legrand.

>How-To-Repeat:
- Install a -STABLE kernel of 28th february 2009.
- run ppp.
- after a few seconds, the system crashes.
>Fix:
Use a kernel of 10th january 2009.

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-threads->freebsd-bugs 
Responsible-Changed-By: jhb 
Responsible-Changed-When: Mon Mar 2 16:12:07 UTC 2009 
Responsible-Changed-Why:  
This not a threads-specific bug, but a bug in the kernel's routing table 
locking. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=132215 

From: John Baldwin <jhb@freebsd.org>
To: freebsd-threads@freebsd.org
Cc: Stephane Legrand <stephleg@free.fr>, freebsd-gnats-submit@freebsd.org,
        rwatson@freebsd.org
Subject: Re: threads/132215: Crash after running ppp
Date: Mon, 2 Mar 2009 11:11:32 -0500

 On Sunday 01 March 2009 4:56:21 am Stephane Legrand wrote:
 > 
 > >Number:         132215
 > >Category:       threads
 > >Synopsis:       Crash after running ppp
 > >Confidential:   no
 > >Severity:       serious
 > >Priority:       low
 > >Responsible:    freebsd-threads
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Sun Mar 01 10:00:09 UTC 2009
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Stephane Legrand
 > >Release:        7.1-STABLE
 > >Organization:
 > >Environment:
 > 7.1-STABLE i386
 > >Description:
 > Hi,
 > 
 > After trying to update my system to the 7.1-STABLE of 28th february 2009, 
 when i run ppp, it crashes the system. Here is the backtrace : 
 > 
 > sequoia# kgdb kernel.debug /var/crash/vmcore.0
 > 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 "i386-marcel-freebsd"...
 > 
 > Unread portion of the kernel message buffer:
 > Sleeping thread (tid 100053, pid 516) owns a non-sleepable lock
 > panic: sleeping thread
 > cpuid = 0
 > Uptime: 37s
 > Physical memory: 1002 MB
 > Dumping 158 MB: 143 127 111 95 79 63 47 31 15
 > 
 > Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols 
 from /boot/kernel/linprocfs.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/linprocfs.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
 > Reading symbols from /boot/kernel/linsysfs.ko...Reading symbols 
 from /boot/kernel/linsysfs.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/linsysfs.ko
 > Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols 
 from /boot/kernel/snd_hda.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/snd_hda.ko
 > Reading symbols from /boot/kernel/sound.ko...Reading symbols 
 from /boot/kernel/sound.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/sound.ko
 > Reading symbols from /boot/kernel/acpi.ko...Reading symbols 
 from /boot/kernel/acpi.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/acpi.ko
 > Reading symbols from /boot/kernel/netgraph.ko...Reading symbols 
 from /boot/kernel/netgraph.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/netgraph.ko
 > Reading symbols from /boot/kernel/ng_ether.ko...Reading symbols 
 from /boot/kernel/ng_ether.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/ng_ether.ko
 > Reading symbols from /boot/kernel/ng_pppoe.ko...Reading symbols 
 from /boot/kernel/ng_pppoe.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/ng_pppoe.ko
 > Reading symbols from /boot/kernel/ng_socket.ko...Reading symbols 
 from /boot/kernel/ng_socket.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/ng_socket.ko
 > Reading symbols from /boot/kernel/ipfw.ko...Reading symbols 
 from /boot/kernel/ipfw.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/ipfw.ko
 > Reading symbols from /usr/local/modules/fuse.ko...done.
 > Loaded symbols for /usr/local/modules/fuse.ko
 > Reading symbols from /boot/kernel/accf_http.ko...Reading symbols 
 from /boot/kernel/accf_http.ko.symbols...done.
 > done.
 > Loaded symbols for /boot/kernel/accf_http.ko
 > Reading symbols from /boot/kernel/i915.ko...done.
 > Loaded symbols for /boot/kernel/i915.ko
 > Reading symbols from /boot/kernel/drm.ko...done.
 > Loaded symbols for /boot/kernel/drm.ko
 > #0  doadump () at pcpu.h:196
 > 196		__asm __volatile("movl %%fs:0,%0" : "=r" (td));
 > (kgdb) bt
 > #0  doadump () at pcpu.h:196
 > #1  0xc075c6df in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
 > #2  0xc075c9a4 in panic (fmt=Variable "fmt" is not available.
 > ) at /usr/src/sys/kern/kern_shutdown.c:574
 > #3  0xc078eeec in propagate_priority (td=0xc444a690) 
 at /usr/src/sys/kern/subr_turnstile.c:222
 > #4  0xc078fd11 in turnstile_wait (ts=0xc4260e60, owner=0xc444a690, 
 queue=Variable "queue" is not available.
 > ) at /usr/src/sys/kern/subr_turnstile.c:740
 > #5  0xc074f6b3 in _mtx_lock_sleep (m=0xc4267e7c, tid=3297722368, opts=0, 
 file=0x0, line=0)
 >     at /usr/src/sys/kern/kern_mutex.c:420
 
 Can you do something like this in kgdb:
 
 frame 5
 set $td = (struct thread *)(m->mtx_lock & ~3)
 p $td->td_tid
 
 (This should print out a thread ID)
 
 thread $td->td_tid
 where
 
 This should give you the stack trace of the misbehaving thread which slept 
 while holding a route lock.
 
 Also, this is a kernel bug, not a thread issue.
 
 -- 
 John Baldwin

From: Robert Watson <rwatson@FreeBSD.org>
To: John Baldwin <jhb@freebsd.org>
Cc: freebsd-threads@freebsd.org, Stephane Legrand <stephleg@free.fr>, 
    freebsd-gnats-submit@freebsd.org
Subject: Re: threads/132215: Crash after running ppp
Date: Mon, 2 Mar 2009 16:52:38 +0000 (GMT)

 On Mon, 2 Mar 2009, John Baldwin wrote:
 
 >> Unread portion of the kernel message buffer:
 >> Sleeping thread (tid 100053, pid 516) owns a non-sleepable lock
 >> panic: sleeping thread
 ...
 > Can you do something like this in kgdb:
 >
 > frame 5
 > set $td = (struct thread *)(m->mtx_lock & ~3)
 > p $td->td_tid
 >
 > (This should print out a thread ID)
 >
 > thread $td->td_tid
 > where
 >
 > This should give you the stack trace of the misbehaving thread which slept
 > while holding a route lock.
 >
 > Also, this is a kernel bug, not a thread issue.
 
 Actually, just a stack trace of tid 100053/pid 516 should be sufficient.  This 
 is the second report I've had of a panic along these lines relating to ppp, 
 and it seems likely to me that the fixes to routing locking have introduced an 
 edge case where the routing code sleeps allocating or waiting for a route 
 while holding a lock where it didn't happen previously.  If we can work out 
 the stack trace leading to the sleep, we can probably fix this in short order.
 
 Robert N M Watson
 Computer Laboratory
 University of Cambridge

From: =?ISO-8859-1?Q?St=E9phane?= Legrand <stephleg@free.fr>
To: bug-followup@FreeBSD.org, stephleg@free.fr
Cc:  
Subject: Re: kern/132215: [route locking] Crash after running ppp
Date: Mon, 02 Mar 2009 19:42:27 +0100

 (kgdb) frame 5
 #5  0xc074f6b3 in _mtx_lock_sleep (m=0xc4267e7c, tid=3297722368, opts=0,
 file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:420
 420			turnstile_wait(ts, mtx_owner(m), TS_EXCLUSIVE_QUEUE);
 (kgdb) set $td = (struct thread *)(m->mtx_lock & ~3)
 (kgdb) p $td->td_tid
 $1 = 100053
 (kgdb) thread $td->td_tid
 Thread ID 100053 not known.
 (kgdb) where
 #0  doadump () at pcpu.h:196
 #1  0xc075c6df in boot (howto=260)
 at /usr/src/sys/kern/kern_shutdown.c:418
 #2  0xc075c9a4 in panic (fmt=Variable "fmt" is not available.
 ) at /usr/src/sys/kern/kern_shutdown.c:574
 #3  0xc078eeec in propagate_priority (td=0xc444a690)
 at /usr/src/sys/kern/subr_turnstile.c:222
 #4  0xc078fd11 in turnstile_wait (ts=0xc4260e60, owner=0xc444a690,
 queue=Variable "queue" is not available.
 ) at /usr/src/sys/kern/subr_turnstile.c:740
 #5  0xc074f6b3 in _mtx_lock_sleep (m=0xc4267e7c, tid=3297722368, opts=0,
 file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:420
 #6  0xc0800fbe in rtalloc1_fib (dst=0xe6a1caa8, report=0, ignflags=0,
 fibnum=0) at /usr/src/sys/net/route.c:296
 #7  0xc080194c in rtalloc1 (dst=0xe6a1caa8, report=0, ignflags=0)
 at /usr/src/sys/net/route.c:266
 #8  0xc08b8c74 in selectroute (dstsock=0xc48367c0, opts=0x0,
 mopts=Variable "mopts" is not available.
 ) at /usr/src/sys/netinet6/in6_src.c:597
 #9  0xc08b8ec8 in in6_selectif (dstsock=0xc48367c0, opts=0x0, mopts=0x0,
 ro=0x0, retifp=0xe6a1cb54) at /usr/src/sys/netinet6/in6_src.c:673
 #10 0xc08b936d in in6_selectsrc (dstsock=0xc48367c0, opts=0x0,
 inp=0xc450a168, ro=0x0, cred=0xc49d1600, ifpp=0xe6a1cb9c,
 errorp=0xe6a1cba0)
     at /usr/src/sys/netinet6/in6_src.c:261
 #11 0xc08b6acb in in6_pcbladdr (inp=0xc450a168, nam=0xc48367c0,
 plocal_addr6=0xe6a1cbd8) at /usr/src/sys/netinet6/in6_pcb.c:325
 #12 0xc08b705d in in6_pcbconnect (inp=0xc450a168, nam=0xc48367c0,
 cred=0xc49d1600) at /usr/src/sys/netinet6/in6_pcb.c:370
 #13 0xc08d0b4c in udp6_connect (so=0xc4a3c000, nam=0xc48367c0,
 td=0xc48f4000) at /usr/src/sys/netinet6/udp6_usrreq.c:867
 #14 0xc07acda7 in soconnect (so=0xc4a3c000, nam=0xc48367c0,
 td=0xc48f4000) at /usr/src/sys/kern/uipc_socket.c:768
 #15 0xc07b3ebc in kern_connect (td=0xc48f4000, fd=18, sa=0xc48367c0)
 at /usr/src/sys/kern/uipc_syscalls.c:570
 #16 0xc07b4041 in connect (td=0xc48f4000, uap=0xe6a1ccfc)
 at /usr/src/sys/kern/uipc_syscalls.c:534
 #17 0xc09fdd08 in syscall (frame=0xe6a1cd38)
 at /usr/src/sys/i386/i386/trap.c:1090
 #18 0xc09e4910 in Xint0x80_syscall ()
 at /usr/src/sys/i386/i386/exception.s:255
 #19 0x00000033 in ?? ()
 Previous frame inner to this frame (corrupt stack?)
 
 
 
 
 
Responsible-Changed-From-To: freebsd-bugs->rwatson 
Responsible-Changed-By: rwatson 
Responsible-Changed-When: Sun Mar 8 11:25:06 UTC 2009 
Responsible-Changed-Why:  
Take ownership since I'm working on this bug. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=132215 
State-Changed-From-To: open->analyzed 
State-Changed-By: rwatson 
State-Changed-When: Sun Mar 8 11:26:18 UTC 2009 
State-Changed-Why:  
Transition to analyzed: this panic may be the result of a missed MFC of 
r186061, which corrected a leaked lock in routing socket error handling. 
I've merged the commit to stable/7; hopefully it will appear in this PR 
shortly.  Please let me know if it resolves the problem and follow up on 
this PR with that information.  Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=132215 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/132215: commit references a PR
Date: Sun,  8 Mar 2009 11:21:09 +0000 (UTC)

 Author: rwatson
 Date: Sun Mar  8 11:20:54 2009
 New Revision: 189531
 URL: http://svn.freebsd.org/changeset/base/189531
 
 Log:
   Merge missed routing lock fix r186061 from head to stable/7:
   
     Dont leak the rnh lock on error.
   
   Original change was from thompsa.  This may correct routing-related panics
   seen by uses of ppp, including the following PRs:
   
   PR:		132215, 132222, 132404
   Reported by:	Ethan <hsiao.ethan at gmail.com>
 
 Modified:
   stable/7/sys/   (props changed)
   stable/7/sys/contrib/pf/   (props changed)
   stable/7/sys/dev/ath/ath_hal/   (props changed)
   stable/7/sys/dev/cxgb/   (props changed)
   stable/7/sys/net/rtsock.c
 
 Modified: stable/7/sys/net/rtsock.c
 ==============================================================================
 --- stable/7/sys/net/rtsock.c	Sun Mar  8 11:12:23 2009	(r189530)
 +++ stable/7/sys/net/rtsock.c	Sun Mar  8 11:20:54 2009	(r189531)
 @@ -629,10 +629,10 @@ route_output(struct mbuf *m, struct sock
  				       rt->rt_ifa->ifa_addr))) {
  				RT_UNLOCK(rt);
  				RADIX_NODE_HEAD_LOCK(rnh);
 -				if ((error = rt_getifa_fib(&info,
 -				    rt->rt_fibnum)) != 0)
 -					senderr(error);
 +				error = rt_getifa_fib(&info, rt->rt_fibnum);
  				RADIX_NODE_HEAD_UNLOCK(rnh);
 +				if (error != 0)
 +					senderr(error);
  				RT_LOCK(rt);
  			}
  			if (info.rti_ifa != NULL &&
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: analyzed->patched 
State-Changed-By: rwatson 
State-Changed-When: Sun Mar 8 12:09:47 UTC 2009 
State-Changed-Why:  
Change r189531 is believed to correct this problem, could you confirm? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=132215 

From: =?ISO-8859-1?Q?St=E9phane?= Legrand <stephleg@free.fr>
To: bug-followup@FreeBSD.org, stephleg@free.fr
Cc:  
Subject: Re: kern/132215: [route] Crash after running ppp(8) (route locking
 problem)
Date: Tue, 10 Mar 2009 22:06:20 +0100

 Hi,
 
 I can confirm that a new kernel fixed the problem. The PR can be closed.
 
 Thank you very much.
 
 Regards,
 Stphane Legrand.
 
 
State-Changed-From-To: patched->closed 
State-Changed-By: rwatson 
State-Changed-When: Tue Mar 10 21:59:23 UTC 2009 
State-Changed-Why:  
Close as believed fixed; thanks for the report, and please let me know if 
the problem recurs. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=132215 
>Unformatted:
