Bug 93706

Summary: Xorg freeze when running 3d app (Guild Wars 2) on RV620
Product: Mesa Reporter: Lukáš Krejza <gryffus>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=92912
https://bugs.freedesktop.org/show_bug.cgi?id=83319
https://bugs.freedesktop.org/show_bug.cgi?id=83285
https://bugs.freedesktop.org/show_bug.cgi?id=86720
https://bugs.freedesktop.org/show_bug.cgi?id=88263
https://bugs.freedesktop.org/show_bug.cgi?id=91865
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg after the screen freezes
dmesg after the screen freezes 2
Xorg.0.log after the screen freezes
Wine log
dmesg with R600_DEBUG=nohyperz R600_DEBUG=nosb gsraytrace
xorg log with R600_DEBUG=nohyperz R600_DEBUG=nosb gsraytrace
apitrace
Crash dump with apitrace on sandybridge
Output from apitrace when replaying the trace

Description Lukáš Krejza 2016-01-14 09:01:19 UTC
Created attachment 121016 [details]
dmesg after the screen freezes

When i try to run Guild Wars 2, the X screen freezes (i can move the mouse and i can hear sounds, but X is otherwise frozen)
I'm adding dmesg logs. If you need anything more, please request.
Comment 1 Lukáš Krejza 2016-01-14 09:18:20 UTC
Created attachment 121017 [details]
dmesg after the screen freezes 2
Comment 2 Lukáš Krejza 2016-01-14 09:18:54 UTC
Created attachment 121018 [details]
Xorg.0.log after the screen freezes
Comment 3 Lukáš Krejza 2016-01-14 09:19:22 UTC
Created attachment 121019 [details]
Wine log
Comment 4 Lukáš Krejza 2016-01-14 10:11:45 UTC
Maybe duplicate of some other bug?
I get also freeze with gsraytrace, so it could be duplicate of https://bugs.freedesktop.org/show_bug.cgi?id=83319 (or some other that i added to "See Also")
Comment 5 Lukáš Krejza 2016-01-14 10:34:58 UTC
Created attachment 121020 [details]
dmesg with R600_DEBUG=nohyperz R600_DEBUG=nosb gsraytrace

With R600_DEBUG=nohyperz R600_DEBUG=nosb, gsraytrace also freezes the GPU
Comment 6 Lukáš Krejza 2016-01-14 10:35:46 UTC
Created attachment 121021 [details]
xorg log with R600_DEBUG=nohyperz R600_DEBUG=nosb gsraytrace

With R600_DEBUG=nohyperz R600_DEBUG=nosb, gsraytrace also freezes the GPU
Comment 7 Lukáš Krejza 2016-01-14 10:50:12 UTC
Created attachment 121022 [details]
apitrace

I'm able to reproduce the freeze/GPU lockup using this trace
Comment 8 Lukáš Krejza 2016-01-14 10:54:44 UTC
Some more info:

Mesa git
Kernel 4.4
X server 1.18.0
Comment 9 Scott Moreau 2016-01-14 11:19:49 UTC
Created attachment 121024 [details]
Crash dump with apitrace on sandybridge

(In reply to Lukáš Krejza from comment #7)
> Created attachment 121022 [details]
> apitrace
> 
> I'm able to reproduce the freeze/GPU lockup using this trace

I am also able reproduce with this trace on intel sandybridge but it recovers successfully. The crash dump attachment is from /sys/class/drm/card0/error

Mesa git
Kernel 4.4.0
X server 1.17.2
Intel Sandybridge
Comment 10 Dieter Nützel 2016-01-14 16:29:27 UTC
(In reply to Lukáš Krejza from comment #4)
> Maybe duplicate of some other bug?
> I get also freeze with gsraytrace, so it could be duplicate of
> https://bugs.freedesktop.org/show_bug.cgi?id=83319 (or some other that i
> added to "See Also")

Hello Lukáš,

as you own a
Radeon HD 3400
RV620

'semilar' to my RV730
the 'gsraytrace' GPU hang is NOT soveld with current GIT.
I'll update my bug report (Bug 83319), soon.

For EG+ (Bug 91865) this is _fixed_ by 'accident' in Mesa git since:

commit 2239f3eaff5c72c4cb1d4a5be97feb4af3d08d25
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Nov 30 15:48:22 2015 +1000

    r600/shader: emit tessellation factors to GDS at end of TCS.
    
    When we are finished the shader, we read back all the tess factors
    from LDS and write them to special global memory storage using
    GDS instructions.
    
    This also handles adding NOP when GDS or ENDLOOP end the TCS.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

I'll have to talk with Dave and Marek what is different for R600/R700 and EG+ and what should I try next.
Comment 11 Lukáš Krejza 2016-01-14 22:05:21 UTC
Created attachment 121050 [details]
Output from apitrace when replaying the trace

I have tried to replay the trace with nouveau and it did not crash and produced attached output.
Comment 12 Dieter Nützel 2016-01-15 00:59:06 UTC
(In reply to Lukáš Krejza from comment #11)
> Created attachment 121050 [details]
> Output from apitrace when replaying the trace
> 
> I have tried to replay the trace with nouveau and it did not crash and
> produced attached output.

How do you did it?

If I run it on NI/Turks XT (HD 6670) for which 'gsraytrace' is fixed, it terminates in
fractions of a second and print nothing.

apitrace replay gsraytrace.trace
Rendered 0 frames in 0.101416 secs, average of 0 fps
Comment 13 Michel Dänzer 2016-01-15 01:17:13 UTC
It's better to assume for now that the Guild Wars 2 and gsraytrace hangs are caused by different problems. Please keep the gsraytrace related discussion on the existing report(s) about that, in order not to clutter up this report.
Comment 14 GitLab Migration User 2019-09-18 19:20:47 UTC
-- 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/mesa/mesa/issues/569.

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.