Closed Bug 548065 Opened 16 years ago Closed 16 years ago

Segfault when sending async message to remote process that has not initialized yet

Categories

(Core :: IPC, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jdm, Assigned: smaug)

References

Details

Attachments

(2 files, 1 obsolete file)

#1 0x078f3d56 in nanosleep () from /lib/libc.so.6 #2 0x078f3b71 in sleep () from /lib/libc.so.6 #3 0x00d587f5 in ah_crap_handler (signum=11) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsSigHandlers.cpp:164 #4 0x00d5cf92 in nsProfileLock::FatalSignalHandler (signo=11, info=0xbfb40ebc, context=0xbfb40f3c) at nsProfileLock.cpp:221 #5 <signal handler called> #6 0x01396482 in nsFrameLoader::GetChildProcess (this=0x0) at /home/t_mattjo/src/firefox/electrolysis/content/base/src/nsFrameLoader.cpp:1519 #7 0x01396a10 in SendAsyncMessageToChild (aCallbackData=0x0, aMessage=..., aJSON=...) at /home/t_mattjo/src/firefox/electrolysis/content/base/src/nsFrameLoader.cpp:1626 #8 0x01407da1 in nsFrameMessageManager::SendAsyncMessageInternal (this=0xb3630400, aMessage=..., aJSON=...) at /home/t_mattjo/src/firefox/electrolysis/content/base/src/nsFrameMessageManager.cpp:239 #9 0x01407ed7 in nsFrameMessageManager::SendAsyncMessage (this=0xb3630400) at /home/t_mattjo/src/firefox/electrolysis/content/base/src/nsFrameMessageManager.cpp:255 #10 0x02080721 in NS_InvokeByIndex_P () at /home/t_mattjo/src/firefox/electrolysis/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69 #11 0x00db4582 in XPCWrappedNative::CallMethod (ccx=..., mode=CALL_METHOD) at /home/t_mattjo/src/firefox/electrolysis/js/src/xpconnect/src/xpcwrappednative.cpp:2727 #12 0x00dc1a04 in XPC_WN_CallMethod (cx=0xb337f800, obj=0xb7683ba0, argc=2, argv=0xb339b058, vp=0xbfb41800) at /home/t_mattjo/src/firefox/electrolysis/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1756 #13 0x001b71d8 in js_Invoke (cx=0xb337f800, argc=2, vp=0xb339b050, flags=2) at /home/t_mattjo/src/firefox/electrolysis/js/src/jsinterp.cpp:1388 #14 0x001a42a8 in js_Interpret (cx=0xb337f800) at /home/t_mattjo/src/firefox/electrolysis/js/src/jsops.cpp:2304 #15 0x001b7cbe in js_Execute (cx=0xb337f800, chain=0xb76695a0, script=0xb333e700, down=0x0, flags=0, result=0xbfb41e74) at /home/t_mattjo/src/firefox/electrolysis/js/src/jsinterp.cpp:1684 #16 0x0013a501 in JS_ExecuteScript (cx=0xb337f800, obj=0xb76695a0, script=0xb333e700, rval=0xbfb41e74) at /home/t_mattjo/src/firefox/electrolysis/js/src/jsapi.cpp:4972 #17 0x015f537d in nsJSContext::ExecuteScript (this=0xb3598380, aScriptObject=0xb7682a20, aScopeObject=0xb76695a0, aRetValue=0x0, aIsUndefined=0x0) at /home/t_mattjo/src/firefox/electrolysis/dom/base/nsJSEnvironment.cpp:1910 #18 0x015cfaf3 in nsXULDocument::ExecuteScript (this=0xb234a800, aContext=0xb3598380, aScriptObject=0xb7682a20) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULDocument.cpp:3659 #19 0x015cfd56 in nsXULDocument::ExecuteScript (this=0xb234a800, aScript=0xb67886d0) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULDocument.cpp:3682 #20 0x015cdb24 in nsXULDocument::ResumeWalk (this=0xb234a800) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULDocument.cpp:3035 #21 0x015c6111 in nsXULDocument::OnPrototypeLoadDone (this=0xb234a800, aResumeWalk=1) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULDocument.cpp:631 #22 0x015c604a in nsXULDocument::EndLoad (this=0xb234a800) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULDocument.cpp:614 #23 0x015c006f in XULContentSinkImpl::DidBuildModel (this=0xb678df10, aTerminated=0) at /home/t_mattjo/src/firefox/electrolysis/content/xul/document/src/nsXULContentSink.cpp:278 #24 0x00feb56e in nsParser::DidBuildModel (this=0xb33f3a00, anErrorCode=0) at /home/t_mattjo/src/firefox/electrolysis/parser/htmlparser/src/nsParser.cpp:1609 #25 0x00fed1f7 in nsParser::ResumeParse (this=0xb33f3a00, allowIteration=1, aIsFinalChunk=1, aCanInterrupt=1) at /home/t_mattjo/src/firefox/electrolysis/parser/htmlparser/src/nsParser.cpp:2388 #26 0x00feed31 in nsParser::OnStopRequest (this=0xb33f3a00, request=0xb33f2140, aContext=0x0, status=0) at /home/t_mattjo/src/firefox/electrolysis/parser/htmlparser/src/nsParser.cpp:3021 #27 0x01a527c7 in nsDocumentOpenInfo::OnStopRequest (this=0xb33f8fd0, request=0xb33f2140, aCtxt=0x0, aStatus=0) at /home/t_mattjo/src/firefox/electrolysis/uriloader/base/nsURILoader.cpp:323 #28 0x00fa10b9 in nsJARChannel::OnStopRequest (this=0xb33f2140, req=0xb3683760, ctx=0x0, status=0) at /home/t_mattjo/src/firefox/electrolysis/modules/libjar/nsJARChannel.cpp:881 #29 0x00e62743 in nsInputStreamPump::OnStateStop (this=0xb3683760) at /home/t_mattjo/src/firefox/electrolysis/netwerk/base/src/nsInputStreamPump.cpp:576 #30 0x00e61fdf in nsInputStreamPump::OnInputStreamReady (this=0xb3683760, stream=0xb331d74c) at /home/t_mattjo/src/firefox/electrolysis/netwerk/base/src/nsInputStreamPump.cpp:401 #31 0x0203f38a in nsInputStreamReadyEvent::Run (this=0xb33f9740) at /home/t_mattjo/src/firefox/electrolysis/xpcom/io/nsStreamUtils.cpp:112 #32 0x020678f6 in nsThread::ProcessNextEvent (this=0xb757f7e0, mayWait=0, result=0xbfb4236c) at /home/t_mattjo/src/firefox/electrolysis/xpcom/threads/nsThread.cpp:527 #33 0x02003f41 in NS_ProcessNextEvent_P (thread=0xb757f7e0, mayWait=0) at nsThreadUtils.cpp:250 #34 0x01e99bb8 in mozilla::ipc::MessagePump::Run (this=0xb75cbbb0, aDelegate=0xb7520600) at /home/t_mattjo/src/firefox/electrolysis/ipc/glue/MessagePump.cpp:118 #35 0x01f7a4af in MessageLoop::RunInternal (this=0xb7520600) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:211 ---Type <return> to continue, or q <return> to quit--- #36 0x01f7a42b in MessageLoop::RunHandler (this=0xb7520600) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:194 #37 0x01f7a3af in MessageLoop::Run (this=0xb7520600) at /home/t_mattjo/src/firefox/electrolysis/ipc/chromium/src/base/message_loop.cc:168 #38 0x01d5ff44 in nsBaseAppShell::Run (this=0xb35fef10) at /home/t_mattjo/src/firefox/electrolysis/widget/src/xpwidgets/nsBaseAppShell.cpp:174 #39 0x01b03923 in nsAppStartup::Run (this=0xb757be80) at /home/t_mattjo/src/firefox/electrolysis/toolkit/components/startup/src/nsAppStartup.cpp:183 #40 0x00d4bd55 in XRE_main (argc=5, argv=0xbfb42a94, aAppData=0xb7516380) at /home/t_mattjo/src/firefox/electrolysis/toolkit/xre/nsAppRunner.cpp:3489 #41 0x080497f7 in main (argc=5, argv=0xbfb42a94) at /home/t_mattjo/src/firefox/electrolysis/browser/app/nsBrowserApp.cpp:158 Run the attached testcase the same as bug 547942.
Attachment #428500 - Attachment is patch: true
Attachment #428500 - Attachment mime type: application/octet-stream → text/plain
Assignee: nobody → Olli.Pettay
Attached patch null check for now (obsolete) — Splinter Review
This is good enough for now. We may want to add api to get error messages if sending messages fail. Needs to investigate what that api should look like.
Attachment #428508 - Flags: review?(jst)
Depends on: 548084
Comment on attachment 428508 [details] [diff] [review] null check for now I'll make the methods just throw
Attachment #428508 - Flags: review?(jst)
Attached patch patchSplinter Review
Attachment #428508 - Attachment is obsolete: true
Attachment #428511 - Flags: review?(jst)
Attachment #428511 - Flags: review?(jst) → review+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: