Access Violation/SegFault in Windows with UDP
We are running into a consistent Access Violation crash with one of our end users when negotiating a WebRtc stream with UDP and remote TURN but local STUN candidates.
OS: Windows 10.0.17763
GStreamer 1.22.6
from logging:
2024-01-11T20:13:56.017Z web-rtc-video: - LOCAL via srflx - <ip redacted>:62391 over udp 15:13:56
2024-01-11T20:13:56.019Z web-rtc-video: - REMOTE via TURN - <ip redacted>:52764 over undefined
Stack trace from the last two crashes is:
[Inline Frame] glib-2.0-0.dll!magazine_chain_pop_head(_ChunkLink * *) Line 585
[Inline Frame] glib-2.0-0.dll!thread_memory_magazine1_alloc(ThreadMemory *) Line 888
glib-2.0-0.dll!g_slice_alloc(unsigned __int64 mem_size=24) Line 1065
glib-2.0-0.dll!g_list_prepend(_GList * list=0x0000000000000000, void * data=0x0000024ef50eb990) Line 338
glib-2.0-0.dll!g_queue_push_head(_GQueue * queue=0x0000024ef7e58950, void * data) Line 376
[Inline Frame] nice-10.dll!nice_socket_queue_send_with_callback(_GQueue * message_offset=0, const NiceOutputMessage )
Line 357
nice-10.dll!nice_socket_flush_send_queue_to_socket(_GSocket * gsock, _GQueue * send_queue=0x0000024ef7e58950) Line 427
nice-10.dll!socket_send_more(_GSocket * gsocket=0x0000024ef86b9970, GIOCondition condition=G_IO_OUT, void * data=0x0000024ef7e584d0) Line 454
gio-2.0-0.dll!socket_source_dispatch(_GSource * source=0x0000024ef86b9970, int()(void *) callback=0x00007ffc530c31f0, void * user_data=0x0000024ef7e584d0) Line 4039
glib-2.0-0.dll!g_main_dispatch(_GMainContext * context=0x0000024ef5e249c0) Line 3454 [Inline Frame] glib-2.0-0.dll!g_main_context_dispatch(_GMainContext ) Line 4172
glib-2.0-0.dll!g_main_context_iterate(_GMainContext * context=0x0000024ef5e249c0, int block=1, int dispatch=1, _GThread * self=0x0000024ef80be8e0) Line 4248
glib-2.0-0.dll!g_main_loop_run(_GMainLoop * loop=0x0000024ef80be8e0) Line 4448
GStreamerController.dll!00007ffc570ad873()
glib-2.0-0.dll!g_thread_proxy(void * data=0x0000024ef831b980) Line 831
glib-2.0-0.dll!g_thread_win32_proxy(void * data) Line 459
ucrtbase.dll!thread_start<unsigned int (__cdecl)(void * __ptr64)>()
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()