Hi, I noticed the following checkins to route.c in current, and was wondering if they have barring on the deadlock documented below: Revision 274589 <http://svnweb.freebsd.org/base?view=revision&revision=274589> - (view <http://svnweb.freebsd.org/base/head/sys/net/route.c?revision=274589&view=markup>) (download <http://svnweb.freebsd.org/base/head/sys/net/route.c?revision=274589&view=co>) (annotate <http://svnweb.freebsd.org/base/head/sys/net/route.c?annotate=274589>) - [select for diffs] <http://svnweb.freebsd.org/base/head/sys/net/route.c?view=log&r1=274589&log_pagestart=0> Modified Sun Nov 16 18:15:23 2014 UTC (4 months, 1 week ago) by melifaro File length: 46990 byte(s) Diff to previous 274585 <http://svnweb.freebsd.org/base/head/sys/net/route.c?r1=274585&r2=274589> Revert r274585 <http://svnweb.freebsd.org/base?view=revision&revision=274585>: rte lock is properly destroyed in uma dtor callback. Pointed by: glebius <>Revision 274585 <http://svnweb.freebsd.org/base?view=revision&revision=274585> - (view <http://svnweb.freebsd.org/base/head/sys/net/route.c?revision=274585&view=markup>) (download <http://svnweb.freebsd.org/base/head/sys/net/route.c?revision=274585&view=co>) (annotate <http://svnweb.freebsd.org/base/head/sys/net/route.c?annotate=274585>) - [select for diffs] <http://svnweb.freebsd.org/base/head/sys/net/route.c?view=log&r1=274585&log_pagestart=0> Modified Sun Nov 16 14:56:31 2014 UTC (4 months, 1 week ago) by melifaro File length: 47013 byte(s) Diff to previous 274187 <http://svnweb.freebsd.org/base/head/sys/net/route.c?r1=274187&r2=274585> Make witness happy: destroy rte lock before free. MFC after: 2 weeks lock order reversal: 1st 0xfffff80003d62190 if_addr_lock (if_addr_lock) _at_ /u/lars/sandbox/builds/curre nt_10032015/sys/netinet/igmp.c:1714 2nd 0xfffff800090d7be0 radix node head (radix node head) _at_ /u/lars/sandbox/builds/current_10032015/sys/net/route.c:415 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0043faf3f0 witness_checkorder() at witness_checkorder+0xbe7/frame 0xfffffe0043faf480 __rw_rlock() at __rw_rlock+0x5a/frame 0xfffffe0043faf520 rtalloc1_fib() at rtalloc1_fib+0x60/frame 0xfffffe0043faf5d0 rtalloc_ign_fib() at rtalloc_ign_fib+0x98/frame 0xfffffe0043faf610 flowtable_lookup_common() at flowtable_lookup_common+0x1e6/frame 0xfffffe0043faf6f0 flowtable_lookup() at flowtable_lookup+0x10f/frame 0xfffffe0043faf750 ip_output() at ip_output+0x87/frame 0xfffffe0043faf840 igmp_intr() at igmp_intr+0x2ed/frame 0xfffffe0043faf8c0 netisr_dispatch_src() at netisr_dispatch_src+0x61/frame 0xfffffe0043faf930 igmp_v1v2_queue_report() at igmp_v1v2_queue_report+0x14b/frame 0xfffffe0043faf980 igmp_fasttimo() at igmp_fasttimo+0x381/frame 0xfffffe0043fafa30 pffasttimo() at pffasttimo+0x54/frame 0xfffffe0043fafa60 softclock_call_cc() at softclock_call_cc+0x165/frame 0xfffffe0043fafb20 softclock() at softclock+0x3d/frame 0xfffffe0043fafb40 intr_event_execute_handlers() at intr_event_execute_handlers+0xb1/frame 0xfffffe0043fafb70 ithread_loop() at ithread_loop+0x9c/frame 0xfffffe0043fafbb0 fork_exit() at fork_exit+0x71/frame 0xfffffe0043fafbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0043fafbf0 This was on a current build as of March 10 - svn 279869 LarsReceived on Fri Mar 27 2015 - 19:37:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:56 UTC