Closed Bug 180169 Opened 23 years ago Closed 23 years ago

ASSERTION: RgnRectMemoryAllocator not thread-safe triggers because static class exists past nspr shutdown

Categories

(Core :: Web Painting, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

References

Details

(Keywords: assertion)

Attachments

(1 file)

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
Blocks: 180171
err make that bug 180157
Keywords: assertion
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.
um, fwiw, TestProtcols + ^C also triggers this assert :)
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: 23 years ago
Resolution: --- → FIXED
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: