On Wed, Apr 27, 2022 at 09:16:48AM +0200, Sebastien Marie wrote:
> Here a new diff (sorry for the delay) which add a new vnode_history_record() 
> point inside uvn_detach() (when 'uvn' object has UVM_VNODE_CANPERSIST flag 
> sets).

[-- MARK -- Thu Apr 28 14:10:00 2022]
uvn_io: start: 0x23ae1400, type VREG, use 0, write 0, hold 0, flags 
(VBIOONFREELIST)
        tag VT_UFS, ino 495247, on dev 0, 10 flags 0x100, effnlink 1, nlink 1
        mode 0100660, owner 21, group 21, size 13647873
==> vnode_history_print 0x23ae1400, next=6
 [3] c++[44194] usecount 2>1
#0  0x626946ec
 [4] reaper[10898] usecount 1>1
#0  entropy_pool0+0xf54
 [5] reaper[10898] usecount 1>0
#0  splx+0x30
#1  0xfffffffc
#2  vrele+0x5c
#3  uvn_detach+0x160
#4  uvm_unmap_detach+0x1a4
#5  uvm_map_teardown+0x184
#6  uvmspace_free+0x60
#7  uvm_exit+0x30
#8  reaper+0x138
#9  fork_trampoline+0x14
vn_lock: v_usecount == 0: 0x23ae1400, type VREG, use 0, write 0, hold 0, flags 
(VBIOONFREELIST)
        tag VT_UFS, ino 495247, on dev 0, 10 flags 0x100, effnlink 1, nlink 1
        mode 0100660, owner 21, group 21, size 13647873
==> vnode_history_print 0x23ae1400, next=6
 [3] c++[44194] usecount 2>1
#0  0x626946ec
 [4] reaper[10898] usecount 1>1
#0  entropy_pool0+0xf54
 [5] reaper[10898] usecount 1>0
#0  splx+0x30
#1  0xfffffffc
#2  vrele+0x5c
#3  uvn_detach+0x160
#4  uvm_unmap_detach+0x1a4
#5  uvm_map_teardown+0x184
#6  uvmspace_free+0x60
#7  uvm_exit+0x30
#8  reaper+0x138
#9  fork_trampoline+0x14

panic: vn_lock: v_usecount == 0
Stopped at      db_enter+0x24:  lwz r11,12(r1)
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*259468  43813      0     0x14000      0x200    0K pagedaemon
 146649  72608      0     0x14000      0x200    1  systq
db_enter() at db_enter+0x20
panic(9466c5) at panic+0x158
vn_lock(49535400,b0000) at vn_lock+0x1c4
uvn_io(accff0,af022c,e7ebbc50,7c22f4,e4010000) at uvn_io+0x254
uvn_put(bab343e0,e7ebbdd4,23a0f150,408ef30) at uvn_put+0x64
uvm_pager_put(0,0,e7ebbd70,38ec28,2000000,80000000,0) at uvm_pager_put+0x15c
uvmpd_scan_inactive(0) at uvmpd_scan_inactive+0x224
uvmpd_scan() at uvmpd_scan+0x158
uvm_pageout(468f7e26) 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{0}> x/s version
version:        OpenBSD 7.1-current (GENERIC.MP) #0: Wed Apr 27 12:15:54 CEST 
2022\012    
[email protected]:/usr/src/sys/arch/macppc/compile/GENERIC.MP\012

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

ddb{0}> trace
db_enter() at db_enter+0x20
panic(9466c5) at panic+0x158
vn_lock(49535400,b0000) at vn_lock+0x1c4
uvn_io(accff0,af022c,e7ebbc50,7c22f4,e4010000) at uvn_io+0x254
uvn_put(bab343e0,e7ebbdd4,23a0f150,408ef30) at uvn_put+0x64
uvm_pager_put(0,0,e7ebbd70,38ec28,2000000,80000000,0) at uvm_pager_put+0x15c
uvmpd_scan_inactive(0) at uvmpd_scan_inactive+0x224
uvmpd_scan() at uvmpd_scan+0x158
uvm_pageout(468f7e26) at uvm_pageout+0x398
fork_trampoline() at fork_trampoline+0x14
end trace frame: 0x0, count: -10

