NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: kern/60926: amdgpu triggers assert in ww_mutex, disabling makes it mostly stable (raven ridge)
The following reply was made to PR kern/60926; it has been noted by GNATS.
From: matthew green <mrg%eterna23.net@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: re: kern/60926: amdgpu triggers assert in ww_mutex, disabling makes it mostly stable (raven ridge)
Date: Mon, 26 Oct 2026 15:10:39 +1100
i meant to include eg, stack trace info.
here's what gdb has to say:
(gdb) bt
#0 0xffffffff80239fca in cpu_reboot (howto=3Dhowto@entry=3D260, bootstr=3D=
bootstr@entry=3D0x0) at /usr/src3/sys/arch/amd64/amd64/machdep.c:880
#1 0xffffffff80d766e8 in kern_reboot (howto=3Dhowto@entry=3D260, bootstr=3D=
bootstr@entry=3D0x0) at /usr/src3/sys/kern/kern_reboot.c:91
#2 0xffffffff80dc5a75 in vpanic (fmt=3D0xffffffff813cfb68 "kernel %sasser=
tion \"%s\" failed: file \"%s\", line %d locking %p against myself: %p",
ap=3Dap@entry=3D0xffff920942174928) at /usr/src3/sys/kern/subr_prf.c:2=
88
#3 0xffffffff80fb0b44 in kern_assert (fmt=3Dfmt@entry=3D0xffffffff813cfb6=
8 "kernel %sassertion \"%s\" failed: file \"%s\", line %d locking %p again=
st myself: %p")
at /usr/src3/sys/lib/libkern/kern_assert.c:51
#4 0xffffffff80f473c9 in linux_ww_mutex_trylock (mutex=3D0xffff86bc4023d1=
e0) at ./machine/cpu.h:80
#5 0xffffffff80f3ae14 in linux_dma_resv_trylock (robj=3D<optimized out>) =
at /usr/src3/sys/external/bsd/drm2/linux/linux_dma_resv.c:216
#6 0xffffffff80f49952 in ttm_bo_cleanup_refs_or_queue (bo=3D0xffff86bc3fe=
51358) at /usr/src3/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c:500
#7 ttm_bo_release (kref=3D0xffff86bc3fe514f0) at /usr/src3/sys/external/b=
sd/drm2/dist/drm/ttm/ttm_bo.c:696
#8 0xffffffff80f4a68d in kref_sub (count=3D1, kref=3D<optimized out>, rel=
ease=3D0xffffffff80f4985f <ttm_bo_release>)
at /usr/src3/sys/external/bsd/drm2/include/linux/kref.h:94
#9 0xffffffff80988fbf in amdgpu_bo_unref (bo=3Dbo@entry=3D0xffff9200450cf=
8d0) at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_object.=
c:866
#10 0xffffffff809e8059 in amdgpu_vm_free_table (entry=3Dentry@entry=3D0xff=
ff9200450cf8c8) at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amd=
gpu_vm.c:963
#11 0xffffffff809e91f3 in amdgpu_vm_free_pts (adev=3D<optimized out>, vm=3D=
<optimized out>, start=3D0xffff920942174af0)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:991
#12 amdgpu_vm_update_ptes (params=3D0xffff920942174b10, start=3D<optimized=
out>, end=3D34360808448, dst=3D2860515328, flags=3D113)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:154=
9
#13 amdgpu_vm_bo_update_mapping (adev=3Dadev@entry=3D0xffff920043a10008, v=
m=3Dvm@entry=3D0xffff86bc430c5008, direct=3Ddirect@entry=3Dfalse, exclusiv=
e=3Dexclusive@entry=3D0x0,
start=3Dstart@entry=3D34360807424, last=3Dlast@entry=3D34360808447, fl=
ags=3D113, addr=3D<optimized out>, pages_addr=3D0x0, fence=3Dfence@entry=3D=
0xffff86bc456c5500)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:161=
7
#14 0xffffffff809ea5f4 in amdgpu_vm_bo_split_mapping (adev=3D0xffff920043a=
10008, exclusive=3D<optimized out>, pages_addr=3D<optimized out>, vm=3D<op=
timized out>,
mapping=3D0xffff86bc3db59348, flags=3D432345564227567729, bo_adev=3D<o=
ptimized out>, nodes=3D<optimized out>, fence=3D<optimized out>)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:174=
4
#15 amdgpu_vm_bo_update (adev=3Dadev@entry=3D0xffff920043a10008, bo_va=3Db=
o_va@entry=3D0xffff86bc456c54c8, clear=3Dclear@entry=3Dfalse)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vm.c:183=
3
#16 0xffffffff80928af5 in amdgpu_gem_va_update_vm (adev=3D0xffff920043a100=
08, vm=3D0xffff86bc430c5008, bo_va=3D0xffff86bc456c54c8, operation=3D1)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gem.c:54=
0
#17 amdgpu_gem_va_ioctl (dev=3D<optimized out>, data=3D<optimized out>, fi=
lp=3D<optimized out>)
at /usr/src3/sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gem.c:70=
1
#18 0xffffffff80bb572c in drm_ioctl (fp=3D<optimized out>, cmd=3D<optimize=
d out>, data=3D0xffff920942174ee0)
at /usr/src3/sys/external/bsd/drm2/dist/drm/drm_ioctl.c:980
#19 0xffffffff80b79505 in drm_ioctl_shim (fp=3D<optimized out>, cmd=3D<opt=
imized out>, data=3D<optimized out>)
at /usr/src3/sys/external/bsd/drm2/drm/drm_cdevsw.c:393
#20 0xffffffff80ddd9d0 in sys_ioctl (l=3D<optimized out>, uap=3D0xffff9209=
42175000, retval=3D<optimized out>) at /usr/src3/sys/kern/sys_generic.c:67=
5
#21 0xffffffff805da02d in sy_call (sy=3D0xffffffff816432d0 <sysent+1296>, =
l=3D0xffff86bc42cfc400, uap=3D0xffff920942175000, rval=3D0xffff920942174fb=
0)
at /usr/src3/sys/sys/syscallvar.h:65
#22 sy_invoke (sy=3D0xffffffff816432d0 <sysent+1296>, l=3D0xffff86bc42cfc4=
00, uap=3D0xffff920942175000, rval=3D0xffff920942174fb0, code=3D54)
at /usr/src3/sys/sys/syscallvar.h:94
#23 syscall (frame=3D0xffff920942175000) at /usr/src3/sys/arch/x86/x86/sys=
call.c:137
#24 0xffffffff8021025d in handle_syscall ()
(gdb) p *mutex
$3 =3D {
wwm_state =3D 3 '\003',
wwm_debug =3D true,
wwm_u =3D {
owner =3D 0xffff920942174cf8,
ctx =3D 0xffff920942174cf8
},
wwm_lock =3D {
u =3D {
mtxa_owner =3D 67073,
s =3D {
mtxs_dummy =3D 1 '\001',
mtxs_ipl =3D {
_ipl =3D 6 '\006'
},
mtxs_lock =3D 1 '\001',
mtxs_unused =3D 0 '\000'
} =
} =
},
wwm_class =3D 0xffffffff8167a740 <linux_reservation_ww_class>,
wwm_waiters =3D {
rbt_root =3D 0x0,
rbt_ops =3D 0xffffffff81282700 <ww_acquire_ctx_rb_ops>,
rbt_minmax =3D {0xffff86bc4023d200, 0xffff86bc4023d200}
},
wwm_cv =3D {
cv_opaque =3D {0xffff86c32961c800, 0xffffffff81300125}
} =
} =
(gdb) p *$4->l_proc
[ ... ]
p_path =3D 0xffff86bc35ef58a0 "/usr/X11R7/bin/X",
ie, this is X server itself.
crash shows:
crash> bt
__kernel_end() at 0
kern_reboot() at kern_reboot+0x5f
vpanic() at vpanic+0x197
__x86_indirect_thunk_r8() at __x86_indirect_thunk_r8+0xd
linux_ww_mutex_unlock() at linux_ww_mutex_unlock+0x44
linux_dma_resv_trylock() at linux_dma_resv_trylock+0x9
ttm_bo_release() at ttm_bo_release+0x133
amdgpu_bo_unref() at amdgpu_bo_unref+0x1d
amdgpu_vm_free_table() at amdgpu_vm_free_table+0x5c
amdgpu_vm_bo_update_mapping() at amdgpu_vm_bo_update_mapping+0x840
amdgpu_vm_bo_update() at amdgpu_vm_bo_update+0x2d2
amdgpu_gem_va_ioctl() at amdgpu_gem_va_ioctl+0x500
drm_ioctl() at drm_ioctl+0x2ad
drm_ioctl_shim() at drm_ioctl_shim+0x38
sys_ioctl() at sys_ioctl+0x256
syscall() at syscall+0xaf
--- syscall (number 54) ---
crash> show lock 0xffff86bc4023d1e0
lock address : ffff86bc4023d1e0
type : sleep/adaptive
initialized : linux_dma_resv_init+0x18
shared holds : 0 exclusive: 1
shares wanted: 0 exclusive: 3
relevant cpu : 4294967295 last held: 0
relevant lwp : 000000000000000000 last held: 0xffff86bc42cfc400
last locked* : ttm_eu_reserve_buffers+0x184
unlocked : ttm_bo_delayed_delete+0x13
Home |
Main Index |
Thread Index |
Old Index