Closed Bug 562408 Opened 14 years ago Closed 14 years ago

Fennec Electrolysis cannot instantiate @mozilla.org/uriloader/handler-service;1

Categories

(Core Graveyard :: File Handling, defect)

x86
Linux
defect
Not set
normal

Tracking

(fennec2.0+)

RESOLVED WORKSFORME
Tracking Status
fennec 2.0+ ---

People

(Reporter: cmtalbert, Assigned: MikeK)

Details

1. Start a debug, desktop, fennec e10s build.
2. You'll see an assertion: ###!!! ASSERTION: Content should not be calling this: 'Not Reached', file /home/mozilla/projects/e10s/chrome/src/nsChromeRegistryContent.cpp, line 245

I debugged this a little and figured out this appears to be coming from this line:
http://mxr.mozilla.org/mozilla-central/source/uriloader/exthandler/nsHandlerService.js#176

This means that the nsHandlerService will fail to start which means that mime-type handling and detection will not be working in the resulting build.

This is probably something we want for Fennec E10S, and if not for that, it's definitely something we want for Firefox E10S.  I'm not sure if this should be changed in E10S or if handler-service should change.

My F10S build was made from:
* e10s changeset:      5f2417a777fe
* mobile changeset:    7fbce1943ff8
* dougt patch q chgst: 38eaa2689ed4
Stack please.
From the content process:

#0  nsChromeRegistryContent::GetSelectedLocale (this=0xb395cb80, aPackage=..., aLocale=...)
    at /home/dougt/builds/e10s/electrolysis/chrome/src/nsChromeRegistryContent.cpp:245
#1  0xb6f239b1 in NS_InvokeByIndex_P () at /home/dougt/builds/e10s/electrolysis/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69
#2  0xb5be2f65 in CallMethodHelper::Invoke (this=0xb38fc794) at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappednative.cpp:2993
#3  0xb5be124e in CallMethodHelper::Call (this=0xb38fc794) at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappednative.cpp:2318
#4  0xb5bdce10 in XPCWrappedNative::CallMethod (ccx=..., mode=XPCWrappedNative::CALL_METHOD)
    at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappednative.cpp:2282
#5  0xb5bed5ae in XPC_WN_CallMethod (cx=0xb39df800, obj=0xb1c33c60, argc=1, argv=0xb3957ff8, vp=0xb38fca50)
    at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1770
#6  0xb4495549 in js_Invoke (cx=0xb39df800, argc=1, vp=0xb3957ff0, flags=2) at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:834
#7  0xb4482e27 in js_Interpret (cx=0xb39df800) at /home/dougt/builds/e10s/electrolysis/js/src/jsops.cpp:2244
#8  0xb4495592 in js_Invoke (cx=0xb39df800, argc=0, vp=0xb3957fe0, flags=0) at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:842
#9  0xb4495815 in js_InternalInvoke (cx=0xb39df800, obj=0xb1c33a80, fval=-1312607904, flags=0, argc=0, argv=0x0, rval=0xb38fd434)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:899
#10 0xb449592c in js_InternalGetOrSet (cx=0xb39df800, obj=0xb1c33a80, id=-1312620092, fval=-1312607904, mode=JSACC_READ, argc=0, argv=0x0, rval=0xb38fd434)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:936
#11 0xb44b567e in JSScopeProperty::get (this=0xaf642990, cx=0xb39df800, obj=0xb1c33a80, pobj=0xb1c2cf20, vp=0xb38fd434)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsscope.h:987
#12 0xb44aed43 in js_NativeGet (cx=0xb39df800, obj=0xb1c33a80, pobj=0xb1c2cf20, sprop=0xaf642990, getHow=1, vp=0xb38fd434)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsobj.cpp:4703
#13 0xb44af65c in js_GetPropertyHelper (cx=0xb39df800, obj=0xb1c33a80, id=-1312620092, getHow=1, vp=0xb38fd434)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsobj.cpp:4875
#14 0xb447ede2 in js_Interpret (cx=0xb39df800) at /home/dougt/builds/e10s/electrolysis/js/src/jsops.cpp:1484
#15 0xb4495592 in js_Invoke (cx=0xb39df800, argc=0, vp=0xb3957f80, flags=0) at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:842
#16 0xb4495815 in js_InternalInvoke (cx=0xb39df800, obj=0xb1c33a80, fval=-1312607776, flags=0, argc=0, argv=0x0, rval=0xb38fda84)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:899
#17 0xb449592c in js_InternalGetOrSet (cx=0xb39df800, obj=0xb1c33a80, id=-1312620140, fval=-1312607776, mode=JSACC_READ, argc=0, argv=0x0, rval=0xb38fda84)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:936
#18 0xb44b567e in JSScopeProperty::get (this=0xaf642a30, cx=0xb39df800, obj=0xb1c33a80, pobj=0xb1c2cf20, vp=0xb38fda84)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsscope.h:987
#19 0xb44aed43 in js_NativeGet (cx=0xb39df800, obj=0xb1c33a80, pobj=0xb1c2cf20, sprop=0xaf642a30, getHow=1, vp=0xb38fda84)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsobj.cpp:4703
#20 0xb44af65c in js_GetPropertyHelper (cx=0xb39df800, obj=0xb1c33a80, id=-1312620140, getHow=1, vp=0xb38fda84)
    at /home/dougt/builds/e10s/electrolysis/js/src/jsobj.cpp:4875
