NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/54949 (locking against myself in 9.99.46)
The following reply was made to PR kern/54949; it has been noted by GNATS.
From: Alexander Nasonov <alnsn%yandex.ru@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: ad%netbsd.org@localhost, kern-bug-people%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, alnsn%netbsd.org@localhost
Subject: Re: kern/54949 (locking against myself in 9.99.46)
Date: Mon, 17 Feb 2020 21:52:23 +0000
ad%NetBSD.org@localhost wrote:
> Do you still have that kernel? Can you tell what line is exit1+0x41f with gdb?
> gdb ./netbsd.gdb ..... info line *exit1+0x41f
> I think it's likely the same problem as Martin suggests.
No /netbsd.gdb but in my /netbsd, that address is between two calls:
ffffffff8090312a: e8 54 0b 3f 00 callq ffffffff80cf3c83 <radix_tree_remove_node>
ffffffff8090312f: 4c 89 e7 mov %r12,%rdi
ffffffff80903132: e8 3f 09 3f 00 callq ffffffff80cf3a76 <radix_tree_fini_tree>
I can easily see it in the code (KASSERTs are nops):
/* Don't bother with p_treelock as no other LWPs remain. */
l2 = radix_tree_remove_node(&p->p_lwptree, (uint64_t)(l->l_lid - 1));
KASSERT(l2 == l);
KASSERT(radix_tree_empty_tree_p(&p->p_lwptree));
radix_tree_fini_tree(&p->p_lwptree);
mutex_exit(p->p_lock);
--
Alex
Home |
Main Index |
Thread Index |
Old Index