Closed Bug 1630521 Opened 2 years ago Closed 2 years ago

Crash in [@ mozilla::ipc::MessageChannel::Send | mozilla::ipc::IProtocol::ChannelSend]

Categories

(Core :: Canvas: 2D, defect, P1)

All
Windows
defect

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox-esr68 --- disabled
firefox75 --- disabled
firefox76 --- disabled
firefox77 blocking fixed

People

(Reporter: bobowen, Assigned: bobowen)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

This is being caused when a SourceSurface that has been recorded is being destroyed off the main thread, in particular the Paint thread.

I think the best solution is to fully give the recorder responsibility for destroying (and recording that), so that it can manage where it happens.

This bug is for crash report bp-2bf3a86e-cda0-40c7-a116-ade510200416.

Top 10 frames of crashing thread:

0 xul.dll mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp
1 xul.dll mozilla::ipc::IProtocol::ChannelSend ipc/glue/ProtocolUtils.cpp:471
2 xul.dll mozilla::layers::PCanvasChild::SendResumeTranslation ipc/ipdl/PCanvasChild.cpp:119
3 xul.dll mozilla::layers::CanvasEventRingBuffer::UpdateWriteTotalsBy gfx/layers/CanvasDrawEventRecorder.cpp:165
4 xul.dll mozilla::gfx::EventRingBuffer::RecordEvent<mozilla::gfx::RecordedDetachAllSnapshots> gfx/2d/RecordedEvent.h:204
5 xul.dll mozilla::gfx::RecordedEventDerived<mozilla::gfx::RecordedDetachAllSnapshots>::RecordToStream const gfx/2d/RecordedEvent.h:435
6 xul.dll mozilla::layers::CanvasDrawEventRecorder::RecordEvent gfx/layers/CanvasDrawEventRecorder.h:247
7 xul.dll mozilla::gfx::RecordingSourceSurfaceUserDataFunc gfx/2d/DrawTargetWrapAndRecord.cpp:32
8 xul.dll mozilla::gfx::SourceSurfaceD2D1::~SourceSurfaceD2D1 gfx/2d/SourceSurfaceD2D1.cpp:30
9 xul.dll mozilla::gfx::SourceSurfaceD2D1::~SourceSurfaceD2D1 gfx/2d/SourceSurfaceD2D1.cpp:30

Pushed by bobowencode@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/8df5d0174680
Allow CanvasDrawEventRecorder to control surface destruction recording, so it can be done on the main thread. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
See Also: → 1631335
You need to log in before you can comment on or make changes to this bug.