On Fri, Jan 24, 2025 at 2:54 PM K R <[email protected]> wrote: > > 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.
Martin, I've applied the patch and rebooted with the new kernel. The stress test has been running for the last two hours with no panics. So far, so good! Thanks, --Kor > > 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; > > > >
