panic in -HEAD multicast code

Julien Charbon jcharbon at verisign.com
Mon Apr 7 09:40:11 UTC 2014


  Hi Adrian,

On 07/04/14 04:58, Adrian Chadd wrote:
> I'm seeing a panic in the multicast code path. I reproduce this by
> trying to browse network sharing on VLC.
>
> The panic:
>
> http://people.freebsd.org/~adrian/ath/core.txt.0
>
> Any ideas?

  We believe this issue is due to a race condition in multicast code.  We found 
it tracking down another unrelated bug:

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

  See provided details on this race condition in PR description section starting 
with:  "With even this patch in place, we have further found a subsequent race 
condition that...".

  In short, it looks like a race between a thread setting/allocating a new 
multicast address on an interface and calling:

inp_setmoptions() -> inp_join_group() -> inp_join_group_locked() -> in_getmulti()

  and a thread detaching this interface, purging all associated multicast 
addresses and calling:

if_detach() -> if_detach_internal() -> if_purgemaddrs() -> if_delmulti_locked() 
-> if_freemulti()

  However, we did not find a way to fix it without unwanted side effects and we 
asked for comments/ideas.

--
Julien



More information about the freebsd-net mailing list