I've spotted another potential issue in TextureClient::OnForwardedToHost.
If mUpdated hasn't been set then we don't take a read lock, but the texture is still being forwarded and so we might incorrectly try and use it as a back buffer, while still being used in the compositor.
I can trigger this condition when tab switching.
+++ This bug was initially created as a clone of Bug #1704445 +++
The patch on bug 1658991, didn't reduce the crashes, certainly not by much if at all.
So it looks like they can't be down to device resets.
Filing a new bug to track further investigations / resolutions.
+++ This bug was initially created as a clone of Bug #1658991 +++
This bug is for crash report bp-bafc3b28-7bbb-42e1-b1b7-954c80200813.
Top 10 frames of crashing thread:
0 xul.dll CrashStatsLogForwarder::CrashAction gfx/thebes/gfxPlatform.cpp:409
1 xul.dll mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::Flush gfx/2d/Logging.h:277
2 xul.dll mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::~Log gfx/2d/Logging.h:270
3 xul.dll mozilla::layers::LockD3DTexture<ID3D11Texture2D> gfx/layers/d3d11/TextureD3D11.cpp
4 xul.dll mozilla::layers::D3D11TextureData::Lock gfx/layers/d3d11/TextureD3D11.cpp:309
5 xul.dll mozilla::layers::CanvasTranslator::HandleExtensionEvent gfx/layers/ipc/CanvasTranslator.cpp:317
6 xul.dll mozilla::layers::CanvasTranslator::TranslateRecording gfx/layers/ipc/CanvasTranslator.cpp:266
7 xul.dll mozilla::layers::CanvasTranslator::StartTranslation gfx/layers/ipc/CanvasTranslator.cpp:162
8 xul.dll mozilla::detail::RunnableMethodImpl< xpcom/threads/nsThreadUtils.h:1240
9 xul.dll mozilla::TaskQueue::Runner::Run xpcom/threads/TaskQueue.cpp:158
This seems to be something that we've fixed before, but it's back, and the number of crashes isn't going to the right direction!