ddb{0}> show register
r0              0x456398        panic+0x15c
r1            0xe7ebbb60
r2                     0
r3              0xaddd20        cpu_info
r4              0xa90000        cac_weights_oland+0x4a0
r5                   0x1
r6                     0
r7            0xe7bb9000
r8                     0
r9              0x91c6bb        pppdumpb.digits
r10                 0x14
r11           0xad435544
r12           0x40f2b95b
r13                    0
r14             0xaeccf0        bcstats
r15             0xb0e060        uvmexp
r16                    0
r17                    0
r18                    0
r19              0xb0000        tlbdsmsize+0xaff18
r20               0x1000        tlbdsmsize+0xf18
r21               0x1000        tlbdsmsize+0xf18
r22             0xa84c34        netlock
r23           0xe4010000
r24           0x23a0f168
r25           0x23a0f16c
r26             0x927da8        pppdumpb.digits+0xb6ed
r27                    0
r28                    0
r29             0xaddfe0        cpu_info+0x2c0
r30             0x9466c5        cy_pio_rec+0x11ddb
r31             0xb0e18c        uvmexp+0x12c
lr              0x7600f4        db_enter+0x24
cr            0x48228204
xer           0x20000000
ctr             0x619c94        openpic_splx
iar             0x7600f4        db_enter+0x24
msr               0x9032        tlbdsmsize+0x8f4a
dar                    0
dsisr                  0
db_enter+0x24:  lwz r11,12(r1)

ddb{0}> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 58038  126472  17568     21  2         0x2                c++
 17568  326369  64325     21  3    0x10008a  sigsusp       sh
 95069   60222  81300     21  2         0x2                c++
 81300  287425  64325     21  3    0x10008a  sigsusp       sh
 64325  247079  67416     21  3    0x10008a  sigsusp       make
 67416    6273  21897     21  3    0x10008a  sigsusp       sh
 21897  133219  63094     21  3    0x10008a  sigsusp       make
 63094  445339  47647     21  3    0x10008a  sigsusp       sh
 47647  139403  22159     21  3    0x10008a  sigsusp       make
 22159  248738  24095     21  3    0x10008a  sigsusp       sh
 24095  477366  14646     21  3    0x10008a  sigsusp       make
 14646  111329  55744     21  3    0x10008a  sigsusp       sh
 55744  368522   3397     21  3    0x10008a  sigsusp       make
  3397  349572  99598      0  3    0x10008a  sigsusp       sh
 99598  510186  86505      0  3    0x10008a  sigsusp       make
 86505  213806  29713      0  3    0x10008a  sigsusp       make
 29713   76615  11666      0  3    0x10008a  sigsusp       sh
 11666  158413  30424      0  3        0x82  piperd        perl
 30424  233250  56724      0  3    0x10008a  sigsusp       ksh
 56724  160537  53570      0  3        0x9a  kqread        sshd
 43167  359893      1      0  3    0x100083  ttyin         getty
 51231  209123      1      0  3    0x100098  kqread        cron
 87445  494154      1     99  3   0x1100090  kqread        sndiod
 89492  391745      1    110  3    0x100090  kqread        sndiod
 21093  368083  75019     95  3   0x1100092  kqread        smtpd
 40296  398818  75019    103  3   0x1100092  kqread        smtpd
 82127  519318  75019     95  3   0x1100092  kqread        smtpd
 74259  357906  75019     95  3    0x100092  kqread        smtpd
 97590  312389  75019     95  3   0x1100092  kqread        smtpd
 92988  113001  75019     95  3   0x1100092  kqread        smtpd
 75019   80125      1      0  3    0x100080  kqread        smtpd
 37946  138518      1      0  3    0x100080  kqread        snmpd
 71898    8160      1     91  3   0x1000092  kqread        snmpd
 53570  142931      1      0  3        0x88  kqread        sshd
 13547  352036      0      0  3     0x14280  nfsidl        nfsio
 93359  256712      0      0  3     0x14280  nfsidl        nfsio
 99320  244583      0      0  3     0x14280  nfsidl        nfsio
 99404  470578      0      0  3     0x14280  nfsidl        nfsio
 94723  402108      1      0  3    0x100080  kqread        ntpd
 87109  202362  18301     83  3    0x100092  kqread        ntpd
 18301  178821      1     83  3   0x1100092  kqread        ntpd
 25826   90316  88878     74  3   0x1100092  bpf           pflogd
 88878  169873      1      0  3        0x80  netio         pflogd
 67646  415264  29673     73  3   0x1100090  kqread        syslogd
 29673  131302      1      0  3    0x100082  netio         syslogd
 43975  246540      1      0  3    0x100080  kqread        resolvd
 60928  460407  76093     77  3    0x100092  kqread        dhcpleased
 32901  208280  76093     77  3    0x100092  kqread        dhcpleased
 76093  141437      1      0  3        0x80  kqread        dhcpleased
  3303  506731  83319    115  3    0x100092  kqread        slaacd
 60565  119229  83319    115  3    0x100092  kqread        slaacd
 83319  126543      1      0  3    0x100080  kqread        slaacd
 47737  152547      0      0  3     0x14200  bored         smr
 50370  511329      0      0  3  0x40014200                idle1
 69972  513033      0      0  2     0x14200                zerothread
 39569   93722      0      0  3     0x14200  aiodoned      aiodoned
 40874   17307      0      0  3     0x14200  syncer        update
 37441  523480      0      0  3     0x14200  cleaner       cleaner
 10898  320555      0      0  3     0x14200  reaper        reaper
