bneradt opened a new pull request, #12777: URL: https://github.com/apache/trafficserver/pull/12777
The DbgCtl registry was experiencing use-after-free crashes during program shutdown, particularly visible in CI regression tests. The root cause was the undefined destruction order of static objects in C++. Problem: - DbgCtl objects can be static or thread-local with lifetimes spanning program execution - When one compilation unit's DbgCtl destructs and triggers registry cleanup, other compilation units may still have DbgCtl objects with pointers into that registry - Thread exit order is also unpredictable, causing similar issues when thread-local DbgCtl objects destruct This implements the "leaky singleton" pattern where the registry is: - Created on first use - Never destroyed (destructor is now = default) - Memory (~20KB) reclaimed by OS at process exit Fixes: #12776 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
