Same with this diff.

On Wed, May 04, 2022 at 05:58:14PM +0200, Martin Pieuchot wrote:
> Index: nfs/nfs_serv.c
> ===================================================================
> RCS file: /cvs/src/sys/nfs/nfs_serv.c,v
> retrieving revision 1.120
> diff -u -p -r1.120 nfs_serv.c
> --- nfs/nfs_serv.c    11 Mar 2021 13:31:35 -0000      1.120
> +++ nfs/nfs_serv.c    4 May 2022 15:29:06 -0000
> @@ -1488,6 +1488,9 @@ nfsrv_rename(struct nfsrv_descript *nfsd
>               error = -1;
>  out:
>       if (!error) {
> +             if (tvp) {
> +                     (void)uvm_vnp_uncache(tvp);
> +             }
>               error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd,
>                                  tond.ni_dvp, tond.ni_vp, &tond.ni_cnd);
>       } else {
> Index: ufs/ffs/ffs_inode.c
> ===================================================================
> RCS file: /cvs/src/sys/ufs/ffs/ffs_inode.c,v
> retrieving revision 1.81
> diff -u -p -r1.81 ffs_inode.c
> --- ufs/ffs/ffs_inode.c       12 Dec 2021 09:14:59 -0000      1.81
> +++ ufs/ffs/ffs_inode.c       4 May 2022 15:32:15 -0000
> @@ -172,11 +172,12 @@ ffs_truncate(struct inode *oip, off_t le
>       if (length > fs->fs_maxfilesize)
>               return (EFBIG);
>  
> -     uvm_vnp_setsize(ovp, length);
>       oip->i_ci.ci_lasta = oip->i_ci.ci_clen 
>           = oip->i_ci.ci_cstart = oip->i_ci.ci_lastw = 0;
>  
>       if (DOINGSOFTDEP(ovp)) {
> +             uvm_vnp_setsize(ovp, length);
> +             (void) uvm_vnp_uncache(ovp);
>               if (length > 0 || softdep_slowdown(ovp)) {
>                       /*
>                        * If a file is only partially truncated, then

http://bluhm.genua.de/release/results/2022-05-05T13%3A16%3A25Z/bsdcons-ot26.txt

[-- MARK -- Fri May  6 17:45:00 2022]
uvn_io: start: 0x1687cc08, type VREG, use 0, write 0, hold 0, flags 
(VBIOONFREELIST)
        tag VT_UFS, ino 131483, on dev 0, 10 flags 0x100, effnlink 1, nlink 1
        mode 0100660, owner 21, group 21, size 6385624
==> vnode_history_print 0x1687cc08, next=7
 [0] c++[58214] vput, usecount 2>1
<empty stack trace>
 [1] c++[67078] vget, usecount 1>2
#0  mtx_enter_try+0x5c
 [2] c++[67078] vget, usecount 2>3
#0  mtx_enter_try+0x5c
 [3] c++[67078] vrele, usecount 3>2
<empty stack trace>
 [4] c++[67078] vput, usecount 2>1
<empty stack trace>
 [5] reaper[33068] uvn_detach (UVM_VNODE_CANPERSIST), usecount 1>1
#0  0xfffffffc
#1  rv6xx_asic+0x4
#2  uvn_detach+0x13c
#3  uvm_unmap_detach+0x1a4
#4  uvm_map_teardown+0x184
#5  uvmspace_free+0x60
#6  uvm_exit+0x30
#7  reaper+0x138
#8  fork_trampoline+0x14
 [6] reaper[33068] vrele, usecount 1>0
<empty stack trace>
 [7>] c++[58214] vget, usecount 1>2
#0  mtx_enter_try+0x5c
 [8] c++[58214] vrele, usecount 2>1
<empty stack trace>
 [9] c++[58214] vref, usecount 1>2
<empty stack trace>
vn_lock: v_usecount == 0: 0x1687cc08, type VREG, use 0, write 0, hold 0, flags 
(VBIOONFREELIST)
        tag VT_UFS, ino 131483, on dev 0, 10 flags 0x100, effnlink 1, nlink 1
        mode 0100660, owner 21, group 21, size 6385624
==> vnode_history_print 0x1687cc08, next=7
 [0] c++[58214] vput, usecount 2>1
<empty stack trace>
 [1] c++[67078] vget, usecount 1>2
#0  mtx_enter_try+0x5c
 [2] c++[67078] vget, usecount 2>3
#0  mtx_enter_try+0x5c
 [3] c++[67078] vrele, usecount 3>2
<empty stack trace>
 [4] c++[67078] vput, usecount 2>1
<empty stack trace>
 [5] reaper[33068] uvn_detach (UVM_VNODE_CANPERSIST), usecount 1>1
#0  0xfffffffc
#1  rv6xx_asic+0x4
#2  uvn_detach+0x13c
#3  uvm_unmap_detach+0x1a4
#4  uvm_map_teardown+0x184
#5  uvmspace_free+0x60
#6  uvm_exit+0x30
#7  reaper+0x138
#8  fork_trampoline+0x14
 [6] reaper[33068] vrele, usecount 1>0
<empty stack trace>
 [7>] c++[58214] vget, usecount 1>2
#0  mtx_enter_try+0x5c
 [8] c++[58214] vrele, usecount 2>1
<empty stack trace>
 [9] c++[58214] vref, usecount 1>2
<empty stack trace>
panic: vn_lock: v_usecount == 0
Stopped at      db_enter+0x24:  lwz r11,12(r1)
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
 308217  72745     21         0x2          0    0  c++
*260882  89598      0     0x14000      0x200    1K pagedaemon
db_enter() at db_enter+0x20
panic(946dcf) at panic+0x158
vn_lock(7c564249,1b5000) at vn_lock+0x1c4
uvn_io(634fe38c,aa6c04,adc4c0,ffffffff,e4010000) at uvn_io+0x254
uvn_put(830225fc,e7ec7dd4,16881d58,4ec0400) at uvn_put+0x64
uvm_pager_put(0,0,e7ec7d70,184f78,2000000,80000000,0) at uvm_pager_put+0x15c
uvmpd_scan_inactive(0) at uvmpd_scan_inactive+0x224
uvmpd_scan() at uvmpd_scan+0x134
uvm_pageout(6393b378) at uvm_pageout+0x398
fork_trampoline() at fork_trampoline+0x14
end trace frame: 0x0, count: 5
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports.  Insufficient info makes it difficult to find and fix bugs.

ddb{1}> x/s version
version:        OpenBSD 7.1-current (GENERIC.MP) #0: Thu May  5 15:42:47 CEST 
2022\012    
r...@ot26.obsd-lab.genua.de:/usr/src/sys/arch/macppc/compile/GENERIC.MP\012

ddb{1}> show panic
*cpu1: vn_lock: v_usecount == 0

ddb{1}> trace
db_enter() at db_enter+0x20
panic(946dcf) at panic+0x158
vn_lock(7c564249,1b5000) at vn_lock+0x1c4
uvn_io(634fe38c,aa6c04,adc4c0,ffffffff,e4010000) at uvn_io+0x254
uvn_put(830225fc,e7ec7dd4,16881d58,4ec0400) at uvn_put+0x64
uvm_pager_put(0,0,e7ec7d70,184f78,2000000,80000000,0) at uvm_pager_put+0x15c
uvmpd_scan_inactive(0) at uvmpd_scan_inactive+0x224
uvmpd_scan() at uvmpd_scan+0x134
uvm_pageout(6393b378) at uvm_pageout+0x398
fork_trampoline() at fork_trampoline+0x14
end trace frame: 0x0, count: -10

ddb{1}> show register
r0              0x8d0e64        panic+0x15c
r1            0xe7ec7b60
r2                     0
r3              0xadad40        cpu_info+0x4c0
r4              0xae0000        kmemstats+0xf30
r5                   0x1
r6                     0
r7            0xe7bb9000
r8                     0
r9                     0
r10                    0
r11           0x74438525
r12           0xeb02fdf2
r13                    0
r14             0xabf4a0        bcstats
r15             0xadc49c        uvmexp
r16                    0
r17                    0
r18                    0
r19             0x1b5000        pf_state_key_setup+0x128
r20               0x1000        tlbdsmsize+0xf18
r21               0x1000        tlbdsmsize+0xf18
r22             0xa8c898        netlock
r23           0xe4010000
r24           0x16881d70
r25           0x16881d74
r26             0x928812        pppdumpm.digits+0xad39
r27                    0
r28                    0
r29             0xadb000        cpu_info+0x780
r30             0x946dcf        cy_pio_rec+0x10be7
r31             0xadc5c8        uvmexp+0x12c
lr              0x22b480        db_enter+0x24
cr            0x48228204
xer           0x20000000
ctr             0x58c120        openpic_splx
iar             0x22b480        db_enter+0x24
msr               0x9032        tlbdsmsize+0x8f4a
dar                    0
dsisr                  0
db_enter+0x24:  lwz r11,12(r1)

ddb{1}> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 72745  308217  57159     21  7         0x2                c++
 57159  446158  13370     21  3    0x10008a  sigsusp       sh
 23096  466878  97463     21  2         0x2                c++
 97463  139100  13370     21  3    0x10008a  sigsusp       sh
 13370  249943  29922     21  3    0x10008a  sigsusp       make
 29922  335336  59934     21  3    0x10008a  sigsusp       sh
 59934   39928   2528     21  3    0x10008a  sigsusp       make
  2528  506458   9831     21  3    0x10008a  sigsusp       sh
  9831   56072  24040     21  3    0x10008a  sigsusp       make
 24040  342964  26238     21  3    0x10008a  sigsusp       sh
 26238  357144  65227     21  3    0x10008a  sigsusp       make
 65227  118161   2826     21  3    0x10008a  sigsusp       sh
  2826  240246  93069     21  3    0x10008a  sigsusp       make
 93069  338270  62099      0  3    0x10008a  sigsusp       sh
 10422   17929  47837      0  3    0x100083  ttyin         ksh
 47837  119595      1      0  3    0x100080  kqread        tmux
 55771  268358      1      0  3    0x100083  ttyin         getty
 62099  469673   9975      0  3    0x10008a  sigsusp       make
  9975  137920  84768      0  3    0x10008a  sigsusp       make
 84768  354889  24042      0  3    0x10008a  sigsusp       sh
 24042  205467  50087      0  3        0x82  piperd        perl
 50087  291234  93130      0  3    0x10008a  sigsusp       ksh
 93130   51652  49178      0  3        0x9a  kqread        sshd
 64233  112970      1      0  3    0x100098  kqread        cron
 48762  493360      1     99  3   0x1100090  kqread        sndiod
 36954  256077      1    110  3    0x100090  kqread        sndiod
 21197  235373  12997     95  3   0x1100092  kqread        smtpd
 76171  366226  12997    103  3   0x1100092  kqread        smtpd
 58380  224234  12997     95  3   0x1100092  kqread        smtpd
 63933  304525  12997     95  3    0x100092  kqread        smtpd
 16166  498190  12997     95  3   0x1100092  kqread        smtpd
 76837  211943  12997     95  3   0x1100092  kqread        smtpd
 12997  487242      1      0  3    0x100080  kqread        smtpd
 65810  238008      1      0  3    0x100080  kqread        snmpd
 42356  298314      1     91  3   0x1000092  kqread        snmpd
 49178  503796      1      0  3        0x88  kqread        sshd
 29080  500777      0      0  3     0x14280  nfsidl        nfsio
 53280  449975      0      0  3     0x14280  nfsidl        nfsio
 32838   45085      0      0  3     0x14280  nfsidl        nfsio
 81329  356374      0      0  3     0x14280  nfsidl        nfsio
 45144  447675      1      0  3    0x100080  kqread        ntpd
 60646  455666  70819     83  3    0x100092  kqread        ntpd
 70819  373522      1     83  3   0x1100092  kqread        ntpd
 19509  515636  13973     74  3   0x1100092  bpf           pflogd
 13973  510848      1      0  3        0x80  netio         pflogd
 40896  434773  41458     73  3   0x1100090  kqread        syslogd
 41458  436564      1      0  3    0x100082  netio         syslogd
 37683  149129      1      0  3    0x100080  kqread        resolvd
 20071  371380  11299     77  3    0x100092  kqread        dhcpleased
 75315  149474  11299     77  3    0x100092  kqread        dhcpleased
 11299  215364      1      0  3        0x80  kqread        dhcpleased
 17217  315564  77347    115  3    0x100092  kqread        slaacd
 59874  184071  77347    115  3    0x100092  kqread        slaacd
 77347  148845      1      0  3    0x100080  kqread        slaacd
 26903  255857      0      0  3     0x14200  bored         smr
 78440  242464      0      0  3  0x40014200                idle1
 16417  478008      0      0  2     0x14200                zerothread
 83115  161919      0      0  3     0x14200  aiodoned      aiodoned
 61571  466387      0      0  3     0x14200  syncer        update
 73191  368886      0      0  3     0x14200  cleaner       cleaner
 33068   18520      0      0  3     0x14200  reaper        reaper
*89598  260882      0      0  7     0x14200                pagedaemon
 21064  264578      0      0  3     0x14200  usbtsk        usbtask
 25745   50139      0      0  3     0x14200  usbatsk       usbatsk
 91456  304724      0      0  3     0x14200  bored         sensors
 10351  234855      0      0  3     0x14200  bored         softnet
 35714  218667      0      0  3     0x14200  bored         softnet
 66962  282105      0      0  3     0x14200  bored         softnet
 80858  283125      0      0  3     0x14200  bored         softnet
 61652  140419      0      0  3     0x14200  bored         systqmp
 97773  395380      0      0  3     0x14200  bored         systq
 47231  351239      0      0  3  0x40014200  bored         softclock
 30935  364905      0      0  3  0x40014200                idle0
     1  508653      0      0  3        0x82  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper

ddb{1}> wh      show uvm
Current UVM status:
  pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12
  500884 VM pages: 180292 active, 170443 inactive, 1 wired, 40699 free (0 zero)
  min  10% (25) anon, 10% (25) vnode, 5% (12) vtext
  freemin=16696, free-target=22261, inactive-target=124913, wired-max=166961
  faults=976376027, traps=0, intrs=1189497, ctxswitch=14658192 fpuswitch=3394821
  softint=8247320, syscalls=1395354643, kmapent=10
  fault counts:
    noram=0, noanon=0, noamap=0, pgwait=0, pgrele=0
    ok relocks(total)=634857(637021), anget(retries)=786676302(0), 
amapcopy=61156694
    neighbor anon/obj pg=69244488/144253562, gets(lock/unlock)=50083018/638017
    cases: anon=784838885, anoncow=1837417, obj=43295388, prcopy=6784470, 
przero=139619866
  daemon and swap counts:
    woke=4, revs=1, scans=24198, obscans=24008, anscans=0
    busy=0, freed=24007, reactivate=190, deactivate=0
    pageouts=1, pending=0, nswget=0
    nswapdev=1
    swpages=589823, swpginuse=0, swpgonly=0 paging=0
  kernel pointers:
    objs(kern)=0xae0ca0

Reply via email to