On Sun, Dec 27, 2020 at 08:44:52PM +0100, Otto Moerbeek wrote: > Hi, > > So here the diff that just fixes the mem leak on thread exit. It does > not contains the TLS init part, I'd like to do that differently than > what I did in the version I posted earlier. > > As stated before, this makes the getaddrino(3) test program run in > constant memory. > > ok?
Please wrap this line at ,void: > -_thread_tag_storage(void **tag, void *storage, size_t sz, void *err) > +_thread_tag_storage(void **tag, void *storage, size_t sz, void (*dt)(void > *),void *err) This diff made firefox 84.0.1 crash frequently on my main laptop (about once every 10-15 minutes) while iridium was still stable and I could not observe any other fallout. The backtrace always looked like this: #0 thrkill () at /tmp/-:3 #1 0x000000ae9eab90ee in nsProfileLock::FatalSignalHandler (signo=11, info=0xae12f05420, context=0xae12f05330) at /usr/obj/ports/firefox-84.0.1/firefox-84.0.1/toolkit/profile/nsProfileLock.cpp:168 #2 0x000000ae9f5aada7 in WasmTrapHandler (signum=11, info=0xae12f05420, context=0xae12f05330) at /usr/obj/ports/firefox-84.0.1/firefox-84.0.1/js/src/wasm/WasmSignalHandlers.cpp:980 #3 <signal handler called> #4 _asr_ctx_unref (ac=0xdfdfdfdfdfdfdfdf) at /usr/src/lib/libc/asr/asr.c:401 #5 _asr_resolver_done_tp (arg=0xadc8b2eec0) at /usr/src/lib/libc/asr/asr.c:141 #6 0x000000ae5f6d0025 in _rthread_tls_destructors (thread=0xae81077440) at /usr/src/lib/libc/thread/rthread_tls.c:182 #7 0x000000ae5f65ec13 in _libc_pthread_exit (retval=<optimized out>) at /usr/src/lib/libc/thread/rthread.c:150 #8 0x000000ae39f038d9 in _rthread_start (v=<optimized out>) at /usr/src/lib/librthread/rthread.c:97 #9 0x000000ae5f6e1c8a in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:84 (gdb)