Closed Bug 1588704 Opened 6 years ago Closed 4 years ago

Crash in [@ mozilla::layers::SurfaceRegistryWrapperAroundCompositorOGL::RegisterSurface]

Categories

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

70 Branch
Unspecified
macOS
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- wontfix
firefox71 --- ?

People

(Reporter: philipp, Unassigned)

Details

(Keywords: crash, regression)

Crash Data

This bug is for crash report bp-bc1a90c6-8bdf-4799-8e00-7fa870191014.

Top 8 frames of crashing thread:

0 XUL mozilla::layers::SurfaceRegistryWrapperAroundCompositorOGL::RegisterSurface gfx/layers/opengl/CompositorOGL.cpp:773
1 CoreFoundation CoreFoundation@0x6b61 
2 XUL mozilla::layers::NativeLayerCA::NextSurface gfx/layers/NativeLayerCA.mm:288
3 libsystem_pthread.dylib libsystem_pthread.dylib@0x44a8 
4 XUL mozilla::layers::CompositorOGL::BeginRenderingToNativeLayer gfx/layers/opengl/CompositorOGL.cpp:942
5 XUL mozilla::layers::LayerManagerComposite::UpdateAndRender gfx/layers/composite/LayerManagerComposite.cpp:614
6 XUL mozilla::layers::AsyncPanZoomController::DispatchStateChangeNotification gfx/layers/apz/src/AsyncPanZoomController.cpp:5081
7 XUL mozilla::layers::AsyncCompositionManager::TransformShadowTree gfx/layers/composite/AsyncCompositionManager.cpp:1473

these browser crash reports from macos are starting to show up in the firefox 70.0b cycle. they are all apparently from osx 10.9-10.11 and are coming with MOZ_RELEASE_ASSERT(mRegisteredIOSurfaceRenderTargets.find(aSurface) == mRegisteredIOSurfaceRenderTargets.end()) (double-registering IOSurface).

Flags: needinfo?(mstange)

51 crashes since the end of august, 72% on 10.9, the rest split between 10.10 and 10.11.

I'm not sure what to make of this. Is it caused by a macOS bug in older versions that re-uses IOSurfaces even though there still exist references to those surfaces? If that's the case, crashing cleanly on a release assert is probably the best we can do.

We could maybe 'blacklist' core animation on these very old versions of macOS if this was deemed to be a big enough problem?

I'm extremely hesitant to commit to maintaining the non-CoreAnimation code. Keeping it around for old versions of macOS still means keeping it around, and it's a lot of code.
Let's see how frequently we hit this bug on release.

Not very high volume, too late for a fix in 70.

On 71, this code has changed a bit and the assertion is gone. So we likely won't get any crashes on 71. But given this assertion fails on 70 sometimes, this could mean that the code on 71 sometimes does incorrect things: If we get the same IOSurfaceRef address for different surfaces, there will be visible glitches because we might display things in one layer that were intended to go into a different layer.

Priority: -- → P3
QA Whiteboard: qa-not-actionable

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(mstange.moz)
You need to log in before you can comment on or make changes to this bug.