Bug #1856

panic while trying to run the transmission bit torrent client.

Added by eocallaghan over 3 years ago. Updated over 3 years ago.

Status:ClosedStart date:
Priority:UrgentDue date:
Assignee:dillon% Done:

0%

Category:-
Target version:-

Description

(kgdb) bt
#0 _get_mycpu (di=0xffffffff808b7f00) at ./machine/thread.h:73
#1 md_dumpsys (di=0xffffffff808b7f00)
at /usr/src/sys/platform/pc64/x86_64/dump_machdep.c:262
#2 0xffffffff80351e36 in dumpsys () at /usr/src/sys/kern/kern_shutdown.c:880
#3 0xffffffff80352525 in boot (howto=-2004318071)
at /usr/src/sys/kern/kern_shutdown.c:387
#4 0xffffffff803528e3 in panic (
fmt=0xffffffff80607d88 "MP_LOCK_HELD: Not held thread %p")
at /usr/src/sys/kern/kern_shutdown.c:786
#5 0xffffffff80444f9b in ip_output (m0=<value optimized out>, opt=0x0,
ro=0xffffffe00c85a008, flags=<value optimized out>, imo=0x0, inp=0x0)
at /usr/src/sys/netinet/ip_output.c:316
#6 0xffffffff80456645 in udp_output (msg=0xffffffe05dde88c8)
at /usr/src/sys/netinet/udp_usrreq.c:855
#7 udp_send (msg=0xffffffe05dde88c8) at /usr/src/sys/netinet/udp_usrreq.c:1160
#8 0xffffffff803f9fcd in netmsg_service_loop (arg=<value optimized out>)
at /usr/src/sys/net/netisr.c:284
#9 0xffffffff8035dacf in lwkt_deschedule_self (td=0x0)
at /usr/src/sys/kern/lwkt_thread.c:281
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Cheers,
Edward.

issue1856_workaround.patch Magnifier (784 Bytes) eocallaghan, 10/02/2010 11:00 AM

History

#1 Updated by eocallaghan over 3 years ago

OK, it looks like ip_output() call in,
sys/netinet/udp_usrreq.c:855
is not holding any mp_lock which trips the KASSERT in,
sys/netinet/ip_output.c:316
because the Multicast is apperently not MPSAFE yet.

Is this KASSERT now redundant from privous MP work?

Cheers,
Edward.

#2 Updated by eocallaghan over 3 years ago

Attached is a patch to work around this issue for the moment.
Multicast needs to be made MPSAFE, however it is maybe better not to panic for
the moment ;)

Cheers,
Edward.

#3 Updated by dillon over 3 years ago

try this patch instead:

fetch http://apollo.backplane.com/DFlyMisc/mroute01.patch

At the very least we can move the mp lock inward in that section of code.
-Matt

#4 Updated by eocallaghan over 3 years ago

mroute01.patch confirmed to work.

#5 Updated by eocallaghan over 3 years ago

Fix committed in 42033fe6ad16e28f126c32e3a7f1657c60c3c382.

Status: Chatting->Resolved.

A new ticket, /issue1862 was created for a RFE to the multicast code path to be
taken out from under GIANT.

Cheers,
Edward.

Also available in: Atom PDF