Summary: | X Freeze while rendering video with multiple displays and TearFree enabled | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Charlotte Manning <charlotte0m> | ||||||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||||||
Status: | RESOLVED MOVED | QA Contact: | |||||||||
Severity: | normal | ||||||||||
Priority: | medium | CC: | julien.isorce, n770galaxy | ||||||||
Version: | unspecified | ||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Description
Charlotte Manning
2016-11-08 22:37:52 UTC
Does the problem also occur with DRI3 enabled? Does it still happen with current xf86-video-ati Git master? Yes, it occurs with DRI3 enabled and with last week master of xf86-video-ati. I'll double check again tomorrow. Tried again with xf86-video-ati master and DRI3 with similar results. Application stack strace: #0 0x00007fcbeb83eb5d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fcbe840ec62 in poll (__timeout=-1, __nfds=1, __fds=0x7ffe81b03b80) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0x32fb8b0, cond=cond@entry=0x3314dd8, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459 #3 0x00007fcbe84109a9 in xcb_wait_for_special_event (c=0x32fb8b0, se=0x3314db0) at ../../src/xcb_in.c:789 #4 0x00007fcbedab16b7 in dri3_find_back (draw=draw@entry=0x3313838) at ../../../src/loader/loader_dri3_helper.c:380 #5 0x00007fcbedab2460 in dri3_get_buffer (driDrawable=<optimized out>, draw=0x3313838, buffer_type=loader_dri3_buffer_back, format=4099) at ../../../src/loader/loader_dri3_helper.c:1193 #6 loader_dri3_get_buffers (driDrawable=<optimized out>, format=4099, stamp=0x3314f70, loaderPrivate=0x3313838, buffer_mask=<optimized out>, buffers=0x7ffe81b03dd0) at ../../../src/loader/loader_dri3_helper.c:1370 #7 0x00007fcbde5372b3 in dri_image_drawable_get_buffers (statts_count=<optimized out>, statts=<optimized out>, images=<optimized out>, drawable=<optimized out>) at ../../../../../src/gallium/state_trackers/dri/dri2.c:279 #8 dri2_allocate_textures (ctx=0x33e1310, drawable=0x3314f70, statts=0x34d5cd0, statts_count=2) at ../../../../../src/gallium/state_trackers/dri/dri2.c:402 #9 0x00007fcbde533f9c in dri_st_framebuffer_validate (stctx=<optimized out>, stfbi=<optimized out>, statts=0x34d5cd0, count=2, out=0x7ffe81b03f60) at ../../../../../src/gallium/state_trackers/dri/dri_drawable.c:83 #10 0x00007fcbde45a3be in st_framebuffer_validate (stfb=0x34d5870, st=st@entry=0x34cdae0) at ../../../src/mesa/state_tracker/st_manager.c:202 #11 0x00007fcbde45b680 in st_api_make_current (stapi=<optimized out>, stctxi=0x34cdae0, stdrawi=0x3314f70, streadi=0x3314f70) at ../../../src/mesa/state_tracker/st_manager.c:783 #12 0x00007fcbde533a71 in dri_make_current (cPriv=<optimized out>, driDrawPriv=0x33e0c60, driReadPriv=0x33e0c60) at ../../../../../src/gallium/state_trackers/dri/dri_context.c:245 #13 0x00007fcbde532a46 in driBindContext (pcp=<optimized out>, pdp=<optimized out>, prp=<optimized out>) at ../../../../../../src/mesa/drivers/dri/common/dri_util.c:532 #14 0x00007fcbedaace9a in dri3_bind_context (context=0x33152b0, old=<optimized out>, draw=<optimized out>, read=<optimized out>) at ../../../src/glx/dri3_glx.c:214 #15 0x00007fcbeda803b5 in MakeContextCurrent (dpy=0x32fa660, draw=draw@entry=2097155, read=read@entry=2097155, gc_user=gc_user@entry=0x33152b0) at ../../../src/glx/glxcurrent.c:228 X Server stack trace: #0 0x00007faf254b59e3 in select () at ../sysdeps/unix/syscall-template.S:84 #1 0x000055dadffb0807 in WaitForSomething (pClientsReady=pClientsReady@entry=0x55dae09a9000) at ../../os/WaitFor.c:227 #2 0x000055dadfe54b8e in Dispatch () at ../../dix/dispatch.c:359 #3 0x000055dadfe58dd3 in dix_main (argc=5, argv=0x7fff4ccafac8, envp=<optimized out>) at ../../dix/main.c:300 #4 0x00007faf253d9830 in __libc_start_main (main=0x55dadfe43010 <main>, argc=5, argv=0x7fff4ccafac8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff4ccafab8) at ../csu/libc-start.c:291 #5 0x000055dadfe43049 in _start () Created attachment 127866 [details]
X Server log with xf86-video-ati master and DRI3
Created attachment 127885 [details]
Script to build mesa an x server from master
We had built mesa and X server master branches with this script and issue is also reproducible.
As per discussion in IRC we tried with radeon.msi=0 and this seems to solve the problem. But this leads to think that the root cause of the problem is in the kernel driver and needs to be addressed there. MSI problems tend to be platform problems. What system is this? What system chipset? It's most often reproduced in the Dell T5600 systems with "Intel Corporation C600/X79 series chipset" and FirePro W9000. But we also reproduced it few other systems based on chipset "Intel Corporation C610/X99 series chipset" and FirePro W600. Not reproducible so far with an Intel Skylake system, Asus Z170 Pro gaming motherboard, with FirePro W600. In the Dell T5600 the issue becomes hidden with the drm debug enabled in the following way. echo 0xf > /sys/module/drm/parameters/debug It's still triggered with 0xe instead of 0xf. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/753. |
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.