[libnice] TRANSITION(CONNECTING, GATHERING) in agent.c/agent_signal_component_state_change

Graham Hazel graham.hazel at gmail.com
Tue Jul 20 16:20:15 UTC 2021


Hi Olivier,

Thanks for your reply. It happened ~8-10 times over ~20k CPU-hours of
execution (and has happened 0 times in well over 10k hours since I
vandalised the assertion statement).
I'm afraid I don't have an easy way to reproduce it, nor a useable stack
trace, but by code inspection and correlation with Janus logs I infer that
the call stack is:

Janus function janus_ice_restart calls nice_agent_restart ->
nice_agent_restart calls nice_stream_restart -> nice_stream_restart calls
agent_signal_component_state_change

I hope that helps!

Graham




On Tue, Jul 20, 2021 at 4:48 PM Olivier Crête <olivier.crete at collabora.com>
wrote:

> Hi,
>
> Can you get a stack trace when the assertion is triggered? It's
> definitely not a valid transition. How often can you reproduce this? Do
> you have an easy way to trigger it ?
>
> If you're running a production server, you can always compile with -
> DG_DISABLE_ASSERT if you want to not abort. But it would really help me
> if you have a way to know where this invalid transition is called from.
>
> Olivier
>
> On Tue, 2021-07-20 at 14:00 +0100, Graham Hazel wrote:
> > Hi,
> >
> > I'm running the Janus WebRTC Server to handle some video transport and
> > on several occasions have observed an assertion firing in libnice
> > (agent/agent.c, line 2573) during an ICE restart.
> >
> > It appears likely that adding TRANSITION(CONNECTING, GATHERING) to the
> > list of valid state changes in the assert statement "fixes" the issue.
> >
> > Now, I fully admit both (a) I'm probably doing "something weird" in my
> > setup to hit this case surprisingly often; and (b) I have very little
> > idea what any of the libnice code is doing. So my very naive question
> > is: is this actually a valid transition that's missing from the
> > assertion, or is something bad happening that I'm now ignoring?
> >
> > Thanks!
> > Graham
> >
> > _______________________________________________
> > nice mailing list
> > nice at lists.freedesktop.org
> > https://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/20210720/f7e0b343/attachment.htm>


More information about the nice mailing list