AddressSanitizer: read from the zero page
This happens frequently when exiting gstreamer webrtc pipeline with libnice master. Could the callback be fired after OPENSSL_cleanup() completes and deletes the lock?
==25072==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000018 (pc 0x7f3d71d831c2 bp 0x000000000010 sp 0x7f3d68f83fa0 T2)
==25072==The signal is caused by a READ memory access.
==25072==Hint: address points to the zero page.
#0 0x7f3d71d831c1 in __GI___pthread_rwlock_wrlock (/lib/x86_64-linux-gnu/libpthread.so.0+0xd1c1)
#1 0x7f3d6e86e2b8 in CRYPTO_THREAD_write_lock (/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1+0x1de2b8)
#2 0x7f3d6e82ff44 in RAND_get_rand_method (/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1+0x19ff44)
#3 0x7f3d6e83021f in RAND_bytes (/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1+0x1a021f)
#4 0x7f3d6937a47f in stun_agent_init_indication ../subprojects/libnice/stun/stunagent.c:425
#5 0x7f3d69381b37 in stun_usage_bind_keepalive ../subprojects/libnice/stun/usages/bind.c:195
#6 0x7f3d69338447 in priv_conn_keepalive_tick_unlocked ../subprojects/libnice/agent/conncheck.c:1382
#7 0x7f3d69339172 in priv_conn_keepalive_tick_agent_locked ../subprojects/libnice/agent/conncheck.c:1461
#8 0x7f3d69315998 in timeout_cb ../subprojects/libnice/agent/agent.c:5647
#9 0x7f3d6cd16572 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4e572)
#10 0x7f3d6cd15ae7 in g_main_context_dispatch (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4dae7)
#11 0x7f3d6cd15ed7 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4ded7)
#12 0x7f3d6cd161d1 in g_main_loop_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4e1d1)
#13 0x7f3d693e13b0 in _gst_nice_thread ../subprojects/gst-plugins-bad/ext/webrtc/gstwebrtcice.c:104
#14 0x7f3d6cd3e134 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x76134)
#15 0x7f3d71d7e163 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8163)
#16 0x7f3d71eb1dee in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11adee)