diagnosing freezes (DRI?)
deeptech71 at gmail.com
deeptech71 at gmail.com
Fri Apr 17 04:19:34 UTC 2009
Robert Noland wrote:
> On Thu, 2009-04-16 at 11:16 -0400, John Baldwin wrote:
>> On Wednesday 15 April 2009 11:58:38 pm deeptech71 at gmail.com wrote:
>>> I can reliably (~40%) reproduce a freeze, which I think is related.
>>>
>>> Using the GENERIC debug kernel built from SVN HEAD:
>>>
>>> # cd /usr/obj/usr/src/sys/GENERIC/
>>> # kgdb kernel.debug /var/crash/vmcore.0
>>> GNU gdb 6.1.1 [FreeBSD]
>>> Copyright 2004 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and you are
>>> welcome to change it and/or distribute copies of it under certain
>>> conditions.
>>> Type "show copying" to see the conditions.
>>>
>>> There is absolutely no warranty for GDB. Type "show warranty" for
>>> details.
>>> This GDB was configured as "i386-marcel-freebsd"...
>> [ snipped lots of stuff ]
>>
>>> Kernel page fault with the following non-sleepable locks held:
>>>
>>> exclusive sleep mutex drmdev (drmdev) r = 0 (0xc373f860) locked @
>>> /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_drv.c:777
>>>
>>> KDB: stack backtrace:
>>>
>>> calltrap() at calltrap+0x6
>>>
>>> --- trap 0xc, eip = 0xc0b611b6, esp = 0xd67d4a98, ebp = 0xd67d4b48 ---
>>>
>>> slow_copyin(c373f800,c4103300,c42e64e0,d67d4b64,0,...) at
>>> slow_copyin+0x6
>>> radeon_cp_texture(c373f800,c42e64e0,c4103300,309,c0c26218,...) at
>>> radeon_cp_texture+0x199
>>>
>>> drm_ioctl(c39d4e00,c018644e,c42e64e0,3,c40afaf0,...) at drm_ioctl+0x356
>>>
>> The drm code is doing a copyin() while holding a mutex (which is not allowed).
>
> Ok, the quick and dirty fix for this is
> http://people.freebsd.org/~rnoland/drm_radeon_state-copyin-fix.patch
>
> I think there may be other places of concern though and a more proper
> fix is needed.
I still get the same lockup :(
More information about the freebsd-current
mailing list