Bug 1557208 Comment 4 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

When we register WebRender's thread with the profiler we call nsThreadManager::GetCurrentThread which notices that the thread isn't registered with the xpcom's thread manager and lazily registers it. Unfortunately that's not safe to do because webrender/rayon own their threads and don't know about nsThredManager retaining references to it.

I suspect other factors make things a little more subtle than that because It's kind of crazy that we're only noticing this now.
When we register WebRender's thread with the profiler we call nsThreadManager::GetCurrentThread which notices that the thread isn't registered with the xpcom's thread manager and lazily registers it. Unfortunately that's not safe to do because webrender/rayon own their threads and don't know about nsThredManager retaining references to it.

I suspect other factors make things a little more subtle than that because It's kind of crazy that we're only noticing this now.

Edit: Actually the registering/unregistering gymnastics appear to properly add/remove the nsThread wrapper. The problem is that the thread is destroyed after xpcom's shutdown which kills all remaing threads.

Back to Bug 1557208 Comment 4