Closed
Bug 155245
Opened 23 years ago
Closed 13 years ago
proxytest [debug] ASSERTION: CheckForDeactivation called from wrong thread!: 'Error', file f:\build\mozilla\xpcom\threads\nsEventQueue.h, line 85
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
WORKSFORME
Future
People
(Reporter: timeless, Unassigned)
Details
###!!! ASSERTION: CheckForDeactivation called from wrong thread!: 'Error', file
f:\build\mozilla\xpcom\threads\nsEventQueue.h, line 85
Break: at file f:\build\mozilla\xpcom\threads\nsEventQueue.h, line 85
nsEventQueueImpl::CheckForDeactivation() line 85
nsEventQueueImpl::StopAcceptingEvents(nsEventQueueImpl * const 0x00474ea0) line
208
hash_enum_remove_queues(nsHashKey * 0x00474c70, void * 0x00474ea0, void *
0x00000000) line 93
_hashEnumerate(PLHashEntry * 0x00474c30, int 0, void * 0x0012fde0) line 199 +
26 bytes
PL_HashTableEnumerateEntries(PLHashTable * 0x00438174, int (PLHashEntry *, int,
void *)* 0x10028c90 _hashEnumerate(PLHashEntry *, int, void *), void *
0x0012fde0) line 429 + 15 bytes
nsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x10083760
hash_enum_remove_queues(nsHashKey *, void *, void *), void * 0x00000000) line
362 + 21 bytes
nsSupportsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x10083760
hash_enum_remove_queues(nsHashKey *, void *, void *), void * 0x00000000) line
190
nsEventQueueServiceImpl::~nsEventQueueServiceImpl() line 104
nsEventQueueServiceImpl::`scalar deleting destructor'(unsigned int 1) + 15
bytes
nsEventQueueServiceImpl::Release(nsEventQueueServiceImpl * const 0x00438160)
line 124 + 133 bytes
nsCOMPtr_base::assign_assuming_AddRef(nsISupports * 0x00000000) line 436
nsCOMPtr_base::assign_with_AddRef(nsISupports * 0x00000000) line 74
nsCOMPtr<nsISupports>::operator=(nsISupports * 0x00000000) line 796
FreeServiceContractIDEntryEnumerate(PLDHashTable * 0x0041643c, PLDHashEntryHdr
* 0x00bb2f7c, unsigned int 636, void * 0x00000000) line 1923
PL_DHashTableEnumerate(PLDHashTable * 0x0041643c, int (PLDHashTable *,
PLDHashEntryHdr *, unsigned int, void *)* 0x10072270
FreeServiceContractIDEntryEnumerate(PLDHashTable *, PLDHashEntryHdr *, unsigned
int, void *), void * 0x00000000) line 601 + 34 bytes
nsComponentManagerImpl::FreeServices() line 1935 + 19 bytes
NS_ShutdownXPCOM(nsIServiceManager * 0x00000000) line 610
main(int 1, char * * 0x00414130) line 572 + 8 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e8d326()
I think in an opt-profile build i crash very near here.
PL_IsQueueOnCurrentThread(PLEventQueue * 0x00474e50) line 997
me 0x004121f0
queue->handlerThread 0x00475900
nsEventQueueImpl::CheckForDeactivation
- mEventQueue 0x00474e50
\+ name 0x1011d610 "Thread event queue..."
So...
1. the proxytest code needs to try to shutdown the eventqueue on its thread
instead of waiting for the poor
nsEventQueueServiceImpl::~nsEventQueueServiceImpl to try to clean it up
2. Should nsThread or something try to clear out EventQueues on destruction?
3. Should nsEventQueueServiceImpl be able to kill thread queues at shutdown
without triggering this assert?
This bug will focus on 1. although i'm not quite sure where all of the patches
for proxytest will go, bug 155202 is another proxytest bug which i intend to
fix at the same time.
Comment 1•23 years ago
|
||
this was just my feeble attempt to test the proxy code from within my debugger.
it was never meant (by me anywayz) as a real testcase. timeless, if you have
the time to clean it up, that would be awesome.
Target Milestone: --- → Future
Comment 2•19 years ago
|
||
Please see Bug 322131 for another way to see this assert after installing Venkman and shutting down. Timeless, Brendan suggests you may be able to help.
Updated•19 years ago
|
Assignee: dougt → nobody
QA Contact: scc → xpcom
Updated•13 years ago
|
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•