#21 0xb447ede2 in js_Interpret (cx=0xb39df800) at /home/dougt/builds/e10s/electrolysis/js/src/jsops.cpp:1484
#22 0xb4495592 in js_Invoke (cx=0xb39df800, argc=2, vp=0xb3957360, flags=0) at /home/dougt/builds/e10s/electrolysis/js/src/jsinterp.cpp:842
#23 0xb5bd4aea in nsXPCWrappedJSClass::CallMethod (this=0xb1eedd30, wrapper=0xaf689080, methodIndex=3, info=0xb1edaac0, nativeParams=0xb38fdff0)
    at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappedjsclass.cpp:1696
#24 0xb5bcb395 in nsXPCWrappedJS::CallMethod (this=0xaf689080, methodIndex=3, info=0xb1edaac0, params=0xb38fdff0)
    at /home/dougt/builds/e10s/electrolysis/js/src/xpconnect/src/xpcwrappedjs.cpp:570
#25 0xb6f23c2f in PrepareAndDispatch (methodIndex=3, self=0xaf635910, args=0xb38fe0c4)
    at /home/dougt/builds/e10s/electrolysis/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:95
#26 0xb6efc208 in nsComponentManagerImpl::CreateInstanceByContractID (this=0xb3957100, aContractID=0xb7440f70 "@mozilla.org/uriloader/handler-service;1", 
    aDelegate=0x0, aIID=..., aResult=0xb38fe14c) at /home/dougt/builds/e10s/electrolysis/xpcom/components/nsComponentManager.cpp:1682
#27 0xb6efd591 in nsComponentManagerImpl::GetServiceByContractID (this=0xb3957100, aContractID=0xb7440f70 "@mozilla.org/uriloader/handler-service;1", aIID=..., 
    result=0xb38fe21c) at /home/dougt/builds/e10s/electrolysis/xpcom/components/nsComponentManager.cpp:2249
#28 0xb6e93f0e in CallGetService (aContractID=0xb7440f70 "@mozilla.org/uriloader/handler-service;1", aIID=..., aResult=0xb38fe21c)
    at nsComponentManagerUtils.cpp:94
#29 0xb6e943fc in nsGetServiceByContractID::operator() (this=0xb38fe234, aIID=..., aInstancePtr=0xb38fe21c) at nsComponentManagerUtils.cpp:278
#30 0xb6948a1a in nsCOMPtr<nsIHandlerService>::assign_from_gs_contractid (this=0xb38fe2cc, gs=..., aIID=...) at ../../dist/include/nsCOMPtr.h:1229
#31 0xb6947f25 in nsCOMPtr (this=0xb38fe2cc, gs=...) at ../../dist/include/nsCOMPtr.h:604
#32 0xb6946796 in nsExternalHelperAppService::GetTypeFromExtension (this=0xb03f7840, aFileExt=..., aContentType=...)
    at /home/dougt/builds/e10s/electrolysis/uriloader/exthandler/nsExternalHelperAppService.cpp:2598
