From: Neophytos D. <neo...@gm...> - 2024-07-29 09:03:33
|
Not 100% sure but this seems to be an issue with the extensions as they were using CreateThreadExitHandler instead of CreateExitHandler. Sorry for wasting your time. - Neophytos On Mon, Jul 29, 2024 at 4:29 AM Neophytos Demetriou <neo...@gm...> wrote: > 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 > |