(This is not #81680 btw, this is separate...) If I enable layers.acceleration.force-enabled in Firefox nightly, Firefox always hangs after a little while of browsing. This is a regression somewhere, this worked during a couple of months...
Created attachment 115384 [details] bt full
Created attachment 115385 [details] thread apply all bt
I guess this is the GL related stuff in the backtrace. Something DRI3 related? Thread 2 (Thread 0x7fffd81ff700 (LWP 12150)): #0 0x00007ffff7bc7da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007fffea88bdb9 in _xcb_conn_wait (c=c@entry=0x7ffff6bde000, cond=cond@entry=0x7fffc7c841c8, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:415 #2 0x00007fffea88cf91 in xcb_wait_for_special_event (c=0x7ffff6bde000, se=0x7fffc7c841a0) at ../../src/xcb_in.c:715 #3 0x00007fffcd6b140d in dri3_find_back (c=0x7ffff6bde000, priv=0x7fffc7c4e4f0) at ../../../../src/glx/dri3_glx.c:1263 #4 0x00007fffcd6b1b3c in dri3_get_buffer (format=4099, buffer_type=dri3_buffer_back, loaderPrivate=0x7fffc7c4e4f0, driDrawable=<optimized out>) at ../../../../src/glx/dri3_glx.c:1289 #5 0x00007fffcd6b2798 in dri3_get_buffers (driDrawable=<optimized out>, format=4099, stamp=0x7fffcec457c0, loaderPrivate=0x7fffc7c4e4f0, buffer_mask=<optimized out>, buffers=0x7fffd81fe410) at ../../../../src/glx/dri3_glx.c:1466 #6 0x00007fffcba4dbd0 in dri2_allocate_textures (ctx=0x7fffcd981ce0, drawable=0x7fffcec457c0, statts=0x7fffc7d81448, statts_count=2) at ../../../../../../src/gallium/state_trackers/dri/dri2.c:278 #7 0x00007fffcba4af05 in dri_st_framebuffer_validate (stctx=<optimized out>, stfbi=<optimized out>, statts=0x7fffc7d81448, count=2, out=0x7fffd81fe5a0) at ../../../../../../src/gallium/state_trackers/dri/dri_drawable.c:83 #8 0x00007fffcb97ea6e in st_framebuffer_validate (stfb=0x7fffc7d81000, st=0x7fffc7c60000) at ../../../../src/mesa/state_tracker/st_manager.c:200 #9 0x00007fffcb9800a8 in st_manager_validate_framebuffers (st=0x7fffc7c60000) at ../../../../src/mesa/state_tracker/st_manager.c:863 #10 0x00007fffcb94e73e in st_validate_state (st=0x7fffc7c60000) at ../../../../src/mesa/state_tracker/st_atom.c:181 #11 0x00007fffcb955583 in st_Clear (ctx=0x7fffc7c24000, mask=18) at ../../../../src/mesa/state_tracker/st_cb_clear.c:463 #12 0x00007ffff1b9414d in mozilla::gl::GLContext::fClear(unsigned int) (this=0x7fffc7c69000, mask=<optimized out>) at ../../dist/include/GLContext.h:956 #13 0x00007ffff1b9414d in mozilla::gl::GLContext::fClear(unsigned int) (this=0x7fffc7c69000, mask=<optimized out>) at ../../dist/include/GLContext.h:963 #14 0x00007ffff1b9af96 in mozilla::layers::CompositorOGL::BeginFrame(nsIntRegion const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits> const*, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits>*, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits>*) (this=0x7fffcec45400, aInvalidRegion=..., aClipRectIn=0x0, aRenderBounds=..., aClipRectOut=0x7fffd81fe890, aRenderBoundsOut=<optimized out>) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/opengl/CompositorOGL.cpp:664 #15 0x00007ffff1b8977b in mozilla::layers::LayerManagerComposite::Render() (this=this@entry=0x7fffd13c6ed0) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/composite/LayerManagerComposite.cpp:717 #16 0x00007ffff1b89db1 in mozilla::layers::LayerManagerComposite::EndTransaction(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) (this=0x7fffd13c6ed0, aCallback=<optimized out>, aCallbackData=<optimized out>, aFlags=<optimized out>) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/composite/LayerManagerComposite.cpp:314 #17 0x00007ffff1b89e81 in mozilla::layers::LayerManagerComposite::EndEmptyTransaction(mozilla::layers::LayerManager::EndTransactionFlags) (this=<optimized out>, aFlags=aFlags@entry=mozilla::layers::LayerManager::END_DEFAULT) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/composite/LayerManagerComposite.cpp:261 #18 0x00007ffff1b8fe38 in mozilla::layers::CompositorParent::CompositeToTarget(mozilla::gfx::DrawTarget*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*) (this=0x7fffcda28400, aTarget=aTarget@entry=0x0, aRect=aRect@entry=0x0) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/CompositorParent.cpp:1040 ---Type <return> to continue, or q <return> to quit--- #19 0x00007ffff1b8ffe2 in mozilla::layers::CompositorParent::CompositeCallback(mozilla::TimeStamp) (this=<optimized out>, aScheduleTime=...) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/CompositorParent.cpp:952 #20 0x00007ffff1b90061 in mozilla::layers::CompositorVsyncObserver::Composite(mozilla::TimeStamp) (this=0x7fffcdac6550, aVsyncTimestamp=...) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/CompositorParent.cpp:339 #21 0x00007ffff17a8fa1 in MessageLoop::RunTask(Task*) (this=0x7fffd81fed50, task=0x7fffadcff7c0) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_loop.cc:361 #22 0x00007ffff17aace6 in MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (this=<optimized out>, pending_task=...) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_loop.cc:369 #23 0x00007ffff17ac917 in MessageLoop::DoWork() (this=0x7fffd81fed50) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_loop.cc:456 #24 0x00007ffff17a9184 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) (this=0x7fffddf66820, delegate=0x7fffd81fed50) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_pump_default.cc:34 #25 0x00007ffff17a901b in MessageLoop::Run() (this=0x7fffd81fed50) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_loop.cc:226 #26 0x00007ffff17a901b in MessageLoop::Run() (this=this@entry=0x7fffd81fed50) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/message_loop.cc:200 #27 0x00007ffff17b0174 in base::Thread::ThreadMain() (this=0x7fffddf667c0) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/thread.cc:170 #28 0x00007ffff17add00 in ThreadFunc(void*) (closure=<optimized out>) at /build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base/platform_thread_posix.cc:39 #29 0x00007ffff7bc26aa in start_thread (arg=0x7fffd81ff700) at pthread_create.c:333 #30 0x00007ffff70dceed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Sounds like bug 84252.
I have tested with the Radeon driver using both DRI2 and DRI3 btw, it happens in both cases. The backtraces are when using DRI2.
(In reply to Ernst Sjöstrand from comment #5) > The backtraces are when using DRI2. What do you mean by that? As you pointed out yourself in comment #3, that backtrace is clearly from running with DRI3 enabled.
I can't seem to reproduce this (with radeonsi). Does it still happen with libxcb 1.11.1 or newer, and current versions of Mesa and xserver?
Looks like 1.11.1 is in Ubuntu Xenial, should be easy to test on Wily also...
Fixed!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.