<div dir="ltr"><div><div><div><div>Thanks guys for your effort, <br><br></div>I installed the latest libnice master on our staging server, did some smoke testing and luckily it has not broken everything :phew <br><br></div>Then asked other parties to verify on 4G and the very first feedback is that it started working properly, no crashes so far, which is fantastic<br><br></div>Will do more tests during next couple of days and let you know<br><br></div>thank you <br></div><div class="gmail_extra"><br><div class="gmail_quote">On 23 March 2018 at 20:33, Olivier Crête <span dir="ltr"><<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>Hi,</div><div><br></div><div>Merged those commits  as it was blocked on me, I finally took time to review them and merge them straight to the git master. So if you pull now you should have them. Please test carefully as there are a lot of changes!</div><div><br></div><div>Olivier</div><div><div class="h5"><div><br></div><div>On Fri, 2018-03-23 at 18:40 +0200, Igor Khomenko wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex;border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr"><div><div><div>Thanks Fabrice for getting back to me<br><br></div>is there a custom Git branch with the patch I can build from or should I port all those changes manually?<br><br></div>At this moment I use latest master -  commits on Nov 28, 2017
        <br><br></div>thanks<br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 23 March 2018 at 18:32, Fabrice Bellet <span dir="ltr"><<a href="mailto:fabrice@bellet.info" target="_blank">fabrice@bellet.info</a>></span> wrote:<br><blockquote type="cite" style="margin:0 0 0 .8ex;border-left:2px #729fcf solid;padding-left:1ex">Hi Igor,<br>
<span><br>
On 03/22/18 at 10:12am, Igor Khomenko wrote:<br>
> Hi Olivier, Lorenzo<br>
><br>
> I've got all needed logs upon crash, including libnice logs<br>
><br>
> Stacktrace again (the same assert):<br>
> <a href="https://www.dropbox.com/s/jlqtzu0neqlqc8o/janus_libnice_assert_stacktrace.crash?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/jlqt<wbr>zu0neqlqc8o/janus_libnice_asse<wbr>rt_stacktrace.crash?dl=0</a><br>
><br>
> logs:<br>
> <a href="https://www.dropbox.com/s/hq1nkeh6w25jsk3/janus.log?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/hq1n<wbr>keh6w25jsk3/janus.log?dl=0</a><br>
><br>
> look at the end of janus.log<br>
> Line N19365 - "(process:17784): libnice-DEBUG: Agent 0x7f6aa000dcf0 :<br>
> stream 1 component 1 STATE-CHANGE gathering -> connected."<br>
> this is when crash happened, then autorestart of Janus occurred after some<br>
> time.<br>
><br>
> So all the lines before N19365 are what we are looking for from my<br>
> understanding,<br>
> e.g. line N19330 is where assertion failed<br>
><br>
> Please let me know if you need anything else here to identify the root<br>
> cause and find a proper solution<br>
<br>
</span>According to your logs, I think the cause of the problem is that no pair<br>
is formed by the gathering stage: we have two local IPv4 candidates, and<br>
we receive a remote IPv6 candidate. A new pair is formed later when we<br>
start receiving incoming STUN requests. The state of the agent should<br>
change from GATHERING to CONNECTING there, line 19285 in your janus.log<br>
file:<br>
<br>
(process:17784): libnice-DEBUG: Agent 0x7f6aa000dcf0 : Adding a triggered check to conn.check list (local=0x7f6aa00239f0).<br>
(process:17784): libnice-DEBUG: Agent 0x7f6aa000dcf0 : creating new pair 0x7f6aa001a190 state 1<br>
<br>
Does this patch help in your case : <a href="https://phabricator.freedesktop.org/D1889" rel="noreferrer" target="_blank">https://phabricator.freedeskto<wbr>p.org/D1889</a><br>
And more precisely, the chunk around line 2967-2968 in conncheck.c that replaces<br>
priv_add_new_check_pair() by priv_conn_check_add_for_candid<wbr>ate_pair_matched()<br>
at the end of function priv_schedule_triggered_check(<wbr>)  ?<br>
<br>
Best wishes,<br>
<span class="m_-3070704257048694577HOEnZb"><font color="#888888">--<br>
fabrice<br>
</font></span></blockquote></div><br><br clear="all"><br></div></blockquote></div></div><span class="HOEnZb"><font color="#888888"><div><span><pre><pre>-- <br></pre>Olivier Crête
<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>
</pre></span></div></font></span></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:13px;background-color:rgb(255,255,255);border-collapse:collapse;color:rgb(0,0,102);font-family:tahoma,sans-serif">Igor Khomenko,</span><div style="color:rgb(136,136,136);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:tahoma,sans-serif;border-collapse:collapse"><div><font color="#000066">CTO @ </font><b><font color="#3366ff">Quick</font><font color="#009900">Blox</font></b></div><div><b><font color="#009900"><br></font></b></div><div style="color:rgb(0,0,102)"><a href="mailto:taras@quickblox.com" style="color:rgb(17,85,204)" target="_blank">igor@quickblox.com</a></div></span></div><div style="background-color:rgb(255,255,255)"><span style="border-collapse:collapse"><div style="color:rgb(0,0,102);font-family:tahoma,sans-serif;font-size:13px"><a href="https://q-municate.com/" style="color:rgb(17,85,204);font-size:12.8px" target="_blank">Q-municate</a><span style="font-size:12.8px">: Igor Khomenko</span><br></div><div style="color:rgb(0,0,102);font-family:tahoma,sans-serif;font-size:13px"><br></div><div><font color="#000066" face="tahoma, sans-serif"><span style="white-space:pre-wrap">We will be happy to solve your tech issues if you ask ‘quickblox’ tagged question on StackOverflow <a href="http://stackoverflow.com/questions/ask" target="_blank">http://stackoverflow.com/questions/ask</a></span></font></div></span></div></div></div></div>
</div>