Hang in XUL`mozilla::layers::PCompositorBridgeChild::SendFlushRendering() when reconnecting external monitor
Categories
(Core :: Graphics, defect, P3)
Tracking
()
People
(Reporter: nalexander, Assigned: jgilbert)
Details
(Keywords: hang)
Attachments
(1 obsolete file)
Reporter | ||
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Reporter | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•5 years ago
|
||
My read is that makeCurrentContext
doesn't fail per se. Maaaybe we can check current
? (class var current: NSOpenGLContext? { get }
)
However, this is crashing deep in glDeleteFramebuffers, whereas a current-context bug should be handled much higher up!
CompositingRenderTargetOGL::~CompositingRenderTargetOGL() {
if (mGL && mGL->MakeCurrent()) {
mGL->fDeleteTextures(1, &mTextureHandle);
mGL->fDeleteFramebuffers(1, &mFBO);
}
}
Here's my guess: glDeleteFramebuffers has a bug detaching the 'deleted' texture. glDeleteTextures is really more like glUnbindAndReleaseHandle: But if it's bound to a framebuffer that's /not/ currently bound to BindFramebuffers, it will release the GL 'name'/handle's reference, but the unbound FB is still holding a strong reference, keeping thei texture alive.
You can see how the callstack quickly turns from delete-framebuffer to delete-texture:
frame #8: 0x00007fff28f0f1e9 GeForceGLDriver`___lldb_unnamed_symbol11634$$GeForceGLDriver + 111
frame #9: 0x00007fff46ea5ffd libGPUSupportMercury.dylib`gldDestroyTexture + 20
frame #10: 0x00007fff28ef6ace GeForceGLDriver`gldDestroyTexture + 218
frame #11: 0x00007fff37db4cbe libGFXShared.dylib`gfxDestroyPluginTexture + 60
frame #12: 0x00007fff38a73821 GLEngine`gleFreeTextureObject + 36
frame #13: 0x00007fff38a3f947 GLEngine`gleUnbindAndFreeFramebufferObject + 182
frame #14: 0x00007fff3898846c GLEngine`glDeleteFramebuffersEXT_Exec + 270
frame #15: 0x0000000110d32281 XUL`mozilla::gl::GLContext::fDeleteFramebuffers(int, unsigned int const*) + 241
We might try deleting the framebuffer before the texture and see if that helps!
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Comment 6•5 years ago
|
||
Please try to repro with an opt build from this try push:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=91b76f0d5f89a787a2f747ceefd6fff9f7c153ea
Comment 7•5 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:jgilbert, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 9•5 years ago
|
||
Nick do you still encounter this?
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Reporter | ||
Comment 10•5 years ago
|
||
(In reply to Wayne Mery (:wsmwk) from comment #9)
Nick do you still encounter this?
Sorry for not getting back. Generally no, I am not seeing this, but I think that configuration is actually different -- i.e., I have a dock and use Thunderbird rather than DP1.2 directly from the device. jgilbert, my apologies for letting this linger.
Assignee | ||
Updated•5 years ago
|
Description
•