Closed Bug 180909 Opened 22 years ago Closed 12 years ago

locale switching [en-US/de-AT] ###!!! ASSERTION: URI mapped to two different specs?: 'uriMapEntry->mDocMapEntry == nsnull'

Categories

(Toolkit :: Startup and Profile System, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: timeless, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion)

Attachments

(3 files, 1 obsolete file)

###!!! ASSERTION: URI mapped to two different specs?: 'uriMapEntry->mDocMapEntry == nsnull', file i:/build/mozilla/xpcom/io/nsFastLoadFile.cpp, line 418 Break: at file i:/build/mozilla/xpcom/io/nsFastLoadFile.cpp, line 418 I've been having fun, so this is definitely a personal bug for the time being. what i've done: start with modern, skins switch to classic, load/unload composer, skin switch to new classic, install german, locale switch to german, ctrl-shift-n (new composer window). <this assertion here> nsDebug::Assertion(const char * 0x101208f0, const char * 0x101208cc, const char * 0x1012089c, int 418) line 280 + 13 bytes nsFastLoadFileReader::StartMuxedDocument(nsFastLoadFileReader * const 0x043aea34, nsISupports * 0x0551d968, const char * 0x0012f084) line 418 + 34 bytes nsFastLoadService::StartMuxedDocument(nsFastLoadService * const 0x01540cb8, nsISupports * 0x0551d968, const char * 0x0012f084, int 1) line 251 + 31 bytes nsXULPrototypeCache::StartFastLoadingURI(nsIURI * 0x0551d968, int 1) line 733 + 36 bytes nsXULPrototypeCache::GetPrototype(nsXULPrototypeCache * const 0x01550fd8, nsIURI * 0x0551d968, nsIXULPrototypeDocument * * 0x0012f188) line 260 + 14 bytes nsXULDocument::StartDocumentLoad(nsXULDocument * const 0x046cbad0, const char * 0x021f6b18, nsIChannel * 0x03184d98, nsILoadGroup * 0x05670468, nsISupports * 0x05516784, nsIStreamListener * * 0x0012f718, int 1, nsIContentSink * 0x00000000) line 735 + 57 bytes nsContentDLF::CreateRDFDocument(const char * 0x021f6b18, nsIChannel * 0x03184d98, nsILoadGroup * 0x05670468, const char * 0x0012f61c, nsISupports * 0x05516784, nsISupports * 0x00000000, nsIStreamListener * * 0x0012f718, nsIContentViewer * * 0x0012f488) line 531 + 47 bytes nsContentDLF::CreateInstance(nsContentDLF * const 0x0551dac8, const char * 0x021f6b18, nsIChannel * 0x03184d98, nsILoadGroup * 0x05670468, const char * 0x0012f61c, nsISupports * 0x05516784, nsISupports * 0x00000000, nsIStreamListener * * 0x0012f718, nsIContentViewer * * 0x0012f488) line 271 + 40 bytes nsDocShell::NewContentViewerObj(nsDocShell * const 0x05516760, const char * 0x0012f61c, nsIRequest * 0x03184d98, nsILoadGroup * 0x05670468, nsIStreamListener * * 0x0012f718, nsIContentViewer * * 0x0012f488) line 4543 + 101 bytes nsDocShell::CreateContentViewer(nsDocShell * const 0x05516760, const char * 0x0012f61c, nsIRequest * 0x03184d98, nsIStreamListener * * 0x0012f718) line 4413 + 60 bytes nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x05516908, const char * 0x0012f61c, int 0, nsIRequest * 0x03184d98, nsIStreamListener * * 0x0012f718, int * 0x0012f608) line 110 + 33 bytes nsDocumentOpenInfo::DispatchContent(nsIRequest * 0x03184d98, nsISupports * 0x00000000) line 430 + 96 bytes nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x016d7180, nsIRequest * 0x03184d98, nsISupports * 0x00000000) line 229 + 16 bytes nsJARChannel::OnStartRequest(nsJARChannel * const 0x03184d9c, nsIRequest * 0x0314c534, nsISupports * 0x00000000) line 583 nsOnStartRequestEvent::HandleEvent() line 161 + 53 bytes nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x05721b7c) line 116 PL_HandleEvent(PLEvent * 0x05721b7c) line 644 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00fc71a8) line 574 + 9 bytes nsEventQueueImpl::ProcessPendingEvents(nsEventQueueImpl * const 0x00fc7150) line 388 + 12 bytes nsWindow::DispatchPendingEvents() line 3662 nsWindow::ProcessMessage(unsigned int 257, unsigned int 78, long -1070530559, long * 0x0012fc48) line 3900 nsWindow::WindowProc(HWND__ * 0x00480102, unsigned int 257, unsigned int 78, long -1070530559) line 1339 + 27 bytes USER32! 77e13eb0() USER32! 77e1401a() USER32! 77e13f0f() nsAppShellService::Run(nsAppShellService * const 0x01532968) line 472 main1(int 1, char * * 0x002847a0, nsISupports * 0x00276eb8) line 1541 + 32 bytes main(int 1, char * * 0x002847a0) line 1902 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e87903() - uriMapEntry->mDocMapEntry 0x059cb5b8 - nsDocumentMapEntry {...} - nsStringMapEntry {...} + PLDHashEntryHdr {...} + mString 0x04152db8 "chrome://editor/content/editor.xul" + aURISpec 0x0012f084 "chrome://editor/content/editor.xul" My guess is that i really need to address what to do when a locale switches. I could makke a new fastload file for the locale or change the mapping to include locales with urls as part of the index. brendan/ben: this is an architecture question, what do you want me to do? pointers welcome. I'll try to post a live switching patch to the switching bug before i leave for thanksgiving.
fwiw nsDebug::Assertion(const char * 0x10120f68, const char * 0x10120f48, const char * 0x10120f18, int 1336) line 280 + 13 bytes nsFastLoadFileWriter::StartMuxedDocument(nsFastLoadFileWriter * const 0x0400551c, nsISupports * 0x0551d968, const char * 0x0012f7fc) line 1336 + 34 bytes nsFastLoadService::StartMuxedDocument(nsFastLoadService * const 0x01540cb8, nsISupports * 0x0551d968, const char * 0x0012f7fc, int 2) line 282 + 31 bytes nsXULPrototypeCache::StartFastLoadingURI(nsIURI * 0x0551d968, int 2) line 733 + 36 bytes nsXULPrototypeCache::WritePrototype(nsXULPrototypeCache * const 0x01550fd8, nsIXULPrototypeDocument * 0x03fcc8a0) line 666 + 19 bytes nsXULDocument::ResumeWalk() line 5800 nsXULDocument::OnStreamComplete(nsXULDocument * const 0x046cbb0c, nsIStreamLoader * 0x00000000, nsISupports * 0x00000000, unsigned int 0, unsigned int 2993, const char * 0x05985350) line 6015 + 11 bytes nsStreamLoader::OnStopRequest(nsStreamLoader * const 0x02fa8344, nsIRequest * 0x02fa8278, nsISupports * 0x00000000, unsigned int 0) line 144 nsJARChannel::OnStopRequest(nsJARChannel * const 0x02fa827c, nsIRequest * 0x02fedbbc, nsISupports * 0x00000000, unsigned int 0) line 606 + 49 bytes nsOnStopRequestEvent::HandleEvent() line 213 nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x02fdfec4) line 116 nsDebug::Assertion(const char * 0x10121218, const char * 0x101211fc, const char * 0x101211cc, int 1683) line 280 + 13 bytes nsFastLoadFileWriter::ObjectMapEnumerate(PLDHashTable * 0x04005564, PLDHashEntryHdr * 0x05785bf4, unsigned int 0, void * 0x04538058) line 1683 + 36 bytes PL_DHashTableEnumerate(PLDHashTable * 0x04005564, int (PLDHashTable *, PLDHashEntryHdr *, unsigned int, void *)* 0x1005fb40 nsFastLoadFileWriter::ObjectMapEnumerate(PLDHashTable *, PLDHashEntryHdr *, unsigned int, void *), void * 0x04538058) line 603 + 34 bytes nsFastLoadFileWriter::WriteFooter() line 1781 + 21 bytes nsFastLoadFileWriter::Close(nsFastLoadFileWriter * const 0x04005508) line 1901 + 8 bytes nsFastLoadFileUpdater::Close(nsFastLoadFileUpdater * const 0x04005508) line 2393 + 9 bytes nsXULPrototypeCache::WritePrototype(nsXULPrototypeCache * const 0x01550fd8, nsIXULPrototypeDocument * 0x03fcc8a0) line 689 + 23 bytes nsXULDocument::ResumeWalk() line 5800 nsXULDocument::OnStreamComplete(nsXULDocument * const 0x046cbb0c, nsIStreamLoader * 0x00000000, nsISupports * 0x00000000, unsigned int 0, unsigned int 2993, const char * 0x05985350) line 6015 + 11 bytes nsStreamLoader::OnStopRequest(nsStreamLoader * const 0x02fa8344, nsIRequest * 0x02fa8278, nsISupports * 0x00000000, unsigned int 0) line 144 nsJARChannel::OnStopRequest(nsJARChannel * const 0x02fa827c, nsIRequest * 0x02fedbbc, nsISupports * 0x00000000, unsigned int 0) line 606 + 49 bytes nsOnStopRequestEvent::HandleEvent() line 213 nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x02fdfec4) line 116 NS_ASSERTION(index < aTable->entryCount, "bad nsObjectMap index!"); vector[index] = entry->mInfo; doesn't seem to handle the assertion case at all, so i'll have to do something about that too. if you want me to split those asserts into a new bug, I can.
Keywords: assertion
I see this in my debug builds too with latest source. I dont do any locale switching. I happens after the last mozilla sessions crashes and I start mozilla again. I get past the profile manager and then I crash. It's pretty consistent. the line number has changed from 418 to 422 anything I can do? can you in anyway check your fastload file? like dump it? test it?
Component: XP Toolkit/Widgets: XUL → Build Config
I think you may be morphing this bug a bit (iirc that assertion could be hit in some other (rare, I think) cases, but ignoring it (in those cases) was benign). Anyways, here is my craptastic script for dumping out the contents of a fastload file. [I really should check this in someday].
the only problem I found when starting a mozilla with fastload file that produced: ASSERTION: URI mapped to two different specs? was this: maybe a bad XUL_FASTLOAD_FILE_VERSION? at c:\mozilla\moztools\bin\dumpfastload.p l line 99. XUL_FASTLOAD_FILE_VERSION = feedbee7
seems like the warning was just due to not having the correct fastload version: my $XUL_FASTLOAD_FILE_VERSION = 0xfeedbeef - 8; 6 changed to 8 and no warnings
Product: Browser → Seamonkey
I just hit this with a debug build that I clobbered last night...
I get this when I try to start mozilla-1.7.13 on linux and start the mailer window. While the window comes up it breaks: $ MOZILLA_FIVE_HOME=`pwd` XPCOM_DEBUG_BREAK=suspend ./mozilla -g [..] (gdb) r Starting program: /home/mmokrejs/tmp/mozilla/mozilla-1.7.13-src/mozilla/dist/bin/mozilla-bin [Thread debugging using libthread_db enabled] [New Thread -1219094272 (LWP 20025)] Type Manifest File: /home/mmokrejs/tmp/mozilla/mozilla-1.7.13-src/mozilla/dist/bin/components/xpti.dat +++ JavaScript debugging hooks installed. nsNativeComponentLoader: autoregistering begins. nsNativeComponentLoader: autoregistering succeeded nNCL: registering deferred (0) [New Thread -1235031136 (LWP 20031)] GFX: dpi=75 t2p=0.0526316 p2t=19 depth=16 ++WEBSHELL == 1 ++DOMWINDOW == 1 [New Thread -1256604768 (LWP 20032)] [New Thread -1266017376 (LWP 20033)] ++WEBSHELL == 2 ++DOMWINDOW == 2 WARNING: GetDefaultCharsetForLocale: need to add multi locale support, file nsUNIXCharset.cpp, line 189 Note: styleverifytree is disabled Note: frameverifytree is disabled WARNING: GetDefaultCharsetForLocale: need to add multi locale support, file nsUNIXCharset.cpp, line 189 Note: verifyreflow is disabled WARNING: GetDefaultCharsetForLocale: need to add multi locale support, file nsUNIXCharset.cpp, line 189 [New Thread -1276462176 (LWP 20034)] [New Thread -1284854880 (LWP 20035)] [New Thread -1293247584 (LWP 20036)] ++WEBSHELL == 3 ++DOMWINDOW == 3 ++WEBSHELL == 4 ++DOMWINDOW == 4 ###!!! ASSERTION: URI mapped to two different specs?: 'uriMapEntry->mDocMapEntry == nsnull', file nsFastLoadFile.cpp, line 422 Break: at file nsFastLoadFile.cpp, line 422 Suspending process; attach with the debugger. Program received signal SIGSTOP, Stopped (signal). [Switching to Thread -1219094272 (LWP 20025)] 0xffffe410 in __kernel_vsyscall () (gdb) where #0 0xffffe410 in __kernel_vsyscall () #1 0xb76dede6 in kill () from /lib/libc.so.6 #2 0xb7478b63 in nsDebugImpl::Break (this=0x80952e8, aFile=0xb74af380 "nsFastLoadFile.cpp", aLine=422) at nsDebugImpl.cpp:310 #3 0xb7478a4b in nsDebugImpl::Assertion (this=0x80952e8, aStr=0xb74af410 "URI mapped to two different specs?", aExpr=0xb74af3ec "uriMapEntry->mDocMapEntry == nsnull", aFile=0xb74af380 "nsFastLoadFile.cpp", aLine=422) at nsDebugImpl.cpp:271 #4 0xb74a4fe0 in nsDebug::Assertion (aStr=0xb74af410 "URI mapped to two different specs?", aExpr=0xb74af3ec "uriMapEntry->mDocMapEntry == nsnull", aFile=0xb74af380 "nsFastLoadFile.cpp", aLine=422) at nsDebug.cpp:108 #5 0xb742cd64 in nsFastLoadFileReader::StartMuxedDocument (this=0x8247240, aURI=0x8848ad0, aURISpec=0x8848ba0 "chrome://messenger/content/mailWindowOverlay.xul") at nsFastLoadFile.cpp:421 #6 0xb7436522 in nsFastLoadService::StartMuxedDocument (this=0x81a62f8, aURI=0x8848ad0, aURISpec=0x8848ba0 "chrome://messenger/content/mailWindowOverlay.xul", aDirectionFlags=1) at nsFastLoadService.cpp:273 #7 0xb6d49ae3 in nsXULPrototypeCache::StartFastLoadingURI (this=0x8186f88, aURI=0x8848ad0, aDirectionFlags=1) at nsXULPrototypeCache.cpp:687 #8 0xb6d4884a in nsXULPrototypeCache::GetPrototype (this=0x8186f88, aURI=0x8848ad0, _result=0xbff75700) at nsXULPrototypeCache.cpp:267 #9 0xb5a9aa41 in nsChromeProtocolHandler::NewChannel (this=0x81a3198, aURI=0x8848ad0, aResult=0xbff758cc) at nsChromeProtocolHandler.cpp:659 #10 0xb707f4b5 in nsIOService::NewChannelFromURI (this=0x811c820, aURI=0x8848ad0, result=0xbff758cc) at nsIOService.cpp:476 #11 0xb6b957a3 in NS_NewChannel (result=0xbff75930, uri=0x8848ad0, ioService=0x811c820, loadGroup=0x8838aa0, callbacks=0x0, loadFlags=0) at nsNetUtil.h:165 #12 0xb6d44c6b in NS_OpenURI (listener=0x8a35514, context=0x0, uri=0x8848ad0, ioService=0x0, loadGroup=0x8838aa0, callbacks=0x0, loadFlags=0) at nsNetUtil.h:220 #13 0xb6d3e060 in nsXULDocument::ResumeWalk (this=0x8859ff0) at nsXULDocument.cpp:3058 #14 0xb6d4390f in nsXULDocument::CachedChromeStreamListener::OnStopRequest (this=0x8886d18, request=0x8848280, aContext=0x0, aStatus=0) at nsXULDocument.cpp:4243 #15 0xb588b97e in nsDocumentOpenInfo::OnStopRequest (this=0x884a280, request=0x8848280, aCtxt=0x0, aStatus=0) at nsURILoader.cpp:361 #16 0xb5a99e46 in nsCachedChromeChannel::HandleStopLoadEvent (aEvent=0x8880250) at nsChromeProtocolHandler.cpp:474 #17 0xb7465a49 in PL_HandleEvent (self=0x8880250) at plevent.c:679 #18 0xb74658fe in PL_ProcessPendingEvents (self=0x80eefd0) at plevent.c:614 #19 0xb7468bee in nsEventQueueImpl::ProcessPendingEvents (this=0x80facf0) at nsEventQueue.cpp:398 #20 0xb5bce774 in event_processor_callback (source=0x82384f0, condition=G_IO_IN, data=0x80facf0) at nsAppShell.cpp:67 #21 0xb7a0b8e3 in g_vasprintf () from /usr/lib/libglib-2.0.so.0 #22 0xb79dddbf in g_main_depth () from /usr/lib/libglib-2.0.so.0 #23 0xb79df079 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0xb79df524 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #25 0xb79dfc80 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #26 0xb7cdfdf2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 (gdb) Will attach the full backtrace.
Attached file "bt full" output (obsolete) —
Maybe bug #403667 is a duplicate of this? Myself am still getting this even upon seamonky startup with current cvs HEAD build
gdb stacktrace from current cvs HEAD debug build.
Attachment #219200 - Attachment is obsolete: true
QA Contact: shrir → build-config
Assignee: timeless → nobody
Component: Build Config → XPCOM
OS: Windows 2000 → All
Product: SeaMonkey → Core
QA Contact: build-config → xpcom
Hardware: x86 → All
Component: XPCOM → Startup and Profile System
Product: Core → Toolkit
QA Contact: xpcom → startup
I believe we fixed this along the way.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: