Bug 237544 - graphics/drm-fbsd12.0-kmod: panic on 12-STABLE with Radeon HD 7450 (but not with drm-fbsd11.2-kmod)
Summary: graphics/drm-fbsd12.0-kmod: panic on 12-STABLE with Radeon HD 7450 (but not w...
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.0-STABLE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-x11 mailing list
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2019-04-25 03:09 UTC by sigsys
Modified: 2019-07-14 22:23 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sigsys 2019-04-25 03:09:23 UTC
I have a computer with a Radeon HD 7450 that panics when using the drm-fbsd12.0-kmod driver but works OK with the drm-fbsd11.2-kmod one.  It usually takes a few days to panic (after which I revert it to the older kmod).  Can't tell if it's doing something in particular that triggers it (but that's with browsers and media players always opened).  It did this under 12.0-RELEASE as well.  I tried the newer kmod after upgrading to 12-STABLE to see if that fixed it, but it still panics.

That's with radeonkms. amdgpu doesn't work with it (loading it does not recognize any video card it seems).  I did not have the xf86-video-ati or xf86-video-amdgpu Xorg drivers installed.  I take it they are not needed anymore?

Also oddly enough the screen has a bright gray background after the module loads.  The text is still readable but very difficult to read. It fixes itself after starting Xorg (then switching back to a console VT has a black background).

[66314]
[66314]
[66314] Fatal trap 12: page fault while in kernel mode
[66314] cpuid = 3; apic id = 03
[66314] fault virtual address   = 0x0
[66314] fault code              = supervisor write data  , page not present
[66314] instruction pointer     = 0x20:0xffffffff8334d93c
[66314] stack pointer           = 0x28:0xfffffe004132b610
[66314] frame pointer           = 0x28:0xfffffe004132b640
[66314] code segment            = base rx0, limit 0xfffff, type 0x1b
[66314]                         = DPL 0, pres 1, long 1, def32 0, gran 1
[66314] processor eflags        = interrupt enabled, resume, IOPL = 3
[66314] current process         = 23751 (X:rcs0)
[66314] trap number             = 12
[66314] panic: page fault
[66314] cpuid = 3
[66314] time = 1555971829
[66314] KDB: stack backtrace:
[66314] db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe004132b2c0
[66314] vpanic() at vpanic+0x19d/frame 0xfffffe004132b310
[66314] panic() at panic+0x43/frame 0xfffffe004132b370
[66314] trap_fatal() at trap_fatal+0x394/frame 0xfffffe004132b3d0
[66314] trap_pfault() at trap_pfault+0x49/frame 0xfffffe004132b430
[66314] trap() at trap+0x29f/frame 0xfffffe004132b540
[66314] calltrap() at calltrap+0x8/frame 0xfffffe004132b540
[66314] --- trap 0xc, rip = 0xffffffff8334d93c, rsp = 0xfffffe004132b610, rbp = 0xfffffe004132b640 ---
[66314] ____rb_erase_color() at ____rb_erase_color+0x8c/frame 0xfffffe004132b640
[66314] drm_mm_remove_node() at drm_mm_remove_node+0x2bc/frame 0xfffffe004132b680
[66314] ttm_bo_man_put_node() at ttm_bo_man_put_node+0x3c/frame 0xfffffe004132b6a0
[66314] ttm_bo_cleanup_refs_or_queue() at ttm_bo_cleanup_refs_or_queue+0x202/frame 0xfffffe004132b6f0
[66314] ttm_bo_unref() at ttm_bo_unref+0x7e/frame 0xfffffe004132b720
[66314] radeon_bo_unref() at radeon_bo_unref+0x22/frame 0xfffffe004132b740
[66314] radeon_gem_object_free() at radeon_gem_object_free+0x1e/frame 0xfffffe004132b760
[66314] drm_gem_object_release_handle() at drm_gem_object_release_handle+0xd3/frame 0xfffffe004132b790
[66314] drm_gem_handle_delete() at drm_gem_handle_delete+0x8c/frame 0xfffffe004132b7d0
[66314] drm_ioctl_kernel() at drm_ioctl_kernel+0xf5/frame 0xfffffe004132b820
[66314] drm_ioctl() at drm_ioctl+0x27f/frame 0xfffffe004132b910
[66314] linux_file_ioctl() at linux_file_ioctl+0x298/frame 0xfffffe004132b970
[66314] kern_ioctl() at kern_ioctl+0x274/frame 0xfffffe004132b9e0
[66314] sys_ioctl() at sys_ioctl+0x15d/frame 0xfffffe004132bab0
[66314] amd64_syscall() at amd64_syscall+0x364/frame 0xfffffe004132bbf0
[66314] fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe004132bbf0
[66314] --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800cb560a, rsp = 0x7fffdfffddf8, rbp = 0x7fffdfffde20 ---
[66314] Uptime: 18h25m14s

I'll try again next time the driver gets updated.
Comment 1 sigsys 2019-04-28 09:12:26 UTC
I tried again with drm-fbsd12.0-kmod-4.16.g20190424, it still panics. Took 3 days this time. Now it's mentioning chrome.

[265338]
[265338]
[265338] Fatal trap 12: page fault while in kernel mode
[265338] cpuid = 0; apic id = 00
[265338] fault virtual address  = 0x4000023f8
[265338] fault code             = supervisor read data  , page not present
[265338] instruction pointer    = 0x20:0xffffffff831fd5b4
[265338] stack pointer          = 0x28:0xfffffe007d222180
[265338] frame pointer          = 0x28:0xfffffe007d2221b0
[265338] code segment           = base rx0, limit 0xfffff, type 0x1b
[265338]                        = DPL 0, pres 1, long 1, def32 0, gran 1
[265338] processor eflags       = interrupt enabled, resume, IOPL = 0
[265338] current process                = 69174 (chrome:rcs0)
[265338] trap number            = 12
[265338] panic: page fault
[265338] cpuid = 0
[265338] time = 1556434411
[265338] KDB: stack backtrace:
[265338] db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe007d221e30
[265338] vpanic() at vpanic+0x19d/frame 0xfffffe007d221e80
[265338] panic() at panic+0x43/frame 0xfffffe007d221ee0
[265338] trap_fatal() at trap_fatal+0x394/frame 0xfffffe007d221f40
[265338] trap_pfault() at trap_pfault+0x49/frame 0xfffffe007d221fa0
[265338] trap() at trap+0x29f/frame 0xfffffe007d2220b0
[265338] calltrap() at calltrap+0x8/frame 0xfffffe007d2220b0
[265338] --- trap 0xc, rip = 0xffffffff831fd5b4, rsp = 0xfffffe007d222180, rbp = 0xfffffe007d2221b0 ---
[265338] radeon_fence_signaled() at radeon_fence_signaled+0x34/frame 0xfffffe007d2221b0
[265338] radeon_sa_bo_new() at radeon_sa_bo_new+0x251/frame 0xfffffe007d222310
[265338] radeon_ib_get() at radeon_ib_get+0x2f/frame 0xfffffe007d222350
[265338] radeon_cs_ioctl() at radeon_cs_ioctl+0x25d/frame 0xfffffe007d2227d0
[265338] drm_ioctl_kernel() at drm_ioctl_kernel+0xf5/frame 0xfffffe007d222820
[265338] drm_ioctl() at drm_ioctl+0x27f/frame 0xfffffe007d222910
[265338] linux_file_ioctl() at linux_file_ioctl+0x298/frame 0xfffffe007d222970
[265338] kern_ioctl() at kern_ioctl+0x274/frame 0xfffffe007d2229e0
[265338] sys_ioctl() at sys_ioctl+0x15d/frame 0xfffffe007d222ab0
[265338] amd64_syscall() at amd64_syscall+0x364/frame 0xfffffe007d222bf0
[265338] fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe007d222bf0
[265338] --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x80db4e60a, rsp = 0x7fffdfffdeb8, rbp = 0x7fffdfffdee0 ---
[265338] KDB: enter: panic

I'll try to get a core dump next time and find out the line numbers.
Comment 2 sigsys 2019-07-07 18:50:19 UTC
Panic with the same card on a different computer running 12.0-STABLE r349799 GENERIC.  This time with drm-fbsd12.0-kmod-4.16.g20190624 and gpu-firmware-kmod-g20190620.  But seems to work well with drm-fbsd11.2-kmod-4.11g20190424 so far.


Fatal trap 12: page fault while in kernel mode
cpuid = 15; apic id = 0f
fault virtual address   = 0x5
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff82d6a559
stack pointer           = 0x28:0xfffffe00cfe091d8
frame pointer           = 0x28:0xfffffe00cfe09210
code segment            = base rx0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 3
current process         = 56502 (X:rcs0)
trap number             = 12
panic: page fault
cpuid = 15
time = 1562524377
KDB: stack backtrace:
#0 0xffffffff80c17707 at kdb_backtrace+0x67
#1 0xffffffff80bcb1ad at vpanic+0x19d
#2 0xffffffff80bcb003 at panic+0x43
#3 0xffffffff8109f4bc at trap_fatal+0x39c
#4 0xffffffff8109f509 at trap_pfault+0x49
#5 0xffffffff8109eaff at trap+0x29f
#6 0xffffffff81079bb5 at calltrap+0x8
#7 0xffffffff82cba6ba at radeon_cs_ioctl+0xa4a
#8 0xffffffff82db5ca6 at drm_ioctl_kernel+0xf6
#9 0xffffffff82db5f41 at drm_ioctl+0x281
#10 0xffffffff82df7d38 at linux_file_ioctl+0x298
#11 0xffffffff80c35867 at kern_ioctl+0x267
#12 0xffffffff80c3558d at sys_ioctl+0x15d
#13 0xffffffff810a0074 at amd64_syscall+0x364
#14 0xffffffff8107a49d at fast_syscall_common+0x101
Uptime: 8h37m13s
Comment 3 Niclas Zeising freebsd_committer 2019-07-10 08:53:23 UTC
Is this still an issue?
Can you report this on our github, https://github.com/FreeBSDDesktop/kms-drm , and link the issue here?
Thanks!
Comment 4 Ivan 2019-07-11 01:30:10 UTC
(In reply to Niclas Zeising from comment #3)
https://github.com/FreeBSDDesktop/kms-drm/issues/130