Bug 1529125 Comment 1 Edit History

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

Ok, I reproduced assertion failure this in a debug build:


STR:
 * Run a debug build
 * Go to https://profiler.firefox.com/
 * Install the Gecko Profiler Add-on and open the menu
 * Enable "Main thread IO" under features
 * Click "Start"
 * Click "Discard and Stop"
 * Wait a second and the tab crashes

```
Assertion failure: curThreadData, at /Users/gregorytatum/dev/gecko/xpcom/build/IOInterposer.cpp:505
#01: nsThread::ThreadFunc(void*)[/Users/gregorytatum/dev/gecko/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x1472da]
#02: _pt_root[/Users/gregorytatum/dev/gecko/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/libnss3.dylib +0x16e8b0]
#03: _pthread_body[/usr/lib/system/libsystem_pthread.dylib +0x3305]
#04: _pthread_start[/usr/lib/system/libsystem_pthread.dylib +0x626f]
```

Looking in searchfox, it appears that [IOInterposer::RegisterCurrentThread](https://searchfox.org/mozilla-central/search?q=symbol:_ZN7mozilla12IOInterposer21RegisterCurrentThreadEb&redirect=false) is being called before initialization, so we are missing those registrations.

I'm not sure what the desired behavior is, should we ignore this, or somehow keep a list of these, and only register them once the interposer is initiated?
Ok, I reproduced this assertion failure in a debug build:


STR:
 * Run a debug build
 * Go to https://profiler.firefox.com/
 * Install the Gecko Profiler Add-on and open the menu
 * Enable "Main thread IO" under features
 * Click "Start"
 * Click "Discard and Stop"
 * Wait a second and the tab crashes

```
Assertion failure: curThreadData, at /Users/gregorytatum/dev/gecko/xpcom/build/IOInterposer.cpp:505
#01: nsThread::ThreadFunc(void*)[/Users/gregorytatum/dev/gecko/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/XUL +0x1472da]
#02: _pt_root[/Users/gregorytatum/dev/gecko/obj-ff-dbg/dist/NightlyDebug.app/Contents/MacOS/libnss3.dylib +0x16e8b0]
#03: _pthread_body[/usr/lib/system/libsystem_pthread.dylib +0x3305]
#04: _pthread_start[/usr/lib/system/libsystem_pthread.dylib +0x626f]
```

Looking in searchfox, it appears that [IOInterposer::RegisterCurrentThread](https://searchfox.org/mozilla-central/search?q=symbol:_ZN7mozilla12IOInterposer21RegisterCurrentThreadEb&redirect=false) is being called before initialization, so we are missing those registrations.

I'm not sure what the desired behavior is, should we ignore this, or somehow keep a list of these, and only register them once the interposer is initiated?

Back to Bug 1529125 Comment 1