> On May 17, 2023, at 2:39 PM, Kurt Miller <k...@intricatesoftware.com> wrote:
> 
> On May 13, 2023, at 3:07 PM, Kurt Miller <k...@intricatesoftware.com 
> <mailto:k...@intricatesoftware.com>> wrote:
>> 
>> On May 13, 2023, at 9:16 AM, Kurt Miller <k...@intricatesoftware.com> wrote:
>>> 
>>> On May 12, 2023, at 10:26 AM, Martin Pieuchot <m...@openbsd.org> wrote:
>>>> 
>>>> On 09/05/23(Tue) 20:02, Kurt Miller wrote:
>>>>> While building devel/jdk/1.8 on May 3rd snapshot I noticed the build 
>>>>> freezing
>>>>> and processes getting stuck like ps. After enabling ddb.console I was 
>>>>> able to
>>>>> reproduce the livelock and capture cpu traces. Dmesg at the end.
>>>>> Let me know if more information is needed as this appears to be rather
>>>>> reproducible on my T4-1.
>>>> 
>>>> It seems that all CPUs are waiting for the KERNEL_LOCK().  Doing ps /o
>>>> in ddb(4) should show us which CPU is currently holding it.  I can't
>>>> figure it out just by looking at the traces below.
>>>> 

I managed to get WITNESS working on sparc64. Here’s what it found:

ddb{0}> show witness /b
Number of known direct relationships is 255

Lock order reversal between "&mp->mnt_lock"(rwlock) and "&ip->i_lock"(rrwlock)!
Lock order "&mp->mnt_lock"(rwlock) -> "&ip->i_lock"(rrwlock) first seen at:
#0  rrw_enter+0x58
#1  VOP_LOCK+0x5c
#2  vn_lock+0x9c
#3  vget+0x12c
#4  cache_lookup+0x308
#5  ufs_lookup+0x11c
#6  VOP_LOOKUP+0x40
#7  vfs_lookup+0x2fc
#8  namei+0x37c
#9  ffs_mount+0x340
#10 sys_mount+0x2fc
#11 syscall+0x3c4
#12 syscall_setup+0x134

Lock order "&ip->i_lock"(rrwlock) -> "&mp->mnt_lock"(rwlock) first seen at:
#0  vfs_busy+0x34
#1  vfs_lookup+0x39c
#2  namei+0x37c
#3  sys___realpath+0x1bc
#4  syscall+0x3c4
#5  syscall_setup+0x134

Reply via email to