OMTC Linux: Firefox crashes when closing a window in which a video is playing (OMTC only)

RESOLVED FIXED in mozilla15

Status

()

Core
Graphics: Layers
--
critical
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: nical, Assigned: nical)

Tracking

({crash})

Other Branch
mozilla15
All
Linux
crash
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

Attachments

(3 attachments)

(Assignee)

Description

5 years ago
Created attachment 620308 [details]
Stacktrace of the crash

When using off-main-thread compositing on Linux (layers.acceleration.force-enabled pref set to true + MOZ_USE_OMTC environment variable set), Firefox sometimes crashes.

The gdb backtrace is in attachment.

The crash seems to happen because IPC times out inside PCompositorChild::SendStop
(Assignee)

Comment 1

5 years ago
Right now, need to apply attachment 618255 [details] [diff] [review] from bug 722012 to observe the bug. Without this patch OMTC on Linux just crashes right away without giving a chance to see the other bugs.

Updated

5 years ago
Severity: normal → critical
Crash Signature: [@ PR_WaitCondVar | mozilla::CondVar::Wait]
Keywords: crash
Version: unspecified → Other Branch
(In reply to Nicolas Silva [:nical] from comment #0)
> Created attachment 620308 [details]
> Stacktrace of the crash

Is that the crashing thread?
I think you want the stack trace from another thread.
(Assignee)

Comment 3

5 years ago
(In reply to Karl Tomlinson (:karlt) from comment #2)
> (In reply to Nicolas Silva [:nical] from comment #0)
> > Created attachment 620308 [details]
> > Stacktrace of the crash
> 
> Is that the crashing thread?
> I think you want the stack trace from another thread.

Yeah probably, I haven't really looked into it yet. Just printed the backtrace from gdb, saw that it was in "*Wait*" named functions within ipc code, assumed it was a time out, and switched back to what I was working on before. I'll get back to this bug soon.
(Assignee)

Comment 4

5 years ago
Created attachment 621210 [details]
Stack trace of the crash in the compositor thread

karlt, you are right, things are happening  in the compositor thread (stacktrace in attachment), and it actually has nothing to do with time out.

textures are being deleted after the gtk widget (which is a problem because deleting the gtk widget deletes the gl context) when closing a window that is playing a video. I'll also rename this bug.
(Assignee)

Updated

5 years ago
Summary: OMTC Linux: Firefox sometimes crashes when closing, due to IPC time out → OMTC Linux: Firefox crashes when closing a window in which a video is playing (OMTC only)

Updated

5 years ago
Crash Signature: [@ PR_WaitCondVar | mozilla::CondVar::Wait] → [@ TouchBadMemory | mozalloc_abort | NS_DebugBreak_P | X11Error]
(Assignee)

Updated

5 years ago
Assignee: nobody → nsilva
(Assignee)

Comment 5

5 years ago
Created attachment 624148 [details] [diff] [review]
Releases ShadowImageLayerOGL's YUV textures in ShadowImageLayerOGL::CleanupResources

ShadowImageLayerOGL's 3 YUV textures were not released in ShadowImageLayerOGL::CleanupResources, causing them to be released somewhere in ShadowLayerParent::ActorDestroy (see stacktrace in attachment 621210 [details]) which happens after the destruction of the gl context.
Releasing these textures in CleanupResources makes sure it happens before we destroy the gl context.
Attachment #624148 - Flags: review?(bgirard)

Updated

5 years ago
Attachment #624148 - Flags: review?(bgirard) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/cce5bc78a9a0
Target Milestone: --- → mozilla15

Comment 7

5 years ago
https://hg.mozilla.org/mozilla-central/rev/cce5bc78a9a0
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.