NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/54945: nfs uvm_pagegetdirty panic



>Number:         54945
>Category:       kern
>Synopsis:       nfs uvm_pagegetdirty panic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 06 14:45:00 +0000 2020
>Originator:     Patrick Welche
>Release:        9.99.45/amd64 of 6 Feb 2020
>Organization:
>Environment:
>Description:
panic: kernel diagnostic assertion "uobj == NULL || !UVM_OBJ_IS_CLEAN(uobjpage->uobject) || uvm_pagegetdirty(uobjpage) == UVM_PAGE_STATUS_CLEAN" failed: file "../../../../uvm/uvm_fault.c", line 1754

(gdb) bt
#0  0xffffffff80224225 in cpu_reboot (howto=howto@entry=260, 
    bootstr=bootstr@entry=0x0) at ../../../../arch/amd64/amd64/machdep.c:720
#1  0xffffffff809c30c9 in kern_reboot (howto=howto@entry=260, 
    bootstr=bootstr@entry=0x0) at ../../../../kern/kern_reboot.c:61
#2  0xffffffff80a04879 in vpanic (
    fmt=0xffffffff8135b700 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ", ap=ap@entry=0xffffcb814f498858) at ../../../../kern/subr_prf.c:336
#3  0xffffffff80e4a2c3 in kern_assert (
    fmt=fmt@entry=0xffffffff8135b700 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ") at ../../../../../../lib/libkern/kern_assert.c:51
#4  0xffffffff8096bec4 in uvm_fault_lower (pages=0xffffcb814f4989f0, 
    flt=0xffffcb814f498908, ufi=0xffffcb814f498938)
    at ../../../../sys/rndsource.h:106
#5  uvm_fault_internal (orig_map=orig_map@entry=0xfffffe32a8531450, 
    vaddr=vaddr@entry=127372870701056, access_type=access_type@entry=1, 
    fault_flag=fault_flag@entry=0) at ../../../../uvm/uvm_fault.c:910
#6  0xffffffff80225fe9 in trap (frame=0xffffcb814f498ba0)
    at ../../../../arch/amd64/amd64/trap.c:534
#7  0xffffffff8021ed43 in alltraps ()
#8  0xffffffff8021e5af in copyin ()
#9  0xffffffff809ef49e in copyin_vmspace (vm=<optimized out>, 
    uaddr=<optimized out>, kaddr=<optimized out>, len=<optimized out>)
    at ../../../../kern/subr_copy.c:220
#10 0xffffffff809ef64a in uiomove (buf=buf@entry=0xffffcb8145744000, n=66, 
    uio=uio@entry=0xffffcb814f498ef0) at ../../../../kern/subr_copy.c:135
#11 0xffffffff8096875e in ubc_uiomove (uobj=uobj@entry=0xfffffe32afcc4998, 
    uio=uio@entry=0xffffcb814f498ef0, todo=66, advice=advice@entry=1, 
    flags=258) at ../../../../uvm/uvm_bio.c:751
#12 0xffffffff808eead8 in nfs_write (v=<optimized out>)
    at ../../../../nfs/nfs_bio.c:528
#13 0xffffffff80a74b14 in VOP_WRITE (vp=vp@entry=0xfffffe32afcc4998, 
    uio=uio@entry=0xffffcb814f498ef0, ioflag=ioflag@entry=16, 
    cred=cred@entry=0xfffffe32a1b87e80) at ../../../../kern/vnode_if.c:506
#14 0xffffffff80a6bc1b in vn_write (fp=<optimized out>, 
    offset=0xfffffe32a131d1c0, uio=0xffffcb814f498ef0, 
    cred=0xfffffe32a1b87e80, flags=1) at ../../../../kern/vfs_vnops.c:609
#15 0xffffffff80a1272c in dofilewrite (fd=fd@entry=4, fp=0xfffffe32a131d1c0, 
    buf=0x73d84eb65000, nbyte=66, offset=<optimized out>, flags=flags@entry=1, 
    retval=retval@entry=0xffffcb814f498fb0)
    at ../../../../kern/sys_generic.c:350
#16 0xffffffff80a12841 in sys_write (l=<optimized out>, 
    uap=0xffffcb814f499000, retval=0xffffcb814f498fb0)
    at ../../../../kern/sys_generic.c:318
#17 0xffffffff80255aa9 in sy_call (rval=0xffffcb814f498fb0, 
    uap=0xffffcb814f499000, l=0xfffffe32a7a5a240, 
    sy=0xffffffff81858480 <sysent+96>) at ../../../../sys/syscallvar.h:65
#18 sy_invoke (code=4, rval=0xffffcb814f498fb0, uap=0xffffcb814f499000, 
    l=0xfffffe32a7a5a240, sy=0xffffffff81858480 <sysent+96>)
    at ../../../../sys/syscallvar.h:94
#19 syscall (frame=0xffffcb814f499000)
    at ../../../../arch/x86/x86/syscall.c:138
#20 0xffffffff802096ad in handle_syscall ()


odd that uvm_fault.c:1754 doesn't appear? it is uvm_fault_lower()
(gdb) frame 4
#4  0xffffffff8096bec4 in uvm_fault_lower (pages=0xffffcb814f4989f0, 
    flt=0xffffcb814f498908, ufi=0xffffcb814f498938)
    at ../../../../sys/rndsource.h:106

don't trust gdb?


>How-To-Repeat:
cp a file to a NFS partition (both client & server run NetBSD). Not sure whether the fact that the souce was ntfs wedge on an external USB3 drive is relevant.
>Fix:



Home | Main Index | Thread Index | Old Index