Bug 91527 - 7870 radeon crashes after kernel msg drm:radeon_mn_invalidate_range_start
Summary: 7870 radeon crashes after kernel msg drm:radeon_mn_invalidate_range_start
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-02 03:36 UTC by JATothrim
Modified: 2015-09-03 14:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
dmesg log (151.25 KB, text/plain)
2015-08-03 22:59 UTC, JATothrim
no flags Details
Xorg.0.log (64.89 KB, text/plain)
2015-08-03 23:08 UTC, JATothrim
no flags Details
Maybe fix? (1.89 KB, patch)
2015-08-05 23:39 UTC, JATothrim
no flags Details | Splinter Review

Description JATothrim 2015-08-02 03:36:12 UTC
On my case is is a severe bug preventing me from playing games on dolphin.

System: Linux Mint 17.3 using kernel 3.18.19 and oibaf graphics drivers ppa
100% reproducible in my system, happens always:
-Start dolphin 4.+ GCN emulator and play a minute e.g. Super Mario Sunshine.
-Close emulator window: kernel crashes soon after outputting 1-5 lines of:
Jul 31 22:43:47   kernel: [ 6008.091188] [drm:radeon_mn_invalidate_range_start] *ERROR* (-1) failed to wait for user bo
Jul 31 22:43:47   kernel: [ 6008.092895] [drm:radeon_mn_invalidate_range_start] *ERROR* (-1) failed to wait for user bo

inxi -Gxx output:
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Pitcairn XT [Radeon HD 7870 GHz Edition] bus-ID: 01:00.0 chip-ID: 1002:6818 
           X.Org: 1.15.1 driver: radeon Resolution: 1920x1080@60.0hz, 1680x1050@60.0hz 
           GLX Renderer: Gallium 0.4 on AMD PITCAIRN GLX Version: 3.0 Mesa 11.0.0-devel (git-4d7e0fa 2015-08-01 trusty-oibaf-ppa) Direct Rendering: Yes

PS: plz. be nice - this is my first bug report on here.
Comment 1 Alex Deucher 2015-08-03 14:06:24 UTC
Please attach your xorg log and dmesg output.
Comment 2 JATothrim 2015-08-03 22:59:43 UTC
Created attachment 117497 [details]
dmesg log
Comment 3 JATothrim 2015-08-03 23:08:53 UTC
Created attachment 117498 [details]
Xorg.0.log

It was hard to catch the dmesg and Xorg log because soon as I close the Dolphin emu the system hard freezes --> no data synced.
Note that after the kernel prints those last lines the the bug is just triggered - after I close the Dolphin main window does the crash occurs.

If some one is interested I have kdump data of the system. Thanks to my kexec dump kernel. :)
Comment 4 JATothrim 2015-08-05 23:39:11 UTC
Created attachment 117555 [details] [review]
Maybe fix?

I searched Vanilla kernel git logs/patches and found this patch.
I hope it could fix the kernel crash on kernel 3.18.x series. I'm testing the patch now.
Comment 5 JATothrim 2015-08-13 17:41:23 UTC
I did more research and I was able to capture full kernel crash dump.

Debugging the crashdump I found that The kernel dies at kernel version v3.18.19 in src lines: drivers/gpu/drm/radeon/radeon_mn.c:75 or drivers/gpu/drm/radeon/radeon_mn.c:76 on to NULL ptr dereference.
At both code lines the kernel tries to lock a mutex apparently. I don't know exactly which one fails as I'm no expert debugging x86-64 assembly.
Comment 6 Christian König 2015-08-13 18:15:58 UTC
Well have you tested this with the current upstream kernel? E.g. 4.1 or a recent rc of 4.2?

That's usually the first thing you should to to figure out if newer kernels are already fixed.
Comment 7 JATothrim 2015-09-03 14:43:14 UTC
(In reply to Christian König from comment #6)
> Well have you tested this with the current upstream kernel? E.g. 4.1 or a
> recent rc of 4.2?
> 
> That's usually the first thing you should to to figure out if newer kernels
> are already fixed.

Phew. I finally managed to compile/test newer kernel v4.2 and this bug is fixed! :) Yay!
My tip for radeon 7870 owners: if your screen freezes and turns into a weird rainbow mess try kernel v4.2.


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.