Closed Bug 1175481 Opened 9 years ago Closed 3 years ago

[e10s] Plugin hangs in NtAlpcSendWaitReceivePort

Categories

(Core Graveyard :: Plug-ins, defect, P4)

defect

Tracking

(e10s+, firefox41 affected, firefox49 affected, firefox50 affected, firefox51 affected)

RESOLVED WONTFIX
Tracking Status
e10s + ---
firefox41 --- affected
firefox49 --- affected
firefox50 --- affected
firefox51 --- affected

People

(Reporter: jimm, Unassigned)

References

Details

Crash Data

This is a classic message queue deadlock. In e10s based on the data we're getting this is a very common signature. Some example reports: https://crash-stats.mozilla.com/signature/?product=Firefox&signature=hang+|+NtAlpcSendWaitReceivePort&_columns=date&_columns=product&_columns=version&_columns=build_id&_columns=platform&_columns=reason&_columns=address&page=1 Odd thing about these hangs is that the stacks are often incomplete. I'm not sure why this is but it might be worth investigating. good stack: https://crash-stats.mozilla.com/report/index/76037511-60cf-4552-a6ec-e9fa52150615 bad stack: https://crash-stats.mozilla.com/report/index/b85e6ced-b54e-44ad-989f-57a102150613 Typical hang under e10s: https://crash-stats.mozilla.com/report/index/c01ed9bb-4c49-48e9-bb38-e958e2150617 We hang here updating the Show state of the chrome side plugin window. Clearly we're trying to sync send something to flash, but flash is caught up waiting on something in audio code. The two processes don't appear to be waiting on each other. PLUGIN ----------------------------------------------------------------------------------- 0 NtAlpcSendWaitReceivePort 1 rpcrt4.dll@0x11198 2 rpcrt4.dll@0x114f9c 3 audioses.dll@0x25ce7 4 rpcrt4.dll@0x112bf 5 audioses.dll@0x25ce7 6 rpcrt4.dll@0x1102f 7 audioses.dll@0x25ce7 CONTENT ----------------------------------------------------------------------------------- 0 NtWaitForMultipleObjects 1 WaitForMultipleObjectsEx 2 nsHTMLReflowMetrics::UnionOverflowAreasWithDesiredBounds() src 3 unknown: offset=unknown function=unknown 4 SetWindowsHookEx 5 igd10iumd64.dll: offset=0x13d252 function=unknown 6 igd10iumd64.dll: offset=0x12f154 function=unknown 7 xul.dll: offset=0xb0f0db function=unknown 8 SetWindowsHookExAW 9 xul.dll: offset=0xb0f0db function=unknown 10 nsIFrame::FinishAndStoreOverflow(nsOverflowAreas &,nsSize,nsSize *) src 11 unknown: offset=unknown function=unknown 12 CallNextHookEx 13 NtdllGhostWndProcWorker 14 MsgWaitForMultipleObjects 15 PR_Unlock src 16 mozilla::ipc::MessageChannel::WaitForInterruptNotify() src 17 mozilla::ipc::MessageChannel::Call(IPC::Message *,IPC::Message *) src 18 mozilla::plugins::PPluginModuleParent::CallSyncNPP_New(mozilla::plugins::PPluginInstanceParent *,short *) src 19 mozilla::plugins::PluginModuleParent::NPP_NewInternal(char *,_NPP *,unsigned short,nsTArray<nsCString> &,nsTArray<nsCString> &,_NPSavedData *,short *) src 20 mozilla::plugins::PluginModuleParent::NPP_New(char *,_NPP *,unsigned short,short,char * * const,char * * const,_NPSavedData *,short *) src 21 nsNPAPIPluginInstance::Start() src 22 nsNPAPIPluginInstance::Initialize(nsNPAPIPlugin *,nsPluginInstanceOwner *,nsACString_internal const &) src 23 nsPluginHost::TrySetUpPluginInstance(nsACString_internal const &,nsIURI *,nsPluginInstanceOwner *) src 24 nsPluginHost::SetUpPluginInstance(nsACString_internal const &,nsIURI *,nsPluginInstanceOwner *) src 25 nsPluginHost::InstantiatePluginInstance(nsACString_internal const &,nsIURI *,nsObjectLoadingContent *,nsPluginInstanceOwner * *) src 26 nsObjectLoadingContent::InstantiatePluginInstance(bool) src 27 nsObjectLoadingContent::LoadObject(bool,bool,nsIRequest *) src 28 nsObjectLoadingContent::OnStartRequest(nsIRequest *,nsISupports *) src 29 mozilla::net::HttpChannelChild::DoOnStartRequest(nsIRequest *,nsISupports *) src 30 mozilla::net::HttpChannelChild::OnStartRequest(nsresult const &,mozilla::net::nsHttpResponseHead const &,bool const &,mozilla::net::nsHttpHeaderArray const &,bool const &,bool const &,unsigned int const &,nsCString const &,nsCString const &,mozilla::net::NetAddr const &,mozilla::net::NetAddr const &,unsigned int const &) src 31 mozilla::net::HttpChannelChild::RecvOnStartRequest(nsresult const &,mozilla::net::nsHttpResponseHead const &,bool const &,mozilla::net::nsHttpHeaderArray const &,bool const &,bool const &,unsigned int const &,nsCString const &,nsCString const &,mozilla::net::NetAddr const &,mozilla::net::NetAddr const &,short const &,unsigned int const &) src 32 mozilla::net::PHttpChannelChild::OnMessageReceived(IPC::Message const &) src 33 mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const &) src 34 mozilla::ipc::MessageChannel::OnMaybeDequeueOne() src 35 RunnableMethod<SoftwareDisplay,void ( SoftwareDisplay::*)(void),Tuple0>::Run() src 36 MessageLoop::DoWork() src 37 mozilla::ipc::DoWorkRunnable::Run() src 38 nsThread::ProcessNextEvent(bool,bool *) src 39 NS_ProcessNextEvent(nsIThread *,bool) src 40 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) src 41 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) src 42 MessageLoop::RunHandler() src 43 MessageLoop::Run() src 44 nsBaseAppShell::Run() src 45 nsAppShell::Run() src 46 XRE_RunAppShell src 47 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate *) src 48 MessageLoop::RunHandler() src 49 MessageLoop::Run() src 50 XRE_InitChildProcess src 51 content_process_main(int,char * * const) src 52 wmain src 53 __tmainCRTStartup 54 BaseThreadInitThunk 55 fast_error_exit BROWSER ----------------------------------------------------------------------------------- 0 NtWaitForMultipleObjects 1 WaitForMultipleObjectsEx 2 nsWindow::Show(bool) src 3 RegisteredPluginEnumerator src 4 nsBaseHashtable<nsISupportsHashKey,nsAutoPtr<nsTArray<nsIFrame *> >,nsTArray<nsIFrame *> *>::s_EnumReadStub(PLDHashTable *,PLDHashEntryHdr *,unsigned int,void *) src 5 nsIWidget::UpdateRegisteredPluginWindowVisibility(nsTArray<unsigned __int64> &) src 6 mozilla::layers::CompositorChild::RecvUpdatePluginConfigurations(mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> const &,nsIntRegion const &,nsTArray<mozilla::layers::PluginWindowData> &&) src 7 ReleaseSemaphore 8 md_UnlockAndPostNotifies src 9 PR_Unlock src
Blocks: e10s-hangs
Here's another with a slightly different stack for the browser: https://crash-stats.mozilla.com/report/index/a820fcbc-341f-4321-82c3-288352150613 In this case the browser is caught up in mozilla::widget::WinUtils::WaitForMessage.
tracking-e10s: --- → +
Jim is this still a problem?
Flags: needinfo?(jmathies)
I still see these bug they are pretty low volume.
Flags: needinfo?(jmathies)
Priority: -- → P4
Crash Signature: [@ NtAlpcSendWaitReceivePort]
Crash volume for signature 'NtAlpcSendWaitReceivePort': - nightly (version 50): 988 crashes from 2016-06-06. - aurora (version 49): 12 crashes from 2016-06-07. - beta (version 48): 0 crashes from 2016-06-06. - release (version 47): 0 crashes from 2016-05-31. - esr (version 45): 0 crashes from 2016-04-07. Crash volume on the last weeks: W. N-1 W. N-2 W. N-3 W. N-4 W. N-5 W. N-6 W. N-7 - nightly 21 51 58 587 266 0 2 - aurora 3 2 2 0 0 1 0 - beta 0 0 0 0 0 0 0 - release 0 0 0 0 0 0 0 - esr 0 0 0 0 0 0 0 Affected platform: Windows
Crash volume for signature 'NtAlpcSendWaitReceivePort': - nightly (version 51): 79 crashes from 2016-08-01. - aurora (version 50): 33 crashes from 2016-08-01. - beta (version 49): 3 crashes from 2016-08-02. - release (version 48): 0 crashes from 2016-07-25. - esr (version 45): 0 crashes from 2016-05-02. Crash volume on the last weeks (Week N is from 08-22 to 08-28): W. N-1 W. N-2 W. N-3 - nightly 7 23 25 - aurora 13 7 5 - beta 0 3 0 - release 0 0 0 - esr 0 0 0 Affected platform: Windows Crash rank on the last 7 days: Browser Content Plugin - nightly #23 - aurora #123 - beta - release - esr
Resolving as wont fix, plugin support deprecated in Firefox 85.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.