#33 0xb6947249 in nsExternalHelperAppService::GetTypeFromFile (this=0xb03f7840, aFile=0xb03f1800, aContentType=...)
    at /home/dougt/builds/e10s/electrolysis/uriloader/exthandler/nsExternalHelperAppService.cpp:2742
#34 0xb5d52f64 in nsFileChannel::MakeFileInputStream (this=0xb0383060, file=0xb03f1800, stream=..., contentType=...)
    at /home/dougt/builds/e10s/electrolysis/netwerk/protocol/file/src/nsFileChannel.cpp:301
#35 0xb5d534d2 in nsFileChannel::OpenContentStream (this=0xb0383060, async=0, result=0xb38fe650, channel=0xb38fe61c)
    at /home/dougt/builds/e10s/electrolysis/netwerk/protocol/file/src/nsFileChannel.cpp:370
#36 0xb5c99b61 in nsBaseChannel::Open (this=0xb0383060, result=0xb38fe650) at /home/dougt/builds/e10s/electrolysis/netwerk/base/src/nsBaseChannel.cpp:506
#37 0xb5c90892 in NS_OpenURI (result=0xb38fe92c, uri=0xb038df80, ioService=0x0, loadGroup=0x0, callbacks=0x0, loadFlags=0, channelOut=0x0)
    at ../../../../dist/include/nsNetUtil.h:273
#38 0xb5e42d9e in nsExpatDriver::OpenInputStreamFromExternalDTD (this=0xb03c4f20, aFPIStr=0xaf63c0ea, aURLStr=0xaf63c11e, aBaseURL=0xaf63c010, 
    aStream=0xb38fe92c, aAbsURL=...) at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsExpatDriver.cpp:801
#39 0xb5e424ce in nsExpatDriver::HandleExternalEntityRef (this=0xb03c4f20, openEntityNames=0x0, base=0xaf63c010, systemId=0xaf63c11e, publicId=0xaf63c0ea)
    at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsExpatDriver.cpp:709
#40 0xb5e407ad in Driver_HandleExternalEntityRef (aExternalEntityRefHandler=0xb03c4f20, aOpenEntityNames=0x0, aBase=0xaf63c010, aSystemId=0xaf63c11e, 
    aPublicId=0xaf63c0ea) at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsExpatDriver.cpp:213
#41 0xb5e72e17 in doProlog (parser=0xb049d000, enc=0xb75b0880, s=0xaf63730c ">", end=0xaf639010 "\245\245\245\245", tok=17, next=0xaf63730e "\n", 
    nextPtr=0xb38feb4c, haveMore=1 '\001') at /home/dougt/builds/e10s/electrolysis/parser/expat/lib/xmlparse.c:4010
#42 0xb5e7275f in prologProcessor (parser=0xb049d000, s=0xaf637010 "<", end=0xaf639010 "\245\245\245\245", nextPtr=0xb38feb4c)
    at /home/dougt/builds/e10s/electrolysis/parser/expat/lib/xmlparse.c:3809
#43 0xb5e72235 in prologInitProcessor (parser=0xb049d000, s=0xaf637010 "<", end=0xaf639010 "\245\245\245\245", nextPtr=0xb38feb4c)
    at /home/dougt/builds/e10s/electrolysis/parser/expat/lib/xmlparse.c:3626
#44 0xb5e6dc9a in MOZ_XML_Parse (parser=0xb049d000, s=0xaf637010 "<", len=8192, isFinal=0)
    at /home/dougt/builds/e10s/electrolysis/parser/expat/lib/xmlparse.c:1528
#45 0xb5e4384e in nsExpatDriver::ParseBuffer (this=0xb03c4f20, aBuffer=0xaf637010, aLength=4096, aIsFinal=0, aConsumed=0xb38fec68)
    at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsExpatDriver.cpp:1003
#46 0xb5e43df4 in nsExpatDriver::ConsumeToken (this=0xb03c4f20, aScanner=..., aFlushTokens=@0xb38fee04)
    at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsExpatDriver.cpp:1101
