From: Neophytos D. <neo...@gm...> - 2024-07-29 08:30:35
|
Hi, When the PURIFY flag is used Tcl_Exit calls Tcl_Finalize that in turn calls TclFinalizeSynchronization, which sets tsdGlobal.key to NULL via TclFinalizeThreadStorage. Then, when it afterwards tries to unload extensions, it attempts to use the TSD (thread-specific data) again and because tsdGlobal.key is NULL, the AddressSanitizer complains about a NULL pthread key. I was not able to track where the TSD is used during unloading or if this is an issue with the extensions being used and whether they have to unload in a specific way. As a consequence I stopped using the PURIFY flag but if anyone has any suggestions, please let us know. Kind regards, Neophytos |