Closed Bug 1669168 Opened 4 years ago Closed 2 years ago

Crash in [@ IPCError-browser | ShutDownKill | mozilla::ipc::MessageChannel::WaitForSyncNotify | mozilla::ipc::IProtocol::ChannelSend]

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: gsvelto, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

Crash report: https://crash-stats.mozilla.org/report/index/ea48d1cc-cb72-485d-b48e-d227e0201004

Reason: EXCEPTION_BREAKPOINT

Top 10 frames of crashing thread:

0 ntdll.dll NtWaitForAlertByThreadId 
1 ntdll.dll RtlSleepConditionVariableSRW 
2 kernelbase.dll SleepConditionVariableSRW 
3 mozglue.dll mozilla::detail::ConditionVariableImpl::wait_for mozglue/misc/ConditionVariable_windows.cpp:58
4 xul.dll mozilla::ipc::MessageChannel::WaitForSyncNotify ipc/glue/WindowsMessageLoop.cpp:942
5 xul.dll mozilla::ipc::IProtocol::ChannelSend ipc/glue/ProtocolUtils.cpp:518
6 xul.dll mozilla::layers::PWebRenderBridgeChild::SendEnsureConnected ipc/ipdl/PWebRenderBridgeChild.cpp:73
7 xul.dll mozilla::layers::WebRenderLayerManager::Initialize gfx/layers/wr/WebRenderLayerManager.cpp:88
8 xul.dll std::_Func_impl_no_alloc<`lambda at /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2754:9', bool, mozilla::layers::LayerManager*>::_Do_call 
9 xul.dll mozilla::widget::PuppetWidget::CreateRemoteLayerManager widget/PuppetWidget.cpp:570

This appears to be an IPC deadlock. The content process whose stack can be seen above is waiting for a reply to its PWebRenderBridge.EnsureConnected() call which is synchronous, but the main process already sent the content process a shutdown message so is unlikely to reply to that message anymore. The content process is thus stuck waiting and doesn't see the shutdown message and thus the main process kills it after 20 seconds of inactivity.

Blocks: wr-stability
Severity: -- → S3
Priority: -- → P3
Crash Signature: [@ IPCError-browser | ShutDownKill | mozilla::ipc::MessageChannel::WaitForSyncNotify | mozilla::ipc::IProtocol::ChannelSend] → [@ IPCError-browser | ShutDownKill | mozilla::ipc::MessageChannel::WaitForSyncNotify | mozilla::ipc::IProtocol::ChannelSend] [@ shutdownhang | __pthread_cond_wait | mozilla::ipc::IProtocol::ChannelSend ]

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.