*43813  259468      0      0  7     0x14200                pagedaemon
 71868  345423      0      0  3     0x14200  usbtsk        usbtask
 61581  429532      0      0  3     0x14200  usbatsk       usbatsk
 69683  484078      0      0  3     0x14200  bored         sensors
 94439  356344      0      0  2     0x14200                softnet
 46479  452477      0      0  3     0x14200  bored         systqmp
 72608  146649      0      0  7     0x14200                systq
 85677   99390      0      0  3  0x40014200  bored         softclock
 65104  388708      0      0  3  0x40014200                idle0
     1  106514      0      0  3        0x82  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper

ddb{0}> show uvm
Current UVM status:
  pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12
  500885 VM pages: 178426 active, 175323 inactive, 1 wired, 38117 free (0 zero)
  min  10% (25) anon, 10% (25) vnode, 5% (12) vtext
  freemin=16696, free-target=22261, inactive-target=125047, wired-max=166961
  faults=969500145, traps=0, intrs=1175044, ctxswitch=14677435 fpuswitch=3183257
  softint=8147873, syscalls=1385962033, kmapent=10
  fault counts:
    noram=0, noanon=0, noamap=0, pgwait=0, pgrele=0
    ok relocks(total)=631514(634290), anget(retries)=781457689(0), 
amapcopy=60280584
    neighbor anon/obj pg=68714025/140990784, gets(lock/unlock)=49417680/635237
    cases: anon=779698748, anoncow=1758941, obj=42721120, prcopy=6692837, 
przero=138628499
  daemon and swap counts:
    woke=4, revs=1, scans=21657, obscans=21405, anscans=0
    busy=0, freed=21404, reactivate=252, deactivate=0
    pageouts=1, pending=0, nswget=0
    nswapdev=1
    swpages=589823, swpginuse=0, swpgonly=0 paging=0
  kernel pointers:
    objs(kern)=0xaa30c8

Reply via email to