Closed Bug 610229 Opened 14 years ago Closed 10 years ago

Crash [@ nsExternalAppHandler::OnDataAvailable]

Categories

(Core :: DOM: Navigation, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: jdm, Unassigned)

Details

(Keywords: crash)

Crash Data

This one's really strange. The stack's cut off, but we're in the middle of XMLHttpRequest::Send, which spins the event loop and triggers ExternalHelperAppParent::RecvOnDataAvailable. This ends up failing the download, which triggers a prompt. We then spin the event loop and hit RecvOnDataAvailable again, which fails the download again, which then ends up triggering XMLHttpRequest::Send, which spins the event loop so we hit RecvOnDataAvailable... Since the failing line is |Cancel(rv)|, I'm not really sure what's going on here. I'm really confused about the presence of XMLHttpRequest in this stack. 0 libxul.so nsExternalAppHandler::OnDataAvailable uriloader/exthandler/nsExternalHelperAppService.cpp:1983 1 libxul.so mozilla::dom::ExternalHelperAppParent::RecvOnDataAvailable uriloader/exthandler/ExternalHelperAppParent.cpp:110 2 libxul.so mozilla::dom::PExternalHelperAppParent::OnMessageReceived PExternalHelperAppParent.cpp:167 3 libxul.so mozilla::dom::PContentParent::OnMessageReceived PContentParent.cpp:463 4 libxul.so mozilla::ipc::AsyncChannel::OnDispatchMessage ipc/glue/AsyncChannel.cpp:262 5 libxul.so mozilla::ipc::RPCChannel::OnMaybeDequeueOne ipc/glue/RPCChannel.cpp:438 6 libxul.so RunnableMethod<mozilla::ipc::RPCChannel,bool ,Tuple0>::Run ipc/chromium/src/base/tuple.h:383 7 libxul.so mozilla::ipc::RPCChannel::DequeueTask::Run RPCChannel.h:449 8 libxul.so MessageLoop::RunTask ipc/chromium/src/base/message_loop.cc:343 9 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:351 10 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:451 11 libxul.so mozilla::ipc::DoWorkRunnable::Run ipc/glue/MessagePump.cpp:70 12 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:609 13 libxul.so NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp:198 14 libxul.so XPCWrappedNative::CallMethod js/src/xpconnect/src/xpcwrappednative.cpp:3054 15 libxul.so XPC_WN_CallMethod js/src/xpconnect/src/xpcwrappednativejsops.cpp:1589 16 libxul.so js::Interpret js/src/jscntxtinlines.h:684 17 libxul.so js::Invoke js/src/jsinterp.cpp:665 18 libxul.so js_fun_apply js/src/jsfun.cpp:2341 19 libxul.so js::Interpret js/src/jscntxtinlines.h:684 20 libxul.so js::Invoke js/src/jsinterp.cpp:665 21 libxul.so js::ExternalInvoke js/src/jsinterp.cpp:881 22 libxul.so JS_CallFunctionValue js/src/jsinterp.h:954 23 libxul.so nsXPCWrappedJSClass::CallMethod js/src/xpconnect/src/xpcwrappedjsclass.cpp:1694 24 libxul.so nsXPCWrappedJS::CallMethod js/src/xpconnect/src/xpcwrappedjs.cpp:577 25 libxul.so PrepareAndDispatch xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp:132 26 libxul.so libxul.so@0xfba4f3 27 libxul.so nsDownload::FailDownload toolkit/components/downloads/src/nsDownloadManager.cpp:3093 28 @0x473a5b7f 29 libxul.so nsDownload::OnStatusChange toolkit/components/downloads/src/nsDownloadManager.cpp:2459 30 libxul.so nsDownloadProxy::OnStatusChange toolkit/components/downloads/src/nsDownloadProxy.h:122 31 libxul.so nsExternalAppHandler::SendStatusChange uriloader/exthandler/nsExternalHelperAppService.cpp:1892 32 libxul.so nsExternalAppHandler::OnDataAvailable uriloader/exthandler/nsExternalHelperAppService.cpp:1980 33 libxul.so mozilla::dom::ExternalHelperAppParent::RecvOnDataAvailable uriloader/exthandler/ExternalHelperAppParent.cpp:110 34 libxul.so mozilla::dom::PExternalHelperAppParent::OnMessageReceived PExternalHelperAppParent.cpp:167 35 libxul.so mozilla::dom::PContentParent::OnMessageReceived PContentParent.cpp:463 36 libxul.so mozilla::ipc::AsyncChannel::OnDispatchMessage ipc/glue/AsyncChannel.cpp:262 37 libxul.so mozilla::ipc::RPCChannel::OnMaybeDequeueOne ipc/glue/RPCChannel.cpp:438 38 libxul.so RunnableMethod<mozilla::ipc::RPCChannel,bool ,Tuple0>::Run ipc/chromium/src/base/tuple.h:383 39 libxul.so mozilla::ipc::RPCChannel::DequeueTask::Run RPCChannel.h:449 40 libxul.so MessageLoop::RunTask ipc/chromium/src/base/message_loop.cc:343 41 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:351 42 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:451 43 libxul.so mozilla::ipc::DoWorkRunnable::Run ipc/glue/MessagePump.cpp:70 44 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:609 45 libxul.so NS_ProcessNextEvent_P nsThreadUtils.cpp:250 46 libxul.so nsXMLHttpRequest::Send content/base/src/nsXMLHttpRequest.cpp:2685 47 libxul.so nsIXMLHttpRequest_Send dom_quickstubs.cpp:26849 48 libxul.so js::Interpret js/src/jscntxtinlines.h:684 49 libxul.so js::Invoke js/src/jsinterp.cpp:665 50 libxul.so js_fun_apply js/src/jsfun.cpp:2341 51 libxul.so js::Interpret js/src/jscntxtinlines.h:684 52 libxul.so js::Invoke js/src/jsinterp.cpp:665 53 libxul.so js::ExternalInvoke js/src/jsinterp.cpp:881 54 libxul.so JS_CallFunctionValue js/src/jsinterp.h:954 55 libxul.so nsXPCWrappedJSClass::CallMethod js/src/xpconnect/src/xpcwrappedjsclass.cpp:1694 56 libxul.so nsXPCWrappedJS::CallMethod js/src/xpconnect/src/xpcwrappedjs.cpp:577 57 libxul.so PrepareAndDispatch xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp:132 58 libxul.so libxul.so@0xfba4f3 59 libxul.so nsDownload::FailDownload toolkit/components/downloads/src/nsDownloadManager.cpp:3093 60 @0x473a5b7f 61 libxul.so nsDownload::OnStatusChange toolkit/components/downloads/src/nsDownloadManager.cpp:2459 62 libxul.so nsDownloadProxy::OnStatusChange toolkit/components/downloads/src/nsDownloadProxy.h:122 63 libxul.so nsExternalAppHandler::SendStatusChange uriloader/exthandler/nsExternalHelperAppService.cpp:1892 64 libxul.so nsExternalAppHandler::OnDataAvailable uriloader/exthandler/nsExternalHelperAppService.cpp:1980 65 libxul.so mozilla::dom::ExternalHelperAppParent::RecvOnDataAvailable uriloader/exthandler/ExternalHelperAppParent.cpp:110 66 libxul.so mozilla::dom::PExternalHelperAppParent::OnMessageReceived PExternalHelperAppParent.cpp:167 67 libxul.so mozilla::dom::PContentParent::OnMessageReceived PContentParent.cpp:463 68 libxul.so mozilla::ipc::AsyncChannel::OnDispatchMessage ipc/glue/AsyncChannel.cpp:262 69 libxul.so mozilla::ipc::RPCChannel::OnMaybeDequeueOne ipc/glue/RPCChannel.cpp:438 70 libxul.so RunnableMethod<mozilla::ipc::RPCChannel,bool ,Tuple0>::Run ipc/chromium/src/base/tuple.h:383 71 libxul.so mozilla::ipc::RPCChannel::DequeueTask::Run RPCChannel.h:449 72 libxul.so MessageLoop::RunTask ipc/chromium/src/base/message_loop.cc:343 73 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:351 74 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:451 75 libxul.so mozilla::ipc::DoWorkRunnable::Run ipc/glue/MessagePump.cpp:70 76 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:609 77 libxul.so NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp:198 78 libxul.so XPCWrappedNative::CallMethod js/src/xpconnect/src/xpcwrappednative.cpp:3054 79 libxul.so XPC_WN_CallMethod js/src/xpconnect/src/xpcwrappednativejsops.cpp:1589 80 libxul.so js::Interpret js/src/jscntxtinlines.h:684 81 libxul.so js::Invoke js/src/jsinterp.cpp:665 82 libxul.so js_fun_apply js/src/jsfun.cpp:2341 83 libxul.so js::Interpret js/src/jscntxtinlines.h:684 84 libxul.so js::Invoke js/src/jsinterp.cpp:665 85 libxul.so js::ExternalInvoke js/src/jsinterp.cpp:881 86 libxul.so JS_CallFunctionValue js/src/jsinterp.h:954 87 libxul.so nsXPCWrappedJSClass::CallMethod js/src/xpconnect/src/xpcwrappedjsclass.cpp:1694 88 libxul.so nsXPCWrappedJS::CallMethod js/src/xpconnect/src/xpcwrappedjs.cpp:577 89 libxul.so PrepareAndDispatch xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp:132 90 libxul.so libxul.so@0xfba4f3 91 libxul.so nsDownload::FailDownload toolkit/components/downloads/src/nsDownloadManager.cpp:3093 92 @0x473a5b7f 93 libxul.so nsDownload::OnStatusChange toolkit/components/downloads/src/nsDownloadManager.cpp:2459 94 libxul.so nsDownloadProxy::OnStatusChange toolkit/components/downloads/src/nsDownloadProxy.h:122 95 libxul.so nsExternalAppHandler::SendStatusChange uriloader/exthandler/nsExternalHelperAppService.cpp:1892 96 libxul.so nsExternalAppHandler::OnDataAvailable uriloader/exthandler/nsExternalHelperAppService.cpp:1980 97 libxul.so mozilla::dom::ExternalHelperAppParent::RecvOnDataAvailable uriloader/exthandler/ExternalHelperAppParent.cpp:110 98 libxul.so mozilla::dom::PExternalHelperAppParent::OnMessageReceived PExternalHelperAppParent.cpp:167 99 libxul.so mozilla::dom::PContentParent::OnMessageReceived PContentParent.cpp:463 100 libxul.so mozilla::ipc::AsyncChannel::OnDispatchMessage ipc/glue/AsyncChannel.cpp:262 101 libxul.so mozilla::ipc::RPCChannel::OnMaybeDequeueOne ipc/glue/RPCChannel.cpp:438 102 libxul.so RunnableMethod<mozilla::ipc::RPCChannel,bool ,Tuple0>::Run ipc/chromium/src/base/tuple.h:383 103 libxul.so mozilla::ipc::RPCChannel::DequeueTask::Run RPCChannel.h:449 104 libxul.so MessageLoop::RunTask ipc/chromium/src/base/message_loop.cc:343 105 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:351 106 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:451 107 libxul.so mozilla::ipc::DoWorkRunnable::Run ipc/glue/MessagePump.cpp:70 108 libxul.so nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:609 109 libxul.so NS_ProcessNextEvent_P nsThreadUtils.cpp:250 110 libxul.so nsXMLHttpRequest::Send content/base/src/nsXMLHttpRequest.cpp:2685 111 libxul.so nsIXMLHttpRequest_Send dom_quickstubs.cpp:26849 112 libxul.so js::Interpret js/src/jscntxtinlines.h:684
Processor Notes This dump is too long and has triggered the automatic truncation routine it's probably stack overflow.
Yeah, this is looking like infinite recursion to me....
Crash Signature: [@ nsExternalAppHandler::OnDataAvailable]
(In reply to Boris Zbarsky [:bz] from comment #3) > Yeah, this is looking like infinite recursion to me.... Worth keeping? In various chunks totaling 6 weeks I found only one crash with nsExternalAppHandler::OnDataAvailable in the signature bp-cf67e88c-a57e-4af7-8fc6-29ce02150130
Flags: needinfo?(josh)
Nope.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(josh)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.