[libnice] Assert due to wrong transition

Lorenzo Miniero lminiero at gmail.com
Mon Mar 5 16:18:32 UTC 2018


Hi Olivier,

thanks for the quick answer! We haven't been able to reproduce ourselves
yet, so I don't have a stack trace. I'll ask the users from our forum who
had the issue to share their data here.

Lorenzo


2018-03-05 17:11 GMT+01:00 Olivier CrĂȘte <olivier.crete at collabora.com>:

> Hi,
>
> Can you reproduce this? Can you get a stack trace?
>
> I don't think it should get to that line in the code before being in
> CONNECTING at the very minimum. If that happens, we have a more complex bug
> on our hands.
>
> Olivier
>
> On Mon, 2018-03-05 at 14:49 +0100, Lorenzo Miniero wrote:
>
> Hi,
>
> I added some comments on this Phabricator link a few days ago:
>
> https://phabricator.freedesktop.org/T120
>
> but I suspect it's unmonitored, so I thought I'd write here as well.
> Apologies if you got the same info more than once.
>
> Basically, some Janus users recently switched to libnice master and
> encountered a crash originated by a wrong state transition. Digging in the
> changes since 0.1.13, we found out about the g_assert that can get libnice
> to crash if the ICE state transition is considered to be invalid.
>
> From the feedback we got on our forums, one of the crashes definitely
> occurred while trying to switch from GATHERING to CONNECTED, which does
> indeed seem not to be permitted in your state machine. A colleague had a
> look at the code, and found what may be a possibile state violation in
> conncheck.c:
>
> https://github.com/libnice/libnice/blob/master/agent/conncheck.c#L3413
>
> Apparently, the only condition avoiding a transition to CONNECTED is a
> state different from READY, which includes GATHERING too. Neither of us are
> experts in the libnice internals, though, so not sure if this is a red
> herring.
>
> Does that sound like a good place to look into? If not, what may be the
> issue? Can it be that this unallowed transition is facilitated by our usage
> of trickle ICE? A quick "hack" in this specific instance might be simply
> "allowing" the GATHERING to CONNECTED transition in agent_signal_component_state_change,
> but 1) there might be other transitions we're not aware of, and 2) not sure
> if this would just hide what might be a lingering problem that could come
> back to bite later.
>
> Looking forward to your thoughts, thanks in advance,
> Lorenzo
>
> _______________________________________________
> nice mailing listnice at lists.freedesktop.orghttps://lists.freedesktop.org/mailman/listinfo/nice
>
> --
>
> Olivier CrĂȘte olivier.crete at collabora.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nice/attachments/20180305/50c95390/attachment.html>


More information about the nice mailing list