Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2014 19:03:37 -0800
From:      Rui Paulo <rpaulo@me.com>
To:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   LOR in IGMP code
Message-ID:  <B4F50B42-F837-471C-A963-2F515DDE3192@me.com>

next in thread | raw e-mail | index | archive | help
Hi,

I may look into this, but here it is.  HEAD as of this week.

lock order reversal:
 1st 0xc2be2508 if_addr_lock (if_addr_lock) @ =
/home/rpaulo/freebsd/sys/netinet/igmp.c:1716
 2nd 0xc070d9bc ifnet_rw (ifnet_rw) @ =
/home/rpaulo/freebsd/sys/net/if.c:243
KDB: stack backtrace:
db_trace_self() at db_trace_self
	 pc =3D 0xc0551534  lr =3D 0xc0233b58 =
(db_trace_self_wrapper+0x30)
	 sp =3D 0xdcfc5a18  fp =3D 0xdcfc5b30
	r10 =3D 0xc070d9bc
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
	 pc =3D 0xc0233b58  lr =3D 0xc03a2f34 (kdb_backtrace+0x38)
	 sp =3D 0xdcfc5b38  fp =3D 0xdcfc5b40
	 r4 =3D 0xc06a7a24  r5 =3D 0xc05a52a1
	 r6 =3D 0xc05c7a76  r7 =3D 0xc06da464
kdb_backtrace() at kdb_backtrace+0x38
	 pc =3D 0xc03a2f34  lr =3D 0xc03bd7e0 (witness_checkorder+0xe50)
	 sp =3D 0xdcfc5b48  fp =3D 0xdcfc5b98
	 r4 =3D 0xc05c8031
witness_checkorder() at witness_checkorder+0xe50
	 pc =3D 0xc03bd7e0  lr =3D 0xc0369114 (__rw_rlock+0x94)
	 sp =3D 0xdcfc5ba0  fp =3D 0xdcfc5bd0
	 r4 =3D 0x000000f3  r5 =3D 0xc05c7a73
	 r6 =3D 0xc070d9cc  r7 =3D 0xc070d9bc
	 r8 =3D 0xc2be2400  r9 =3D 0xc0705bfc
	r10 =3D 0x0000001c
__rw_rlock() at __rw_rlock+0x94
	 pc =3D 0xc0369114  lr =3D 0xc042d2f0 (ifnet_byindex+0x28)
	 sp =3D 0xdcfc5bd8  fp =3D 0xdcfc5be8
	 r4 =3D 0xc070d9cc  r5 =3D 0x00000003
	 r6 =3D 0x00000000  r7 =3D 0xc0705bc0
	 r8 =3D 0xc2be2400  r9 =3D 0xc0705bfc
	r10 =3D 0x0000001c
ifnet_byindex() at ifnet_byindex+0x28
	 pc =3D 0xc042d2f0  lr =3D 0xc0448bac (igmp_intr+0x18)
	 sp =3D 0xdcfc5bf0  fp =3D 0xdcfc5c40
	 r4 =3D 0xc2bbfa00  r5 =3D 0xc2bbfa00
	 r6 =3D 0x00000000
igmp_intr() at igmp_intr+0x18
	 pc =3D 0xc0448bac  lr =3D 0xc043a3a4 (netisr_dispatch_src+0xa8)
	 sp =3D 0xdcfc5c48  fp =3D 0xdcfc5c70
	 r4 =3D 0x00000002  r5 =3D 0xc2bbfa00
	 r6 =3D 0x00000000  r7 =3D 0xc0705bc0
	 r8 =3D 0xc2be2400  r9 =3D 0xc0705bfc
	r10 =3D 0x0000001c
netisr_dispatch_src() at netisr_dispatch_src+0xa8
	 pc =3D 0xc043a3a4  lr =3D 0xc043a734 (netisr_dispatch+0x14)
	 sp =3D 0xdcfc5c78  fp =3D 0xdcfc5c78
	 r4 =3D 0xc2c27500  r5 =3D 0xc2bbfa00
	 r6 =3D 0x00000000  r7 =3D 0x00000000
	 r8 =3D 0xc2be2400  r9 =3D 0x00000016
	r10 =3D 0x0000001c
