Last Comment Bug 751163 - OMTC Linux: Firefox crashes when closing a window in which a video is playing (OMTC only)
: OMTC Linux: Firefox crashes when closing a window in which a video is playing...
Status: RESOLVED FIXED
: crash
Product: Core
Classification: Components
Component: Graphics: Layers (show other bugs)
: Other Branch
: All Linux
: -- critical with 1 vote (vote)
: mozilla15
Assigned To: Nicolas Silva [:nical]
:
: Milan Sreckovic [:milan]
Mentors:
Depends on:
Blocks: 722012
  Show dependency treegraph
 
Reported: 2012-05-02 07:27 PDT by Nicolas Silva [:nical]
Modified: 2012-05-16 03:35 PDT (History)
4 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Stacktrace of the crash (4.64 KB, text/plain)
2012-05-02 07:27 PDT, Nicolas Silva [:nical]
no flags Details
Stack trace of the crash in the compositor thread (9.19 KB, text/plain)
2012-05-04 16:04 PDT, Nicolas Silva [:nical]
no flags Details
Releases ShadowImageLayerOGL's YUV textures in ShadowImageLayerOGL::CleanupResources (2.11 KB, patch)
2012-05-15 12:35 PDT, Nicolas Silva [:nical]
b56girard: review+
Details | Diff | Splinter Review

Description Nicolas Silva [:nical] 2012-05-02 07:27:42 PDT
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
Comment 1 Nicolas Silva [:nical] 2012-05-02 07:40:53 PDT
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.
Comment 2 Karl Tomlinson (back Dec 13 :karlt) 2012-05-02 16:39:02 PDT
(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.
Comment 3 Nicolas Silva [:nical] 2012-05-03 07:09:25 PDT
(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.
Comment 4 Nicolas Silva [:nical] 2012-05-04 16:04:08 PDT
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.
Comment 5 Nicolas Silva [:nical] 2012-05-15 12:35:23 PDT
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.
Comment 7 Ed Morley [:emorley] 2012-05-16 03:35:17 PDT
https://hg.mozilla.org/mozilla-central/rev/cce5bc78a9a0

Note You need to log in before you can comment on or make changes to this bug.