Bug 47160

Summary: r600: XServer crash on Fusion system when xf86-video-ati compiled via clang
Product: xorg Reporter: Johannes Obermayr <johannesobermayr>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: tk
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log
none
valgrind output
none
Fix radeon kms with clang none

Description Johannes Obermayr 2012-03-09 09:32:16 UTC
Created attachment 58244 [details]
Xorg.0.log

Trying to boot the system. When X system becomes loaded screen is flickering and XServer crashes.
Comment 1 Alex Deucher 2012-03-09 09:35:56 UTC
Can you install debugging symbols and get a proper backtrace with gdb (http://wiki.x.org/wiki/Development/Documentation/ServerDebugging)?  Also please attach your dmesg output.
Comment 2 Johannes Obermayr 2012-03-09 12:30:45 UTC
Created attachment 58249 [details]
valgrind output

gdb doesn't provide a backtrace.

Maybe valgrind output helps.
Comment 3 Michel Dänzer 2012-03-10 01:27:52 UTC
(In reply to comment #2)
> gdb doesn't provide a backtrace.

Why not? How exactly did you try to get it?


> Maybe valgrind output helps.

I'm afraid not; I don't see anything obviously wrong in there.


I haven't been able to reproduce such a crash on any of my machines, so we really will need to see a better backtrace.
Comment 4 Johannes Obermayr 2012-03-10 02:19:35 UTC
I recompiled xf86-video-ati via gcc and it works again. So there is sth. wrong in clang compiled code.

To gather the backtrace I patched the XServer:
https://build.opensuse.org/package/view_file?file=Use-external-tool-for-creating-backtraces-on-crashes.patch&package=xorg-x11-server&project=openSUSE%3A12.1

So it uses xorg-backtrace [and gdb]:
https://build.opensuse.org/package/view_file?file=xorg-backtrace&package=xorg-x11-server&project=openSUSE%3A12.1

The output is then also written to /var/log/Xorg.0.log ...

But it does not provide a backtrace, too. :(
Comment 5 Christiano Farina Haesbaert 2013-11-30 16:45:19 UTC
Created attachment 90030 [details] [review]
Fix radeon kms with clang

I had the same problem, machine would segfault with Xorg if compiled with clang on a Radeon HD6770. Compiling it with O0 would fix it, as well as using gcc.

I went over the two clang warnings and fixed it, now it works fine with clang.
Comment 6 Thomas Klausner 2016-01-06 14:52:08 UTC
I think this is fixed with
http://cgit.freedesktop.org/xorg/xserver/commit/?id=63f83d1b7f496d05b409352749cdb6674d71cf80

Please test!
Comment 7 Martin Peres 2019-11-19 07:33:38 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/xorg/driver/xf86-video-ati/issues/28.

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.