On Sun, Dec 27, 2015 at 12:09:27PM +0200, Konstantin Belousov wrote: > On Sun, Dec 27, 2015 at 03:38:48AM -0500, Shawn Webb wrote: > > Hey All, > > > > This is from booting a new installer ISO, generated today from a very > > recent commit: > > > > === Begin Log === > > Trying to mount root from cd9660:/dev/iso9660/11_0__HBSD_AMD64_CD [ro]... > > lock order reversal: > > 1st 0xfffffe00f6222e40 bufwait (bufwait) _at_ /jenkins/workspace/HardenedBSD-master-amd64/sys/vm/vm_pager.c:380 > > 2nd 0xfffff800063785f0 isofs (isofs) _at_ /jenkins/workspace/HardenedBSD-master-amd64/sys/kern/imgact_elf.c:883 > > stack backtrace: > > #0 0xffffffff80a7ce70 at witness_debugger+0x70 > > #1 0xffffffff80a7cd71 at witness_checkorder+0xe71 > > #2 0xffffffff80a0033b at __lockmgr_args+0xd3b > > #3 0xffffffff80ac2fdc at vop_stdlock+0x3c > > #4 0xffffffff80fc0fc0 at VOP_LOCK1_APV+0x100 > > #5 0xffffffff80ae397a at _vn_lock+0x9a > > #6 0xffffffff809c4b01 at exec_elf64_imgact+0xa91 > > #7 0xffffffff809e35e9 at kern_execve+0x4b9 > > #8 0xffffffff809e2ddc at sys_execve+0x4c > > #9 0xffffffff809c760a at start_init+0x26a > > #10 0xffffffff809eadb4 at fork_exit+0x84 > > #11 0xffffffff80e4e9ae at fork_trampoline+0xe > > userret: returning with the following locks held: > > exclusive lockmgr bufwait (bufwait) r = 0 (0xfffffe00f6222c10) locked _at_ /jenkins/workspace/HardenedBSD-master-amd64/sys/vm/vm_pager.c:380 > > exclusive lockmgr bufwait (bufwait) r = 0 (0xfffffe00f6222e40) locked _at_ /jenkins/workspace/HardenedBSD-master-amd64/sys/vm/vm_pager.c:380 > > panic: witness_warn > > === End Log === > > > > This is 11-CURRENT/amd64, based on HardenedBSD commit > > f0a4c61a2e9e2433db632d70d5764e79c5b84b7a. I booted the ISO up in bhyve > > using vmrun.sh. I haven't ruled out anything on HardenedBSD's side, yet, > > but we don't have any changes that would cause a panic'ing LOR in > > vm_pager.c. I'll do some more investigative work when I get some more > > sleep. But if anyone has any ideas, please let me know. I kinda wonder > > if this is related to the recent VFS changes by FreeBSD. > > The following change would fix your problem, I did not tested it. > > diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c > index ff30f4d..66dd29d 100644 > --- a/sys/vm/vnode_pager.c > +++ b/sys/vm/vnode_pager.c > _at__at_ -806,6 +806,7 _at__at_ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count, > * than a page size, then use special small filesystem code. > */ > if (pagesperblock == 0) { > + relpbuf(bp, freecnt); > for (i = 0; i < count; i++) { > PCPU_INC(cnt.v_vnodein); > PCPU_INC(cnt.v_vnodepgsin); > _______________________________________________ This works for me, when running programs from a isofs file system. -- PeterReceived on Sun Dec 27 2015 - 13:26:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:01 UTC