#47 0xb5e5ded5 in nsParser::Tokenize (this=0xb038d980, aIsFinalChunk=0) at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsParser.cpp:3091
#48 0xb5e5bd80 in nsParser::ResumeParse (this=0xb038d980, allowIteration=1, aIsFinalChunk=0, aCanInterrupt=1)
    at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsParser.cpp:2323
#49 0xb5e5d9ad in nsParser::OnDataAvailable (this=0xb038d980, request=0xb038db00, aContext=0x0, pIStream=0xb0382fcc, sourceOffset=0, aLength=5630)
    at /home/dougt/builds/e10s/electrolysis/parser/htmlparser/src/nsParser.cpp:2955
#50 0xb69343ab in nsDocumentOpenInfo::OnDataAvailable (this=0xb39edfa0, request=0xb038db00, aCtxt=0x0, inStr=0xb0382fcc, sourceOffset=0, count=5630)
    at /home/dougt/builds/e10s/electrolysis/uriloader/base/nsURILoader.cpp:306
#51 0xb5e0c3b3 in nsJARChannel::OnDataAvailable (this=0xb038db00, req=0xb39eb6a0, ctx=0x0, stream=0xb0382fcc, offset=0, count=5630)
    at /home/dougt/builds/e10s/electrolysis/modules/libjar/nsJARChannel.cpp:905
#52 0xb5caab4a in nsInputStreamPump::OnStateTransfer (this=0xb39eb6a0) at /home/dougt/builds/e10s/electrolysis/netwerk/base/src/nsInputStreamPump.cpp:510
#53 0xb5caa6a1 in nsInputStreamPump::OnInputStreamReady (this=0xb39eb6a0, stream=0xb0382fcc)
    at /home/dougt/builds/e10s/electrolysis/netwerk/base/src/nsInputStreamPump.cpp:400
#54 0xb6edc8d6 in nsInputStreamReadyEvent::Run (this=0xb03c6c40) at /home/dougt/builds/e10s/electrolysis/xpcom/io/nsStreamUtils.cpp:112
#55 0xb6f07ef2 in nsThread::ProcessNextEvent (this=0xb3904290, mayWait=0, result=0xb38ff10c)
    at /home/dougt/builds/e10s/electrolysis/xpcom/threads/nsThread.cpp:527
#56 0xb6e9c625 in NS_ProcessNextEvent_P (thread=0xb3904290, mayWait=0) at nsThreadUtils.cpp:250
#57 0xb6d98354 in mozilla::ipc::MessagePump::Run (this=0xb3902280, aDelegate=0xb38ff228) at /home/dougt/builds/e10s/electrolysis/ipc/glue/MessagePump.cpp:118
#58 0xb6f7b1c1 in MessageLoop::RunInternal (this=0xb38ff228) at /home/dougt/builds/e10s/electrolysis/ipc/chromium/src/base/message_loop.cc:216
#59 0xb6f7b13d in MessageLoop::RunHandler (this=0xb38ff228) at /home/dougt/builds/e10s/electrolysis/ipc/chromium/src/base/message_loop.cc:199
#60 0xb6f7b0c1 in MessageLoop::Run (this=0xb38ff228) at /home/dougt/builds/e10s/electrolysis/ipc/chromium/src/base/message_loop.cc:173
#61 0xb6fa0c71 in base::Thread::ThreadMain (this=0xb3924198) at /home/dougt/builds/e10s/electrolysis/ipc/chromium/src/base/thread.cc:165
#62 0xb6fd3afa in ThreadFunc (closure=0xb3924198) at /home/dougt/builds/e10s/electrolysis/ipc/chromium/src/base/platform_thread_posix.cc:26
tracking-fennec: ? → 2.0+
Should we add nsChromeRegistry::GetSelectedLocale support to the child process? or should we disable the HandlerService code path for child process?
Is anyone still able to reproduce this?  I am not seeing it, or I am looking for the wrong thing now...
mike, can you take a look.
Assignee: nobody → mkristoffersen
I'm also not seeing this during startup, fwiw - nor when loading a page in a recent debug build on the PC
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.