https://bugs.freedesktop.org/show_bug.cgi?id=90523
Bug ID: 90523 Summary: Easily reproducible GPU lockup (verde) with any mesa 10.5.x Product: Mesa Version: 10.5 Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: acab@digitalfuture.it QA Contact: dri-devel@lists.freedesktop.org
A few seconds into certain games the GPU locks up and X crashes. The same happens (albeit not as quickly) under other circumstances like playing a video in a browser. Last known good configuration is mesa 10.4.6. Known bad configurations: 10.5.1, 10.5.2, 10.5.4, 10.5.5.
Are there any steps to follow to help diagnose the issue?
https://bugs.freedesktop.org/show_bug.cgi?id=90523
acab@digitalfuture.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|Other |x86-64 (AMD64) OS|All |Linux (All)
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #1 from Alex Deucher alexdeucher@gmail.com --- Please attach your xorg log and dmesg output.
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #2 from acab@digitalfuture.it --- I am sorry, but while trying to get a crash I've realized it's not mesa. The culprit appears to be llvm.
In short: llvm 3.5.2 + mesa 10.5.5 -> ok llvm 3.6.0 + mesa 10.5.5 -> lockup
I'm going to attach the logs anyway. Feel free to close this bug if it doesn't belong in here.
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #3 from acab@digitalfuture.it --- Created attachment 115900 --> https://bugs.freedesktop.org/attachment.cgi?id=115900&action=edit dmesg
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #4 from acab@digitalfuture.it --- Created attachment 115901 --> https://bugs.freedesktop.org/attachment.cgi?id=115901&action=edit xorg.log
https://bugs.freedesktop.org/show_bug.cgi?id=90523
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #115900|text/plain |application/gzip mime type| |
https://bugs.freedesktop.org/show_bug.cgi?id=90523
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #115901|text/plain |application/gzip mime type| |
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #5 from Michel Dänzer michel@daenzer.net --- Can you try isolating the LLVM change introducing it with git bisect? Note that this might require some tweaking because current Mesa might fail to build against some development snapshots of LLVM.
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #6 from acab@digitalfuture.it --- (In reply to Michel Dänzer from comment #5)
Can you try isolating the LLVM change introducing it with git bisect? Note that this might require some tweaking because current Mesa might fail to build against some development snapshots of LLVM.
Yes I could, however upsteam appears to maintain llvm in svn. There is a git repository as well but it lacks branches and tags.
Additionally the branch history doesn't look very linear and so far i've failed to match the proper commit from the branch in master. For example the top commit in http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_352/final is: ------------------------------------------------------------------------ r214336 | rafael.espindola | 2014-07-30 17:04:00 -0400 (Wed, 30 Jul 2014) | 9 lines
SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics.
Which appears to match commit 7fef5a3d1907c813712fcb2a44d8187a65ba08cd: Author: Rafael Espindola rafael.espindola@gmail.com Date: Wed Jul 30 21:04:00 2014 +0000
SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics.
However mesa 10.5.5 doesn't build against that llvm (doesn't like TM->getSubtargetImpl()->getInstrInfo() in lp_bld_debug.cpp), but it does build against 3.5.2.
Can you suggest some commit ids i could use as good and bad markers?
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #7 from Michel Dänzer michel@daenzer.net --- (In reply to acab from comment #6)
Yes I could, however upsteam appears to maintain llvm in svn. There is a git repository as well but it lacks branches and tags.
The Git repository at http://llvm.org/git/llvm.git does have the release branches. Also, the SVN revision number is included in the Git commit log, so it's easy to find the Git commit corresponding to a given SVN revision e.g. in gitk.
r214336 | rafael.espindola | 2014-07-30 17:04:00 -0400 (Wed, 30 Jul 2014) | 9 lines
SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics.
Which appears to match commit 7fef5a3d1907c813712fcb2a44d8187a65ba08cd: [...] However mesa 10.5.5 doesn't build against that llvm (doesn't like TM->getSubtargetImpl()->getInstrInfo() in lp_bld_debug.cpp), but it does build against 3.5.2.
7fef5a3d1907c813712fcb2a44d8187a65ba08cd is on the master branch. The corresponding commit on the release_35 branch is a4cf325e41fca33c7ce7deef39a7bcf25fb38266.
However, as I mentioned before, you most likely will run into more similar issues during the bisection, because Mesa can only test for minor versions of LLVM, not for individual revisions. You may need to tweak the Mesa code to make it build in some cases.
https://bugs.freedesktop.org/show_bug.cgi?id=90523
--- Comment #8 from acab@digitalfuture.it --- Bisecting across llvm major releases was a total pain in the arse, but then I've realized that the bug was fixed recently in the 3.6 branch so I've given up.
If it helps, i can tell you that the bug was fixed here (mind you good and bad are reversed): $ git bisect good b5344bfff41583c00026e321d6831d4e8790b309 is the first bad commit commit b5344bfff41583c00026e321d6831d4e8790b309 Author: Tom Stellard thomas.stellard@amd.com Date: Mon May 4 19:50:17 2015 +0000
Merging r236307:
------------------------------------------------------------------------ r236307 | thomas.stellard | 2015-04-30 23:44:09 -0400 (Thu, 30 Apr 2015) | 4 lines
R600/SI: Add VCC as an implict def of SI_KILL
When SI_KILL has a register operand, its lowered form writes to vcc.
------------------------------------------------------------------------
Feel free to close the bug. Thanks.
https://bugs.freedesktop.org/show_bug.cgi?id=90523
Tom Stellard tstellar@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
dri-devel@lists.freedesktop.org