You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Additional context
The crash happens in the videoroom handler after sending one of the WebSocket messages with a NULL videoroom pointer.
Thread 22 "janus" received signal SIGSEGV, Segmentation fault.
#0 0x00007ffff7c972e9 in g_mutex_lock () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff40a2172 in janus_videoroom_handler (data=<optimized out>) at plugins/janus_videoroom.c:12580
(gdb) print videoroom
$1 = (janus_videoroom *) 0x0
Context from logs just before the crash:
ICE restart triggered and SDP negotiation occurs
Remote SDP is processed (with a/v codecs, ICE credentials)
SDP answer generated and ICE candidates prepared
Series of WebSocket messages sent:
334 bytes (SDP answer)
241 bytes (trickle candidate)
139 bytes (end-of-candidates)
Crash occurs immediately after sending the last WebSocket message
This appears to be a race condition.. trying to lock a mutex on a NULL videoroom pointer during the WebSocket message transmission phase of ICE negotiation, specifically after sending trickle candidate events. I'm able to consistently reproduce.
The text was updated successfully, but these errors were encountered:
What version of Janus is this happening on?
Version: Janus 1.3.0 (commit dfd86e3)
Have you tested a more recent version of Janus too?
No, currently 1.3.0 is the latest version.
Was this working before?
N/A
Is there a gdb or libasan trace of the issue?
Full GDB log: https://gist.github.com/jongirard/03169daf5193bf3feb29ae2e8ed01229
GDB pointer trace: https://gist.github.com/jongirard/c98202a826fbf05d97a313d36ea083ab
Additional context
The crash happens in the videoroom handler after sending one of the WebSocket messages with a NULL videoroom pointer.
Context from logs just before the crash:
This appears to be a race condition.. trying to lock a mutex on a NULL videoroom pointer during the WebSocket message transmission phase of ICE negotiation, specifically after sending trickle candidate events. I'm able to consistently reproduce.
The text was updated successfully, but these errors were encountered: