[Bug 93800] xfwm4 with compositing hangs indefinitely after after coming back from dpms off

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jan 20 10:26:29 PST 2016


https://bugs.freedesktop.org/show_bug.cgi?id=93800

            Bug ID: 93800
           Summary: xfwm4 with compositing hangs indefinitely after after
                    coming back from dpms off
           Product: DRI
           Version: XOrg git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: DRM/Radeon
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: h.judt at gmx.at

Created attachment 121158
  --> https://bugs.freedesktop.org/attachment.cgi?id=121158&action=edit
Xorg.0.log

I'm not sure whether this belongs to mesa or xf86-video-ati or somewhere else,
so I'll simply state the problem:

Steps to reproduce:
1) Start xfwm4 (latest git from master), which uses opengl for vsyncing to
avoid screen tearing.
2) xset dpms force off; sleep 3; xset dpms force on

This alone is enough to make xfwm4 hang indefinitely. I've attached gdb to the
xfwm4 process and got this backtrace:

Program received signal SIGINT, Interrupt.
0x00007f7584ffd50d in poll () at ../sysdeps/unix/syscall-template.S:84
84      in ../sysdeps/unix/syscall-template.S
#0  0x00007f7584ffd50d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f75846f8ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7ffc8e0e2a80)
at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c at entry=0x10fd820, cond=cond at entry=0x1447f88,
vector=vector at entry=0x0, count=count at entry=0x0) at
/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f75846fa7f9 in xcb_wait_for_special_event (c=0x10fd820,
se=0x1447f60) at
/var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:789
#4  0x00007f75817ef6db in dri3_wait_for_event (draw=draw at entry=0x1447608) at
/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/loader/loader_dri3_helper.c:280
#5  0x00007f75817efa78 in loader_dri3_wait_for_msc (draw=0x1447608,
target_msc=<optimized out>, divisor=<optimized out>, remainder=<optimized out>,
ust=0x7ffc8e0e2cb8, msc=0x7ffc8e0e2cc0, sbc=0x7ffc8e0e2cd0)
    at
/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/loader/loader_dri3_helper.c:314
#6  0x00007f75817ea8f1 in dri3_wait_for_msc (pdraw=<optimized out>,
target_msc=<optimized out>, divisor=<optimized out>, remainder=<optimized out>,
ust=<optimized out>, msc=<optimized out>, sbc=0x7ffc8e0e2cd0)
    at
/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/glx/dri3_glx.c:389
#7  0x00000000004170a9 in wait_glx_vblank (screen_info=0x1216df0) at
compositor.c:1424
#8  paint_all (buffer=<optimized out>, region=<optimized out>,
screen_info=0x1216df0) at compositor.c:2202
#9  repair_screen (screen_info=<optimized out>) at compositor.c:2318
#10 compositor_timeout_cb (data=0x1216df0, data at entry=<error reading variable:
value has been optimized out>) at compositor.c:2335
#11 0x00007f7585f66643 in g_timeout_dispatch (source=0x14ee290,
callback=<optimized out>, user_data=<optimized out>) at
/var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:4577
#12 0x00007f7585f65bad in g_main_dispatch (context=0x1129e70) at
/var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3154
#13 g_main_context_dispatch (context=context at entry=0x1129e70) at
/var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3769
#14 0x00007f7585f65f80 in g_main_context_iterate (context=0x1129e70,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at
/var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3840
#15 0x00007f7585f662a2 in g_main_loop_run (loop=0x148f2e0) at
/var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:4034
#16 0x00007f758744b137 in IA__gtk_main () at
/var/tmp/portage/x11-libs/gtk+-2.24.29/work/gtk+-2.24.29/gtk/gtkmain.c:1268
#17 0x000000000040d5d4 in main (argc=1, argv=0x7ffc8e0e3178) at main.c:686


Note this problem does not occur on another graphics card (sandybridge,
haswell). I've tried to reproduce it using compiz, but it didn't happen that
way (maybe it wasn't using vsync, don't know).

Here are the xorg settings:
Section "Device"
    Identifier  "ATI Radeon R9 390"
    Driver      "radeon"
    Option      "DRI3" "on"
    Option      "ColorTiling" "on"
    Option      "SwapbuffersWait" "on"
    Option      "EnablePageFlip" "on"
    Option      "ColorTiling2D" "on"
EndSection

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20160120/8cdcda46/attachment.html>


More information about the dri-devel mailing list