XPConnect standalone is a multithreaded environment. It should be legal to call CreateInstance from any thread. CreateInstance uses nsCategoryManager and triggers the non-thread safe assert when called from the non-primary thread. NS_IMPL_ISUPPORTS1(nsCategoryManager, nsICategoryManager) Even if the decision is to serialize CreateInstance it still needs to be callable from any thread. This component needs to be checked for thread safety and switched to the THREADSAFE ISUPPORTS macro after any problems are fixed.
setting Jon Smirl's bugs to New
Transferring to default XPCOM owner.
moving out based on my workload. Yell, if you have a problem.
this is not immediately needed by any client that I am aware of. alec, if you get to the category manager hash table clean up before me, we should address this bug at the same time.
Patch is in bug 193031
Fixed with my patch on bug 193031.