On Fri, Jan 24, 2025 at 1:09 PM Martin Pieuchot <[email protected]> wrote: > > Hello, > > Thanks for your report. > > On 24/01/25(Fri) 10:37, K R wrote: > > >Synopsis: kernel panic: "anon->an_lock == NULL || > > >rw_write_held(anon->an_lock)" failed > > >Category: kernel amd64 > > >Environment: > > System : OpenBSD 7.6 > > Details : OpenBSD 7.6-current (GENERIC.MP) #515: Wed Jan > > 22 02:25:16 MST 2025 > > > > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > > > Architecture: OpenBSD.amd64 > > Machine : amd64 > > >Description: > > > > The machine is a Dell PowerEdge R450 with 128GB of RAM. It panics > > under heavy RAM usage. With 7.6-release + syspatches, it would just > > freeze, not panic. Under 7.6-current now it panics with the assertion > > shown above. Panic screen attached below. > > > > Please let me know if you need more specific commands at the ddb prompt. > > I don't need more informations. Please find a fix below. The panic is > due to an incorrect unlock in error path. Can you confirm the fix works > for you?
Hey Martin, thanks for the quick reply and for the fix. I'll let you know how it goes. Thanks, --Kor > > Thanks, > Martin > > Index: uvm/uvm_pdaemon.c > =================================================================== > RCS file: /cvs/src/sys/uvm/uvm_pdaemon.c,v > diff -u -p -r1.133 uvm_pdaemon.c > --- uvm/uvm_pdaemon.c 27 Dec 2024 12:04:40 -0000 1.133 > +++ uvm/uvm_pdaemon.c 24 Jan 2025 16:06:19 -0000 > @@ -848,7 +848,6 @@ uvmpd_scan_inactive(struct uvm_pmalloc * > anon->an_page = NULL; > p->uanon = NULL; > > - rw_exit(anon->an_lock); > uvm_anfree(anon); /* kills anon */ > pmap_page_protect(p, PROT_NONE); > anon = NULL; > >
