Closed
Bug 180169
Opened 22 years ago
Closed 21 years ago
ASSERTION: RgnRectMemoryAllocator not thread-safe triggers because static class exists past nspr shutdown
Categories
(Core :: Web Painting, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: timeless, Assigned: timeless)
References
Details
(Keywords: assertion)
Attachments
(1 file)
1013 bytes,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
NTDLL! 77f9f9df() nsDebug::Assertion(const char * 0x0134dd70 `string', const char * 0x101326c0, const char * 0x10132698, int 533) line 280 + 13 bytes NS_CheckThreadSafe(void * 0x002825a0, const char * 0x0134dd70 `string') line 533 + 34 bytes RgnRectMemoryAllocator::DestroyLock() line 53 + 30 bytes RgnRectMemoryAllocator::~RgnRectMemoryAllocator() line 110 $E2() + 13 bytes _CRT_INIT(void * 0x01320000, unsigned long 0, void * 0x00000001) line 236 _DllMainCRTStartup(void * 0x01320000, unsigned long 0, void * 0x00000001) line 289 + 17 bytes NTDLL! 77f83c48() NTDLL! 77f8c4d4() KERNEL32! 77e9b110() MSVCRTD! 1020b0c6() MSVCRTD! 1020afc0() MSVCRTD! 10214ed0() MSVCRTD! 10211714() PR_Assert(const char * 0x3002f098 `string', const char * 0x3002f060 `string', int 295) line 518 SocketConnectContinue(PRFileDesc * 0x0359faf0, short 1) line 295 + 30 bytes pl_DefConnectcontinue(PRFileDesc * 0x03582fc8, short 1) line 200 + 23 bytes PR_ConnectContinue(PRFileDesc * 0x03582fc8, short 1) line 188 + 17 bytes nsSocketTransport::doConnection(short 1) line 1006 + 21 bytes nsSocketTransport::Process(short 1) line 542 + 13 bytes nsSocketTransportService::Run(nsSocketTransportService * const 0x010988d4) line 532 + 13 bytes nsThread::Main(void * 0x01098348) line 123 + 26 bytes _PR_NativeRunThread(void * 0x0154cbc0) line 433 + 13 bytes MSVCRTD! 1020c323() KERNEL32! 77e92ca8() Yes I know the stack is strange, the lower stuff is bug 180155. the rest is me trying to run past nspr shooting mozilla (bug 108157). abnormal program termination ###!!! ASSERTION: nsCacheSession not thread-safe: 'owningThread == NS_CurrentThread()', file i:/build/mozilla/xpcom/glue/nsDebug.cpp, line 533 Break: at file i:/build/mozilla/xpcom/glue/nsDebug.cpp, line 533 ###!!! ASSERTION: RgnRectMemoryAllocator not thread-safe: 'owningThread == NS_CurrentThread()', file i:/build/mozilla/xpcom/glue/nsDebug.cpp, line 533 Break: at file i:/build/mozilla/xpcom/glue/nsDebug.cpp, line 533
Comment 2•22 years ago
|
||
roc, can you think of a place where we could put the region pool as a member of something rather than using a static?
No.
I think you should just remove the assertion from here:
> void DestroyLock() { NS_ASSERT_OWNINGTHREAD(RgnRectMemoryAllocator); }
We have to assume that shutdown has already stopped all the other threads before
unloading this DLL. Otherwise the whole app is toast anyway.
The assertion will also trigger if PR_Cleanup is actually called by xpcom.
Attachment #122144 -
Flags: superreview?(roc+moz)
Attachment #122144 -
Flags: review?(dbaron)
.
Assignee: roc+moz → timeless
OS: Windows 2000 → All
Summary: ASSERTION: RgnRectMemoryAllocator not thread-safe → ASSERTION: RgnRectMemoryAllocator not thread-safe triggers because static class exists past nspr shutdown
Comment on attachment 122144 [details] [diff] [review] Don't call DestroyLock() from destructor all good
Attachment #122144 -
Flags: superreview?(roc+moz)
Attachment #122144 -
Flags: superreview+
Attachment #122144 -
Flags: review?(dbaron)
Attachment #122144 -
Flags: review+
checked in
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Component: Layout: View Rendering → Layout: Web Painting
You need to log in
before you can comment on or make changes to this bug.
Description
•