Closed
Bug 1269892
Opened 8 years ago
Closed 8 years ago
Crash in mozilla::layers::CompositorOGL::GetShaderConfigFor const
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla49
People
(Reporter: philipp, Assigned: pchang)
Details
(Keywords: crash, Whiteboard: [gfx-noted])
Crash Data
Attachments
(1 file)
This bug was filed from the Socorro interface and is report bp-7be2b5f1-a3dc-4c21-97e1-5a18b2160409. ============================================================= Crashing Thread (24) Frame Module Signature Source 0 XUL mozilla::layers::CompositorOGL::GetShaderConfigFor(mozilla::layers::Effect*, mozilla::layers::MaskType, mozilla::gfx::CompositionOp, bool, bool) const gfx/layers/opengl/CompositorOGL.cpp:871 1 XUL mozilla::layers::CompositorOGL::DrawQuad(mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, float> const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, float> const&, mozilla::layers::EffectChain const&, float, mozilla::gfx::Matrix4x4Typed<mozilla::gfx::UnknownUnits, mozilla::gfx::UnknownUnits> const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, float> const&) gfx/layers/opengl/CompositorOGL.cpp:1111 2 XUL mozilla::layers::ImageHost::Composite(mozilla::layers::LayerComposite*, mozilla::layers::EffectChain&, float, mozilla::gfx::Matrix4x4Typed<mozilla::gfx::UnknownUnits, mozilla::gfx::UnknownUnits> const&, mozilla::gfx::Filter const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, float> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const*) gfx/layers/Compositor.h:320 3 XUL mozilla::layers::ImageLayerComposite::RenderLayer(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&) gfx/layers/composite/ImageLayerComposite.cpp:100 4 XUL void mozilla::layers::RenderLayers<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite*, mozilla::layers::LayerManagerComposite*, mozilla::gfx::IntRectTyped<mozilla::RenderTargetPixel> const&) gfx/layers/composite/ContainerLayerComposite.cpp:577 5 XUL void mozilla::layers::ContainerRender<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite*, mozilla::layers::LayerManagerComposite*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&) gfx/layers/composite/ContainerLayerComposite.cpp:741 6 XUL void mozilla::layers::RenderLayers<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite*, mozilla::layers::LayerManagerComposite*, mozilla::gfx::IntRectTyped<mozilla::RenderTargetPixel> const&) gfx/layers/composite/ContainerLayerComposite.cpp:577 7 XUL void mozilla::layers::ContainerRender<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite*, mozilla::layers::LayerManagerComposite*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&) gfx/layers/composite/ContainerLayerComposite.cpp:741 8 XUL mozilla::layers::LayerManagerComposite::Render(mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&) gfx/layers/composite/LayerManagerComposite.cpp:920 9 XUL mozilla::layers::LayerManagerComposite::UpdateAndRender() gfx/layers/composite/LayerManagerComposite.cpp:492 10 XUL mozilla::layers::LayerManagerComposite::EndTransaction(mozilla::TimeStamp const&, mozilla::layers::LayerManager::EndTransactionFlags) gfx/layers/composite/LayerManagerComposite.cpp:414 11 XUL mozilla::layers::CompositorParent::CompositeToTarget(mozilla::gfx::DrawTarget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*) gfx/layers/ipc/CompositorParent.cpp:1260 12 XUL mozilla::layers::CompositorVsyncScheduler::Composite(mozilla::TimeStamp) gfx/layers/ipc/CompositorParent.cpp:653 13 XUL MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) ipc/chromium/src/base/message_loop.cc:364 14 XUL MessageLoop::DoWork() ipc/chromium/src/base/message_loop.cc:459 15 XUL base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ipc/chromium/src/base/message_pump_default.cc:34 16 XUL MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:234 17 XUL base::Thread::ThreadMain() ipc/chromium/src/base/thread.cc:172 18 XUL ThreadFunc ipc/chromium/src/base/platform_thread_posix.cc:36 Ø 19 libsystem_pthread.dylib libsystem_pthread.dylib@0x3c12 Ø 20 libsystem_pthread.dylib libsystem_pthread.dylib@0x3b8f Ø 21 libsystem_pthread.dylib libsystem_pthread.dylib@0x1374 22 XUL XUL@0x379f1f this os x crash signature seems to be somewhat on the rise since 46.0 and subsequent pre-release builds.
Comment 1•8 years ago
|
||
TextureSourceOGL* source = texturedEffect->mTexture->AsSourceOGL() seems to be null. Incompatible texture source?
Well, we're reporting GL Layers- and WebGL- in different places, but we end up in compositor OGL, so I'd say somebody is not paying attention to needing to be in basic compositor?
Flags: needinfo?(nical.bugzilla)
Updated•8 years ago
|
Whiteboard: [gfx-noted]
Comment 3•8 years ago
|
||
https://crash-stats.mozilla.com/signature/?product=Firefox&signature=mozilla%3A%3Alayers%3A%3ACompositorOGL%3A%3AGetShaderConfigFor+const&_columns=date&_columns=version&_columns=app_notes&_columns=graphics_critical_error&page=1 (In reply to Milan Sreckovic [:milan] from comment #2) > Well, we're reporting GL Layers- and WebGL- in different places, but we end > up in compositor OGL In most reports we are reporting GL layers + and GL Context+. Some reports have Webgl reported as both "+" and "-", not sure what this means. Nothing in gfx critical notes in most cases, except one report with mentions to canvas 2d falling back to software. As far as I know we don't have an equivalent of windows device resets on Mac, right? Interestingly they all seem to be on the same Intel chip (DeviceID: 0x0046), I haven't seen any entry for that device in GfxInfo. These are recent OSX versions, so I am expecting that we want to use a GL compositor there (especially since BasicCompositor currently needs some kind of gl hackiness to present frames on OSX), not sure why we are seeing an incompatible TextureSource there but I expect that the unexpected backend is on the texture rather than the compositor.
Flags: needinfo?(nical.bugzilla)
Maybe we can put some more information when we get this null pointer, gfxDevCrash so that we keep getting the reports, but also handle the null pointer.
Flags: needinfo?(howareyou322)
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → howareyou322
Flags: needinfo?(howareyou322)
Assignee | ||
Comment 5•8 years ago
|
||
I only see "GL Layers+" from the search link in comment 3 and I didn't find the device reset path for Mac. Therefore, I assume we didn't change compositor here and used compositorOGL from beginning. It's more likely we are seeing a texture with unexpected backend type. It is worth to dump the Name of texture source when AsSourceOGL return null.
Assignee | ||
Comment 6•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52758/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/52758/
Attachment #8752740 -
Flags: review?(nical.bugzilla)
Comment 7•8 years ago
|
||
Comment on attachment 8752740 [details] MozReview Request: Bug 1269892 - Dump the name of TextureSource when fails to cast it as TextureSourceOGL, r?nical https://reviewboard.mozilla.org/r/52758/#review49708 ::: gfx/layers/composite/TextureHost.h:115 (Diff revision 1) > > /** > * Cast to a TextureSource for for each backend.. > */ > - virtual TextureSourceOGL* AsSourceOGL() { return nullptr; } > + virtual TextureSourceOGL* AsSourceOGL() { > + gfxCriticalNote << "Failed to cast " << Name() << "to a TextureSourceOGL"; nit: << " into a... (add a space and "into" rather than "to")
Attachment #8752740 -
Flags: review?(nical.bugzilla) → review+
Assignee | ||
Comment 8•8 years ago
|
||
Comment on attachment 8752740 [details] MozReview Request: Bug 1269892 - Dump the name of TextureSource when fails to cast it as TextureSourceOGL, r?nical Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52758/diff/1-2/
Assignee | ||
Comment 9•8 years ago
|
||
https://reviewboard.mozilla.org/r/52758/#review49708 Done
Comment 11•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/780163f83261
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
Assignee | ||
Comment 12•8 years ago
|
||
I just added more debug log to have more clues to check this issue, change to open and wait for new information.
Assignee | ||
Updated•8 years ago
|
Assignee | ||
Comment 13•8 years ago
|
||
I don't see this crash recently. Close the case.
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → FIXED
Comment 14•6 years ago
|
||
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in
before you can comment on or make changes to this bug.
Description
•