webrtcbin: unit tests occasionally segfault/crash on CI
Recently we've been seeing segfaults of various webrtc unit tests on the CI, but we don't seem to get stack traces from validate.
(I'm sure there was an issue for it already, but I just can't seem to find it. I'm sure I even labelled it.)
I just caught one likely crash in a valgrind job, so posting details here:
## test_media_setup.valgrind:
Thread 12:
Invalid read of size 4
at 0x868FD91: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x868F0E4: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x504BC4A: socket_source_dispatch (gsocket.c:3854)
by 0x4A56ECC: g_main_dispatch (gmain.c:3189)
by 0x4A56ECC: g_main_context_dispatch (gmain.c:3854)
by 0x4A5725F: g_main_context_iterate.isra.0 (gmain.c:3927)
by 0x4A57592: g_main_loop_run (gmain.c:4123)
by 0x6248192: ??? (in /usr/lib64/libgupnp-igd-1.0.so.4.2.0)
by 0x4A804C1: g_thread_proxy (gthread.c:805)
by 0x4F624BF: start_thread (pthread_create.c:479)
by 0x4C83132: clone (clone.S:95)
Address 0x78e44a8 is 56 bytes inside a block of size 8,352 free'd
at 0x483DA0C: free (vg_replace_malloc.c:540)
by 0x4A5CD7C: g_free (gmem.c:192)
by 0x4A756A3: g_slice_free1 (gslice.c:1135)
by 0x4B62345: g_type_free_instance (gtype.c:1936)
by 0x4B66343: g_value_unset (gvalue.c:275)
by 0x4B5AB3C: g_signal_emit_valist (gsignal.c:3421)
by 0x4B5BF68: g_signal_emit_by_name (gsignal.c:3487)
by 0x868EE5E: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x868F437: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x868FC03: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x868F0E4: ??? (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x504BC4A: socket_source_dispatch (gsocket.c:3854)
by 0x4A56ECC: g_main_dispatch (gmain.c:3189)
by 0x4A56ECC: g_main_context_dispatch (gmain.c:3854)
by 0x4A5725F: g_main_context_iterate.isra.0 (gmain.c:3927)
by 0x4A57592: g_main_loop_run (gmain.c:4123)
by 0x6248192: ??? (in /usr/lib64/libgupnp-igd-1.0.so.4.2.0)
by 0x4A804C1: g_thread_proxy (gthread.c:805)
by 0x4F624BF: start_thread (pthread_create.c:479)
by 0x4C83132: clone (clone.S:95)
Block was alloc'd at
at 0x483C80B: malloc (vg_replace_malloc.c:309)
by 0x4A5CC88: g_malloc (gmem.c:99)
by 0x4A74F95: g_slice_alloc (gslice.c:1024)
by 0x4A755BD: g_slice_alloc0 (gslice.c:1050)
by 0x4B61F79: g_type_create_instance (gtype.c:1836)
by 0x4B4442C: g_object_new_internal (gobject.c:1805)
by 0x4B46347: g_object_new_valist (gobject.c:2128)
by 0x4B4669C: g_object_new (gobject.c:1648)
by 0x8674EAD: gupnp_context_manager_create (in /usr/lib64/libgupnp-1.0.so.4.0.1)
by 0x6246564: ??? (in /usr/lib64/libgupnp-igd-1.0.so.4.2.0)
by 0x6248023: ??? (in /usr/lib64/libgupnp-igd-1.0.so.4.2.0)
by 0x4B44A7D: g_object_new_with_custom_constructor (gobject.c:1777)
by 0x4B44A7D: g_object_new_internal (gobject.c:1803)
by 0x4B45B14: g_object_new_with_properties (gobject.c:1973)
by 0x4B466C0: g_object_new (gobject.c:1645)
by 0x61E293A: nice_agent_gather_candidates (agent.c:3086)
by 0x61A3443: gst_webrtc_ice_stream_gather_candidates (icestream.c:190)
by 0x61B02F8: _set_description_task (gstwebrtcbin.c:4600)
by 0x61A5FA7: _execute_op (gstwebrtcbin.c:765)
by 0x4A537CA: g_idle_dispatch (gmain.c:5627)
by 0x4A56ECC: g_main_dispatch (gmain.c:3189)
by 0x4A56ECC: g_main_context_dispatch (gmain.c:3854)