netisr_dispatch() at netisr_dispatch+0x14
	 pc =3D 0xc043a734  lr =3D 0xc04492cc =
(igmp_v1v2_queue_report+0x1d8)
	 sp =3D 0xdcfc5c80  fp =3D 0xdcfc5ca8
igmp_v1v2_queue_report() at igmp_v1v2_queue_report+0x1d8
	 pc =3D 0xc04492cc  lr =3D 0xc0447df0 (igmp_fasttimo+0x3c4)
	 sp =3D 0xdcfc5cb0  fp =3D 0xdcfc5d38
	 r4 =3D 0x00000002  r5 =3D 0xc2c25c00
	 r6 =3D 0xc05ca12c  r7 =3D 0xc2acff60
	 r8 =3D 0x00000000  r9 =3D 0xc2c27500
	r10 =3D 0xc070db70
igmp_fasttimo() at igmp_fasttimo+0x3c4
	 pc =3D 0xc0447df0  lr =3D 0xc03da754 (pffasttimo+0x4c)
	 sp =3D 0xdcfc5d40  fp =3D 0xdcfc5d60
	 r4 =3D 0xc0677e40  r5 =3D 0xc0677fb0
	 r6 =3D 0xc070d648  r7 =3D 0xc070d610
	 r8 =3D 0xc070d644  r9 =3D 0x00000096
	r10 =3D 0xc070d600
pffasttimo() at pffasttimo+0x4c
	 pc =3D 0xc03da754  lr =3D 0xc03815a8 (softclock_call_cc+0x138)
	 sp =3D 0xdcfc5d68  fp =3D 0xdcfc5dc0
	 r4 =3D 0x00000000  r5 =3D 0xc07046f8
softclock_call_cc() at softclock_call_cc+0x138
	 pc =3D 0xc03815a8  lr =3D 0xc0381708 (softclock+0x40)
	 sp =3D 0xdcfc5dc8  fp =3D 0xdcfc5dd0
	 r4 =3D 0xc070d610  r5 =3D 0xc070d600
	 r6 =3D 0xc2516600  r7 =3D 0xc05af8e1
	 r8 =3D 0x000004be  r9 =3D 0xc251662c
	r10 =3D 0x00000000
softclock() at softclock+0x40
	 pc =3D 0xc0381708  lr =3D 0xc033b9dc =
(intr_event_execute_handlers+0xb8)
	 sp =3D 0xdcfc5dd8  fp =3D 0xdcfc5df8
	 r4 =3D 0xc2859700  r5 =3D 0xc2859748
intr_event_execute_handlers() at intr_event_execute_handlers+0xb8
	 pc =3D 0xc033b9dc  lr =3D 0xc033c32c (ithread_loop+0xa8)
	 sp =3D 0xdcfc5e00  fp =3D 0xdcfc5e38
	 r4 =3D 0xc2505ec0  r5 =3D 0xc297dcc0
	 r6 =3D 0xc2859700  r7 =3D 0xc0669900
	 r8 =3D 0xc070d3e4  r9 =3D 0x00000000
	r10 =3D 0xc05af8e1
ithread_loop() at ithread_loop+0xa8
	 pc =3D 0xc033c32c  lr =3D 0xc033931c (fork_exit+0x80)
	 sp =3D 0xdcfc5e40  fp =3D 0xdcfc5e58
	 r4 =3D 0xc297dcc0  r5 =3D 0xc297a6f0
	 r6 =3D 0xc033c284  r7 =3D 0xc2505ec0
	 r8 =3D 0xdcfc5e60  r9 =3D 0x00000000
	r10 =3D 0x00000000
fork_exit() at fork_exit+0x80
	 pc =3D 0xc033931c  lr =3D 0xc0553284 (swi_exit)
	 sp =3D 0xdcfc5e60  fp =3D 0x00000000
	 r4 =3D 0xc033c284  r5 =3D 0xc2505ec0
	 r6 =3D 0x00000000  r7 =3D 0x00000000
	 r8 =3D 0x00000000
swi_exit() at swi_exit
	 pc =3D 0xc0553284  lr =3D 0xc0553284 (swi_exit)
	 sp =3D 0xdcfc5e60  fp =3D 0x00000000


--
Rui Paulo






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B4F50B42-F837-471C-A963-2F515DDE3192>