From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 90202] Firefox nightly hangs with accelerated layers and latest
r600 driver
Date: Mon, 27 Apr 2015 19:16:22 +0000
Message-ID:
Bug ID
90202
Summary
Firefox nightly hangs with accelerated layers and latest r600 driver
Product
Mesa
Version
git
Hardware
Other
OS
All
Status
NEW
Severity
normal
Priority
medium
Component
Drivers/Gallium/r600
Assignee
dri-devel@lists.freedesktop.org
Reporter
ernstp@gmail.com
QA Contact
dri-devel@lists.freedesktop.org
(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]<=
/a>
bt full
Created attachment 115385 [details]
thread apply all bt
I guess this is the GL related stuff in the backtrace. Somethi=
ng 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=3Dc@entry=3D0x7ffff6bde000,
cond=3Dcond@entry=3D0x7fffc7c841c8, vector=3Dvector@entry=3D0x0, co=
unt=3Dcount@entry=3D0x0)
at ../../src/xcb_conn.c:415
#2 0x00007fffea88cf91 in xcb_wait_for_special_event (c=3D0x7ffff6bde000,
se=3D0x7fffc7c841a0) at ../../src/xcb_in.c:715
#3 0x00007fffcd6b140d in dri3_find_back (c=3D0x7ffff6bde000,
priv=3D0x7fffc7c4e4f0) at ../../../../src/glx/dri3_glx.c:1263
#4 0x00007fffcd6b1b3c in dri3_get_buffer (format=3D4099,
buffer_type=3Ddri3_buffer_back, loaderPrivate=3D0x7fffc7c4e4f0,
driDrawable=3D<optimized out>) at ../../../../src/glx/dri3_glx.c:1289
#5 0x00007fffcd6b2798 in dri3_get_buffers (driDrawable=3D<optimized out=
>,
format=3D4099, stamp=3D0x7fffcec457c0, loaderPrivate=3D0x7fffc7c4e4f0,
buffer_mask=3D<optimized out>, buffers=3D0x7fffd81fe410) at
../../../../src/glx/dri3_glx.c:1466
#6 0x00007fffcba4dbd0 in dri2_allocate_textures (ctx=3D0x7fffcd981ce0,
drawable=3D0x7fffcec457c0, statts=3D0x7fffc7d81448, statts_count=3D2) at
../../../../../../src/gallium/state_trackers/dri/dri2.c:278
#7 0x00007fffcba4af05 in dri_st_framebuffer_validate (stctx=3D<optimize=
d out>,
stfbi=3D<optimized out>, statts=3D0x7fffc7d81448, count=3D2, out=3D0x=
7fffd81fe5a0) at
../../../../../../src/gallium/state_trackers/dri/dri_drawable.c:83
#8 0x00007fffcb97ea6e in st_framebuffer_validate (stfb=3D0x7fffc7d81000,
st=3D0x7fffc7c60000) at ../../../../src/mesa/state_tracker/st_manager.c:200
#9 0x00007fffcb9800a8 in st_manager_validate_framebuffers (st=3D0x7fffc7c6=
0000)
at ../../../../src/mesa/state_tracker/st_manager.c:863
#10 0x00007fffcb94e73e in st_validate_state (st=3D0x7fffc7c60000) at
../../../../src/mesa/state_tracker/st_atom.c:181
#11 0x00007fffcb955583 in st_Clear (ctx=3D0x7fffc7c24000, mask=3D18) at
../../../../src/mesa/state_tracker/st_cb_clear.c:463
#12 0x00007ffff1b9414d in mozilla::gl::GLContext::fClear(unsigned int)
(this=3D0x7fffc7c69000, mask=3D<optimized out>) at
../../dist/include/GLContext.h:956
#13 0x00007ffff1b9414d in mozilla::gl::GLContext::fClear(unsigned int)
(this=3D0x7fffc7c69000, mask=3D<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=3D0x7fffc=
ec45400,
aInvalidRegion=3D..., aClipRectIn=3D0x0, aRenderBounds=3D...,
aClipRectOut=3D0x7fffd81fe890, aRenderBoundsOut=3D<optimized out>)
at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/opengl/Com=
positorOGL.cpp:664
#15 0x00007ffff1b8977b in mozilla::layers::LayerManagerComposite::Render()
(this=3Dthis@entry=3D0x7fffd13c6ed0) 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=3D0x7fffd13c6ed0,
aCallback=3D<optimized out>, aCallbackData=3D<optimized out>, a=
Flags=3D<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=3D<optimized out>,
aFlags=3DaFlags@entry=3Dmozilla::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::DrawTarg=
et*,
mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const*)
(this=3D0x7fffcda28400, aTarget=3DaTarget@entry=3D0x0, aRect=3DaRect=
4;entry=3D0x0)
at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/Compos=
itorParent.cpp:1040
---Type <return> to continue, or q <return> to quit---
#19 0x00007ffff1b8ffe2 in
mozilla::layers::CompositorParent::CompositeCallback(mozilla::TimeStamp)
(this=3D<optimized out>, aScheduleTime=3D...) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/Compos=
itorParent.cpp:952
#20 0x00007ffff1b90061 in
mozilla::layers::CompositorVsyncObserver::Composite(mozilla::TimeStamp)
(this=3D0x7fffcdac6550, aVsyncTimestamp=3D...) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/gfx/layers/ipc/Compos=
itorParent.cpp:339
#21 0x00007ffff17a8fa1 in MessageLoop::RunTask(Task*) (this=3D0x7fffd81fed5=
0,
task=3D0x7fffadcff7c0) 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=3D<optimized out>, pending_task=3D...) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base=
/message_loop.cc:369
#23 0x00007ffff17ac917 in MessageLoop::DoWork() (this=3D0x7fffd81fed50) 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=3D0x7fffddf66820, delegate=3D0x7fffd81fed50) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base=
/message_pump_default.cc:34
#25 0x00007ffff17a901b in MessageLoop::Run() (this=3D0x7fffd81fed50) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base=
/message_loop.cc:226
#26 0x00007ffff17a901b in MessageLoop::Run() (this=3Dthis@entry=3D0x7ff=
fd81fed50)
at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base=
/message_loop.cc:200
#27 0x00007ffff17b0174 in base::Thread::ThreadMain() (this=3D0x7fffddf667c0=
) at
/build/buildd/firefox-trunk-40.0~a1~hg20150422r240313/ipc/chromium/src/base=
/thread.cc:170
#28 0x00007ffff17add00 in ThreadFunc(void*) (closure=3D<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=3D0x7fffd81ff700) at
pthread_create.c:333
#30 0x00007ffff70dceed in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
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=C3=B6strand 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...
| What | Removed | Added |
|---|---|---|
| Resolution | --- | FIXED |
| Status | NEW | RESOLVED |