Hi, "Chuck Silvers" <c...@netbsd.org> writes:
> Module Name: src > Committed By: chs > Date: Fri Aug 14 09:06:15 UTC 2020 > > Modified Files: > src/sys/miscfs/genfs: genfs_io.c > src/sys/uvm: uvm_extern.h uvm_object.c uvm_object.h uvm_page.c > uvm_page_status.c uvm_pager.c uvm_vnode.c > > Log Message: > centralize calls from UVM to radixtree into a few functions. > in those functions, assert that the object lock is held in > the correct mode. > > > To generate a diff of this commit: > cvs rdiff -u -r1.99 -r1.100 src/sys/miscfs/genfs/genfs_io.c > cvs rdiff -u -r1.230 -r1.231 src/sys/uvm/uvm_extern.h > cvs rdiff -u -r1.23 -r1.24 src/sys/uvm/uvm_object.c > cvs rdiff -u -r1.38 -r1.39 src/sys/uvm/uvm_object.h > cvs rdiff -u -r1.244 -r1.245 src/sys/uvm/uvm_page.c > cvs rdiff -u -r1.5 -r1.6 src/sys/uvm/uvm_page_status.c > cvs rdiff -u -r1.128 -r1.129 src/sys/uvm/uvm_pager.c > cvs rdiff -u -r1.115 -r1.116 src/sys/uvm/uvm_vnode.c This change assets after every shutdown or sync command invocation on my two amd64 laptops at least. Both laptop uses mount -o log (WAPBL). The backtrace is as follows. This is result of LOCKDEBUG enabled kernel. I can get same result from DIAGNOSTICS kernel too. Could you take a look at my problem? $ crash -N netbsd.33 -M netbsd.33.core Crash version 9.99.70, image version 9.99.70. System panicked: kernel diagnostic assertion "uvm_pagelookup(uobj, offset) == NULL || ((a->ar_flags & UVM_PAGE_ARRAY_FILL_DIRTY) != 0 && !uvm_obj_page_dirty_p(pg))" failed: file "/usr/src/sys/uvm/uvm_vnode.c", line 321 Backtrace from time of crash is available. crash> bt _KERNEL_OPT_NARCNET() at 0 ?() at ffff87814aa72cb0 sys_reboot() at sys_reboot vpanic() at vpanic+0x15b __x86_indirect_thunk_rax() at __x86_indirect_thunk_rax uvn_findpage() at uvn_findpage+0xf9 uvn_findpages() at uvn_findpages+0xcd genfs_do_putpages() at genfs_do_putpages+0xc17 VOP_PUTPAGES() at VOP_PUTPAGES+0x43 ffs_full_fsync() at ffs_full_fsync+0x1b4 ffs_fsync() at ffs_fsync+0xef VOP_FSYNC() at VOP_FSYNC+0x47 sched_sync() at sched_sync+0x168 crash> Thank you. -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3