Commit 9b44fc23 authored by Kirill Smelkov's avatar Kirill Smelkov

X Unfortunately it crashes in GC even with weak.Ref reworked to be one word instead of two

    ---- 8< ----
    (z-dev) kirr@deca:~/src/wendelin/wendelin.core/wcfs$ time ./gogccrash 2>&1

    done, crashes:
    BUG/2/core

    Завершено

    real    28m54,016s
    user    30m27,968s
    sys     7m35,028s

    (z-dev) kirr@deca:~/src/wendelin/wendelin.core/wcfs$ cat BUG/2/log

    ...

    runtime: full=0xc0001f10000005 next=205 jobs=204 nDataRoots=1 nBSSRoots=1 nSpanRoots=16 nStackRoots=184
    panic: non-empty mark queue after concurrent mark
    fatal error: panic on system stack

    ...
    ---- 8< ----
parent 451d1e3f
>>> #1
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.39s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.24s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.43s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.56s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.38s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.56s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.67s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.71s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.24s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
2024/09/18 13:35:36 /tmp/δBTail1235268120/1.fs: watcher: stat /tmp/δBTail1235268120/1.fs: use of closed file
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.59s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.34s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.24s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.29s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.45s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.65s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.35s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.47s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.58s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.33s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.80s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.24s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.41s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.81s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.70s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.85s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.74s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
2024/09/18 13:42:23 /tmp/δBTail2990248913/1.fs: watcher: stat /tmp/δBTail2990248913/1.fs: use of closed file
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
2024/09/18 13:42:55 /tmp/δBTail2181922042/1.fs: watcher: stat /tmp/δBTail2181922042/1.fs: use of closed file
--- PASS: TestΔBTail (6.27s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.01s)
PASS
>>> #2
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.75s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.58s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.64s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.61s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.49s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.45s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.69s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.28s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.16s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.72s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.65s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.69s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.65s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.80s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.60s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.75s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
2024/09/18 13:50:17 /tmp/δBTail2242938245/1.fs: watcher: stat /tmp/δBTail2242938245/1.fs: use of closed file
--- PASS: TestΔBTail (5.57s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.73s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.72s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.75s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.68s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.66s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.69s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.71s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.81s)
PASS
>>> #3
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.83s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.16s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.21s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.85s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.92s)
=== RUN TestΔBTail
2024/09/18 13:57:42 /tmp/δBTail3732738726/1.fs: watcher: stat /tmp/δBTail3732738726/1.fs: use of closed file
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.73s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.86s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.16s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.91s)
=== RUN TestΔBTail
2024/09/18 14:00:00 /tmp/δBTail2940715025/1.fs: watcher: stat /tmp/δBTail2940715025/1.fs: use of closed file
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.73s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.81s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.36s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.83s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.85s)
=== RUN TestΔBTail
>>> #1
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.42s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.39s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.30s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.33s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.47s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.57s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.96s)
=== RUN TestΔBTail
2024/09/18 13:34:21 /tmp/δBTail1815846181/1.fs: watcher: stat /tmp/δBTail1815846181/1.fs: use of closed file
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.31s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.51s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.33s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.36s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.80s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.24s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.69s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.74s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.66s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.30s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (8.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.35s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.16s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
2024/09/18 13:39:05 /tmp/δBTail1085653173/1.fs: watcher: stat /tmp/δBTail1085653173/1.fs: use of closed file
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.31s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.72s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.76s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
2024/09/18 13:40:36 /tmp/δBTail71372556/1.fs: watcher: stat /tmp/δBTail71372556/1.fs: use of closed file
--- PASS: TestΔBTail (5.81s)
=== RUN TestΔBTail
2024/09/18 13:40:43 /tmp/δBTail717794879/1.fs: watcher: stat /tmp/δBTail717794879/1.fs: use of closed file
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.26s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
PASS
>>> #2
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.08s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.79s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.32s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.67s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.70s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.74s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.18s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.83s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.22s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.66s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.21s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.90s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.80s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.72s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.61s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.73s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.72s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.74s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.93s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.68s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.65s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.75s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.84s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.06s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
PASS
>>> #3
ZZZ 512
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.87s)
=== RUN TestΔBTail
2024/09/18 13:54:39 /tmp/δBTail1237419692/1.fs: watcher: stat /tmp/δBTail1237419692/1.fs: use of closed file
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.20s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.01s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.68s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
2024/09/18 13:55:44 /tmp/δBTail1487214241/1.fs: watcher: stat /tmp/δBTail1487214241/1.fs: use of closed file
--- PASS: TestΔBTail (6.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.00s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.13s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.23s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.19s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.74s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.10s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.91s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.12s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.88s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.05s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.95s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.87s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.07s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.15s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.33s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.41s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.89s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.26s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.96s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.11s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.04s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.85s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.78s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.82s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.92s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.09s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.17s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.94s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.98s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.99s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.03s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.14s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.77s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.97s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (7.02s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (6.59s)
=== RUN TestΔBTail
--- PASS: TestΔBTail (5.93s)
=== RUN TestΔBTail
runtime: full=0xc0001f10000005 next=205 jobs=204 nDataRoots=1 nBSSRoots=1 nSpanRoots=16 nStackRoots=184
panic: non-empty mark queue after concurrent mark
fatal error: panic on system stack
runtime stack:
runtime.throw({0x5c60fe?, 0x601d70?})
/home/kirr/src/tools/go/go1.21/src/runtime/panic.go:1077 +0x5c fp=0xc000051e88 sp=0xc000051e58 pc=0x436efc
panic({0x585100?, 0x601d70?})
/home/kirr/src/tools/go/go1.21/src/runtime/panic.go:840 +0x6ea fp=0xc000051f38 sp=0xc000051e88 pc=0x436e0a
runtime.gcMark(0x118946?)
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1464 +0x40c fp=0xc000051fb0 sp=0xc000051f38 pc=0x41bd6c
runtime.gcMarkTermination.func1()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:962 +0x17 fp=0xc000051fc8 sp=0xc000051fb0 pc=0x41b277
runtime.systemstack()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:509 +0x4a fp=0xc000051fd8 sp=0xc000051fc8 pc=0x468eea
goroutine 33 [garbage collection]:
runtime.systemstack_switch()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:474 +0x8 fp=0xc000092530 sp=0xc000092520 pc=0x468e88
runtime.gcMarkTermination()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:961 +0x129 fp=0xc0000926f8 sp=0xc000092530 pc=0x41a709
runtime.gcMarkDone()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:938 +0x28a fp=0xc000092750 sp=0xc0000926f8 pc=0x41a4ea
runtime.gcBgMarkWorker()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1427 +0x345 fp=0xc0000927e0 sp=0xc000092750 pc=0x41b645
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000927e8 sp=0xc0000927e0 pc=0x46ace1
created by runtime.gcBgMarkStartWorkers in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1219 +0x1c
goroutine 1 [chan receive]:
runtime.gopark(0xc0001479e8?, 0x40d285?, 0xa8?, 0x60?, 0x18?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000147980 sp=0xc000147960 pc=0x439d4e
runtime.chanrecv(0xc000278070, 0xc000147a67, 0x1)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:583 +0x3cd fp=0xc0001479f8 sp=0xc000147980 pc=0x40694d
runtime.chanrecv1(0x714580?, 0x585100?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:442 +0x12 fp=0xc000147a20 sp=0xc0001479f8 pc=0x406552
testing.(*T).Run(0xc0001c7a00, {0x5c301e?, 0x4d7a9c?}, 0x5d0c68)
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1649 +0x3c8 fp=0xc000147ae0 sp=0xc000147a20 pc=0x4d8b88
testing.runTests.func1(0xc000080800?)
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:2054 +0x3e fp=0xc000147b30 sp=0xc000147ae0 pc=0x4dac3e
testing.tRunner(0xc0001c7a00, 0xc000147c48)
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1595 +0xff fp=0xc000147b80 sp=0xc000147b30 pc=0x4d7d5f
testing.runTests(0xc0001020a0?, {0x70b2d0, 0x1, 0x1}, {0xc000076cb0?, 0x432245?, 0x0?})
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:2052 +0x445 fp=0xc000147c78 sp=0xc000147b80 pc=0x4dab25
testing.(*M).Run(0xc0001020a0)
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1925 +0x636 fp=0xc000147ec0 sp=0xc000147c78 pc=0x4d9516
main.main()
_testmain.go:47 +0x19c fp=0xc000147f40 sp=0xc000147ec0 pc=0x57169c
runtime.main()
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:267 +0x2bb fp=0xc000147fe0 sp=0xc000147f40 pc=0x4398db
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000147fe8 sp=0xc000147fe0 pc=0x46ace1
goroutine 2 [force gc (idle), 7 minutes]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc00003efa8 sp=0xc00003ef88 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.forcegchelper()
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:322 +0xb3 fp=0xc00003efe0 sp=0xc00003efa8 pc=0x439bb3
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00003efe8 sp=0xc00003efe0 pc=0x46ace1
created by runtime.init.7 in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:310 +0x1a
goroutine 3 [GC sweep wait]:
runtime.gopark(0x714601?, 0x714680?, 0xc?, 0x14?, 0x1?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc00003f778 sp=0xc00003f758 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/mgcsweep.go:321 +0xdf fp=0xc00003f7c8 sp=0xc00003f778 pc=0x4246ff
runtime.gcenable.func1()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:200 +0x25 fp=0xc00003f7e0 sp=0xc00003f7c8 pc=0x419865
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00003f7e8 sp=0xc00003f7e0 pc=0x46ace1
created by runtime.gcenable in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:200 +0x66
goroutine 4 [GC scavenge wait]:
runtime.gopark(0x3a313f?, 0x3b9aca00?, 0x0?, 0x0?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc00003ff70 sp=0xc00003ff50 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x714920)
/home/kirr/src/tools/go/go1.21/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc00003ffa0 sp=0xc00003ff70 pc=0x421f89
runtime.bgscavenge(0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc00003ffc8 sp=0xc00003ffa0 pc=0x422539
runtime.gcenable.func2()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:201 +0x25 fp=0xc00003ffe0 sp=0xc00003ffc8 pc=0x419805
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00003ffe8 sp=0xc00003ffe0 pc=0x46ace1
created by runtime.gcenable in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:201 +0xa5
goroutine 5 [semacquire]:
runtime.gopark(0x5?, 0xc000156ee8?, 0x45?, 0xb3?, 0x71ae00?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000156e90 sp=0xc000156e70 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.semacquire1(0x71507c, 0x0?, 0x0, 0x0, 0x1?)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:160 +0x218 fp=0xc000156ef8 sp=0xc000156e90 pc=0x44b0b8
runtime.semacquire(...)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:111
runtime.gcMarkDone()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:810 +0x2a fp=0xc000156f50 sp=0xc000156ef8 pc=0x41a28a
runtime.gcBgMarkWorker()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1427 +0x345 fp=0xc000156fe0 sp=0xc000156f50 pc=0x41b645
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000156fe8 sp=0xc000156fe0 pc=0x46ace1
created by runtime.gcBgMarkStartWorkers in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1219 +0x1c
goroutine 6 [runnable]:
runtime.gopark(0x5?, 0xc0000406e8?, 0xc0?, 0x7b?, 0x71ae00?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000040690 sp=0xc000040670 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.semacquire1(0x71507c, 0x0?, 0x0, 0x0, 0xac?)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:160 +0x218 fp=0xc0000406f8 sp=0xc000040690 pc=0x44b0b8
runtime.semacquire(...)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:111
runtime.gcMarkDone()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:810 +0x2a fp=0xc000040750 sp=0xc0000406f8 pc=0x41a28a
runtime.gcBgMarkWorker()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1427 +0x345 fp=0xc0000407e0 sp=0xc000040750 pc=0x41b645
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000407e8 sp=0xc0000407e0 pc=0x46ace1
created by runtime.gcBgMarkStartWorkers in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1219 +0x1c
goroutine 17 [semacquire]:
runtime.gopark(0x5?, 0xc00003a6e8?, 0x45?, 0xb3?, 0x71ae00?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc00003a690 sp=0xc00003a670 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.semacquire1(0x71507c, 0x0?, 0x0, 0x0, 0x5?)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:160 +0x218 fp=0xc00003a6f8 sp=0xc00003a690 pc=0x44b0b8
runtime.semacquire(...)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:111
runtime.gcMarkDone()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:810 +0x2a fp=0xc00003a750 sp=0xc00003a6f8 pc=0x41a28a
runtime.gcBgMarkWorker()
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1427 +0x345 fp=0xc00003a7e0 sp=0xc00003a750 pc=0x41b645
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00003a7e8 sp=0xc00003a7e0 pc=0x46ace1
created by runtime.gcBgMarkStartWorkers in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mgc.go:1219 +0x1c
goroutine 18 [finalizer wait]:
runtime.gopark(0x0?, 0xc00026d080?, 0x80?, 0xa0?, 0x1000000010?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000158e20 sp=0xc000158e00 pc=0x439d4e
runtime.runfinq()
/home/kirr/src/tools/go/go1.21/src/runtime/mfinal.go:193 +0x107 fp=0xc000158fe0 sp=0xc000158e20 pc=0x418887
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000158fe8 sp=0xc000158fe0 pc=0x46ace1
created by runtime.createfing in goroutine 1
/home/kirr/src/tools/go/go1.21/src/runtime/mfinal.go:163 +0x3d
goroutine 4828562 [chan send]:
runtime.gopark(0x18?, 0xc000044400?, 0x0?, 0x40?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000232668 sp=0xc000232648 pc=0x439d4e
runtime.chansend(0xc00010e660, 0xc000232790, 0x1, 0xc000284000?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:259 +0x3a5 fp=0xc0002326d8 sp=0xc000232668 pc=0x405be5
runtime.chansend1(0xc0001d2048?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:145 +0x17 fp=0xc000232708 sp=0xc0002326d8 pc=0x405837
lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets(0x51cac0?, 0x0, 0x4)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1040 +0x15f fp=0xc0002327b8 sp=0xc000232708 pc=0x56f7bf
lab.nexedi.com/nexedi/wendelin.core/wcfs.IntSets.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1027 +0x26 fp=0xc0002327e0 sp=0xc0002327b8 pc=0x56f626
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0002327e8 sp=0xc0002327e0 pc=0x46ace1
created by lab.nexedi.com/nexedi/wendelin.core/wcfs.IntSets in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1027 +0x6f
goroutine 4793030 [select]:
runtime.gopark(0xc0000e3f30?, 0x2?, 0x5?, 0x0?, 0xc0000e3eac?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc0000e3d20 sp=0xc0000e3d00 pc=0x439d4e
runtime.selectgo(0xc0000e3f30, 0xc0000e3ea8, 0x0?, 0x0, 0x586780?, 0x1)
/home/kirr/src/tools/go/go1.21/src/runtime/select.go:327 +0x725 fp=0xc0000e3e40 sp=0xc0000e3d20 pc=0x44a085
lab.nexedi.com/kirr/neo/go/zodb.(*DB).watcher(0xc0000b0180)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/db.go:234 +0xf7 fp=0xc0000e3fc8 sp=0xc0000e3e40 pc=0x5394f7
lab.nexedi.com/kirr/neo/go/zodb.NewDB.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/db.go:142 +0x25 fp=0xc0000e3fe0 sp=0xc0000e3fc8 pc=0x5390e5
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000e3fe8 sp=0xc0000e3fe0 pc=0x46ace1
created by lab.nexedi.com/kirr/neo/go/zodb.NewDB in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/db.go:142 +0x18a
goroutine 4792586 [runnable]:
runtime.gopark(0xc00027a900?, 0xc00021c350?, 0x0?, 0xa9?, 0x468ed2?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc00021c308 sp=0xc00021c2e8 pc=0x439d4e
runtime.goparkunlock(...)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:404
runtime.semacquire1(0xc0001d2738, 0x28?, 0x1, 0x0, 0x4b?)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:160 +0x218 fp=0xc00021c370 sp=0xc00021c308 pc=0x44b0b8
sync.runtime_Semacquire(0xc000108f60?)
/home/kirr/src/tools/go/go1.21/src/runtime/sema.go:62 +0x25 fp=0xc00021c3a8 sp=0xc00021c370 pc=0x467445
sync.(*WaitGroup).Wait(0x40f830?)
/home/kirr/src/tools/go/go1.21/src/sync/waitgroup.go:116 +0x48 fp=0xc00021c3d0 sp=0xc00021c3a8 pc=0x472588
lab.nexedi.com/kirr/neo/go/transaction.(*transaction).Abort(0xc00020a070)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/transaction/transaction.go:163 +0x31c fp=0xc00021c430 sp=0xc00021c3d0 pc=0x51c9dc
lab.nexedi.com/nexedi/wendelin.core/wcfs.(*ΔBtail).Update.func2()
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail.go:530 +0x25 fp=0xc00021c448 sp=0xc00021c430 pc=0x55d6c5
lab.nexedi.com/nexedi/wendelin.core/wcfs.(*ΔBtail).Update(0xc00021c8f0, 0xc00024c000)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail.go:555 +0x59d fp=0xc00021c5e8 sp=0xc00021c448 pc=0x55d5fd
lab.nexedi.com/nexedi/wendelin.core/wcfs.xverifyΔBTail1(0xc0001c7ba0, {0xc000134120, 0x2e}, 0xc0000b0180, 0x5b5d80?, 0x3fb6335ca034766, 0x28?, {0xc000122b90, 0x2, 0x2}, ...)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:630 +0xd72 fp=0xc00021cd70 sp=0xc00021c5e8 pc=0x569092
lab.nexedi.com/nexedi/wendelin.core/wcfs.xverifyΔBTail(0xc0001c7ba0, {0xc000134120, 0x2e}, 0x72db80?, 0x1?, 0xc0001452e0?, 0xc000145360?, {0xc000122b90, 0x2, 0x2}, ...)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:533 +0x747 fp=0xc00021d2a8 sp=0xc00021cd70 pc=0x567a47
lab.nexedi.com/nexedi/wendelin.core/wcfs.testΔBTail(0x59a420?, 0x0?)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:789 +0x4d7 fp=0xc00021d4d0 sp=0xc00021d2a8 pc=0x56ac37
lab.nexedi.com/nexedi/wendelin.core/wcfs.TestΔBTail(0xc0001c7ba0?)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1016 +0x4007 fp=0xc00021df70 sp=0xc00021d4d0 pc=0x56f3e7
testing.tRunner(0xc0001c7ba0, 0x5d0c68)
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1595 +0xff fp=0xc00021dfc0 sp=0xc00021df70 pc=0x4d7d5f
testing.(*T).Run.func1()
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1648 +0x25 fp=0xc00021dfe0 sp=0xc00021dfc0 pc=0x4d8ce5
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00021dfe8 sp=0xc00021dfe0 pc=0x46ace1
created by testing.(*T).Run in goroutine 1
/home/kirr/src/tools/go/go1.21/src/testing/testing.go:1648 +0x3ad
goroutine 4793029 [select]:
runtime.gopark(0xc000294ed0?, 0x2?, 0xbc?, 0x14?, 0xc000294dc4?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000294c50 sp=0xc000294c30 pc=0x439d4e
runtime.selectgo(0xc000294ed0, 0xc000294dc0, 0xc00023e840?, 0x0, 0x415e13?, 0x1)
/home/kirr/src/tools/go/go1.21/src/runtime/select.go:327 +0x725 fp=0xc000294d70 sp=0xc000294c50 pc=0x44a085
lab.nexedi.com/kirr/neo/go/zodb.(*storage)._watcher(0xc00020a690)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage.go:317 +0x1ea fp=0xc000294f98 sp=0xc000294d70 pc=0x54014a
lab.nexedi.com/kirr/neo/go/zodb.(*storage).watcher(0x4?)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage.go:256 +0x18 fp=0xc000294fc8 sp=0xc000294f98 pc=0x53ff38
lab.nexedi.com/kirr/neo/go/zodb.Open.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage.go:149 +0x25 fp=0xc000294fe0 sp=0xc000294fc8 pc=0x53fb05
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000294fe8 sp=0xc000294fe0 pc=0x46ace1
created by lab.nexedi.com/kirr/neo/go/zodb.Open in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage.go:149 +0x1e9
goroutine 4793027 [sleep]:
runtime.gopark(0x4153dbe0bcbf4?, 0x2?, 0x2?, 0x0?, 0xc000259e24?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000259d78 sp=0xc000259d58 pc=0x439d4e
time.Sleep(0x186a0)
/home/kirr/src/tools/go/go1.21/src/runtime/time.go:195 +0x125 fp=0xc000259db8 sp=0xc000259d78 pc=0x467f05
lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/internal/fsnotify-stub/fsnotify.(*Watcher).watch1(0xc0001bc0a0, {0x603538, 0xc0001162d0}, {0xc0001cc0c7, 0x1a})
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/internal/fsnotify-stub/fsnotify/fsnotify.go:141 +0x290 fp=0xc000259f30 sp=0xc000259db8 pc=0x54bff0
lab.nexedi.com/kirr/neo/go/zodb/storage/fs1.Open.(*Watcher).Add.func4({0x603538?, 0xc0001162d0?})
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/internal/fsnotify-stub/fsnotify/fsnotify.go:66 +0x32 fp=0xc000259f68 sp=0xc000259f30 pc=0x554a92
lab.nexedi.com/kirr/go123/xsync.(*WorkGroup).Go.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/go123/xsync/xsync.go:84 +0x62 fp=0xc000259fe0 sp=0xc000259f68 pc=0x54b982
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000259fe8 sp=0xc000259fe0 pc=0x46ace1
created by lab.nexedi.com/kirr/go123/xsync.(*WorkGroup).Go in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/go123/xsync/xsync.go:81 +0x79
goroutine 4792587 [chan send]:
runtime.gopark(0xc000208d20?, 0x4d7c8d?, 0x0?, 0xd9?, 0x61d9b3?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc0001a4ec8 sp=0xc0001a4ea8 pc=0x439d4e
runtime.chansend(0xc00023e180, 0xc0001a4fb0, 0x1, 0xc0001a4f60?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:259 +0x3a5 fp=0xc0001a4f38 sp=0xc0001a4ec8 pc=0x405be5
runtime.chansend1(0x585100?, 0x601d00?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:145 +0x17 fp=0xc0001a4f68 sp=0xc0001a4f38 pc=0x405837
lab.nexedi.com/nexedi/wendelin.core/wcfs.TestΔBTail.func3()
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1013 +0x92 fp=0xc0001a4fe0 sp=0xc0001a4f68 pc=0x56f4b2
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0001a4fe8 sp=0xc0001a4fe0 pc=0x46ace1
created by lab.nexedi.com/nexedi/wendelin.core/wcfs.TestΔBTail in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1010 +0x3ff2
goroutine 4828563 [chan send]:
runtime.gopark(0xc000233ed0?, 0x40cd49?, 0x0?, 0x40?, 0x20?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000233e68 sp=0xc000233e48 pc=0x439d4e
runtime.chansend(0xc00010e6c0, 0xc000233f90, 0x1, 0x56f701?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:259 +0x3a5 fp=0xc000233ed8 sp=0xc000233e68 pc=0x405be5
runtime.chansend1(0xc000210030?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:145 +0x17 fp=0xc000233f08 sp=0xc000233ed8 pc=0x405837
lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets(0x51cac0?, 0x1, 0x4)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1040 +0x15f fp=0xc000233fb8 sp=0xc000233f08 pc=0x56f7bf
lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1038 +0x28 fp=0xc000233fe0 sp=0xc000233fb8 pc=0x56f8a8
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000233fe8 sp=0xc000233fe0 pc=0x46ace1
created by lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets in goroutine 4828562
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1038 +0xe9
goroutine 4828548 [chan send]:
runtime.gopark(0xc000229ed0?, 0x40d285?, 0x20?, 0x40?, 0x20?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000229e68 sp=0xc000229e48 pc=0x439d4e
runtime.chansend(0xc00017a000, 0xc000229f90, 0x1, 0x56f701?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:259 +0x3a5 fp=0xc000229ed8 sp=0xc000229e68 pc=0x405be5
runtime.chansend1(0xc00010e780?, 0x0?)
/home/kirr/src/tools/go/go1.21/src/runtime/chan.go:145 +0x17 fp=0xc000229f08 sp=0xc000229ed8 pc=0x405837
lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets(0x51cac0?, 0x3, 0x4)
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1040 +0x15f fp=0xc000229fb8 sp=0xc000229f08 pc=0x56f7bf
lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets.func1()
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1038 +0x28 fp=0xc000229fe0 sp=0xc000229fb8 pc=0x56f8a8
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000229fe8 sp=0xc000229fe0 pc=0x46ace1
created by lab.nexedi.com/nexedi/wendelin.core/wcfs.intSets in goroutine 4828563
/home/kirr/src/wendelin/wendelin.core/wcfs/δbtail_test.go:1038 +0xe9
goroutine 4793028 [select]:
runtime.gopark(0xc000157e48?, 0x4?, 0x3?, 0x0?, 0xc000157b28?)
/home/kirr/src/tools/go/go1.21/src/runtime/proc.go:398 +0xce fp=0xc000157938 sp=0xc000157918 pc=0x439d4e
runtime.selectgo(0xc000157e48, 0xc000157b20, 0x93c1?, 0x0, 0x2?, 0x1)
/home/kirr/src/tools/go/go1.21/src/runtime/select.go:327 +0x725 fp=0xc000157a58 sp=0xc000157938 pc=0x44a085
lab.nexedi.com/kirr/neo/go/zodb/storage/fs1.(*FileStorage)._watcher(0xc00016c1c0, 0xc0001bc0a0, 0x0)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/filestorage.go:537 +0x31d fp=0xc000157ef8 sp=0xc000157a58 pc=0x55203d
lab.nexedi.com/kirr/neo/go/zodb/storage/fs1.(*FileStorage).watcher(0xc00016c1c0, 0x4?, 0x4?)
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/filestorage.go:465 +0x90 fp=0xc000157fb8 sp=0xc000157ef8 pc=0x551990
lab.nexedi.com/kirr/neo/go/zodb/storage/fs1.Open.func6()
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/filestorage.go:906 +0x28 fp=0xc000157fe0 sp=0xc000157fb8 pc=0x554988
runtime.goexit()
/home/kirr/src/tools/go/go1.21/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000157fe8 sp=0xc000157fe0 pc=0x46ace1
created by lab.nexedi.com/kirr/neo/go/zodb/storage/fs1.Open in goroutine 4792586
/home/kirr/src/wendelin/wendelin.core/wcfs/vendor/lab.nexedi.com/kirr/neo/go/zodb/storage/fs1/filestorage.go:906 +0xa1b
./gogccrash: строка 15: 1910628 Аварийный останов (образ памяти сброшен на диск) GOGC=0 $cwd/wcfs.test -test.v -test.count=100 -test.run 'TestΔBTail'
module lab.nexedi.com/nexedi/wendelin.core/wcfs
go 1.14
go 1.18
require (
github.com/kisielk/og-rek v1.0.1-0.20180928202415-8b25c4cefd6c
lab.nexedi.com/kirr/go123 v0.0.0-20200916121347-316617668e12
lab.nexedi.com/kirr/neo/go v0.0.0-20201012044742-28494187df87
)
// indirects
require (
github.com/cznic/strutil v0.0.0-20181122101858-275e90344537
github.com/DataDog/czlib v0.0.0-20160811164712-4bc9a24e37f2
github.com/fsnotify/fsnotify v1.4.10-0.20200417215612-7f4cf4dd2b52
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
github.com/philhofer/fwd v1.0.0
github.com/pkg/errors v0.9.1
github.com/someonegg/gocontainer v1.0.0
github.com/shamaton/msgpack v1.1.1
github.com/tinylib/msgp v1.1.3-0.20200327023543-e88e92c0ccca
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208
)
......@@ -117,7 +117,7 @@ type LiveCache struct {
//
// NOTE2 finalizers don't run on when they are attached to an object in cycle.
// Hopefully we don't have cycles with BTree/Bucket.
objtab map[Oid]*weak.Ref // oid -> weak.Ref(IPersistent)
objtab map[Oid]*weak.Ref[Persistent] // oid -> weak.Ref(IPersistent)
// hooks for application to influence live caching decisions.
control LiveCacheControl
......@@ -184,7 +184,7 @@ func newConnection(db *DB, at Tid) *Connection {
at: at,
cache: LiveCache{
pinned: make(map[Oid]IPersistent),
objtab: make(map[Oid]*weak.Ref),
objtab: make(map[Oid]*weak.Ref[Persistent]),
},
}
}
......@@ -231,7 +231,7 @@ func (cache *LiveCache) Get(oid Oid) IPersistent {
wobj := cache.objtab[oid]
if wobj != nil {
if xobj := wobj.Get(); xobj != nil {
obj = xobj.(IPersistent)
obj = xobj.instance
}
}
......@@ -252,7 +252,7 @@ func (cache *LiveCache) setNew(oid Oid, obj IPersistent) {
cache.pinned[oid] = obj
// XXX assert .objtab[oid] == nil ?
} else {
cache.objtab[oid] = weak.NewRef(obj)
cache.objtab[oid] = weak.NewRef(obj.persistent())
// XXX assert .pinned[oid] == nil ?
}
}
......@@ -264,7 +264,7 @@ func (cache *LiveCache) forEach(f func(IPersistent)) {
}
for _, wobj := range cache.objtab {
if xobj := wobj.Get(); xobj != nil {
f(xobj.(IPersistent))
f(xobj.instance)
}
}
}
......@@ -280,7 +280,7 @@ func (cache *LiveCache) SetControl(c LiveCacheControl) {
// reclassify all objects
c2 := *cache
cache.objtab = make(map[Oid]*weak.Ref)
cache.objtab = make(map[Oid]*weak.Ref[Persistent])
cache.pinned = make(map[Oid]IPersistent)
c2.forEach(func(obj IPersistent) {
cache.setNew(obj.POid(), obj)
......
......@@ -31,9 +31,10 @@ import (
"sync/atomic"
"time"
"unsafe"
"math/rand"
// "math/rand"
)
/*
// iface is how Go runtime represents an interface.
//
// NOTE layout must be synchronized to Go runtime representation.
......@@ -42,6 +43,7 @@ type iface struct {
typ uintptr // type
data uintptr // data
}
*/
// weakRefState represents current state of an object Ref points to.
type weakRefState int32
......@@ -60,8 +62,10 @@ const (
// There must be no more than 1 weak reference to any object.
// Weak references must not be attached to an object on which runtime.SetFinalizer is also used.
// Weak references must not be copied.
type Ref struct {
iface
type Ref[T any] struct {
// iface
// XXX only one word + reference to go memory model
iptr uintptr // XXX NOTE correctness depends on non-moving property of Go GC
// XXX try to do without mutex and only with atomics
mu sync.Mutex
......@@ -71,12 +75,13 @@ type Ref struct {
// NewRef creates new weak reference pointing to obj.
//
// TODO + onrelease callback?
func NewRef(obj interface{}) *Ref {
func NewRef[T any](obj *T) *Ref[T] {
// since starting from ~ Go1.4 the GC is precise, we can save interface
// pointers to uintptr and that won't prevent GC from garbage
// collecting the object.
w := &Ref{
iface: *(*iface)(unsafe.Pointer(&obj)),
w := &Ref[T]{
// iface: *(*iface)(unsafe.Pointer(&obj)),
iptr: (uintptr)(unsafe.Pointer(obj)),
state: objLive,
}
......@@ -85,10 +90,11 @@ func NewRef(obj interface{}) *Ref {
return w
}
func (w *Ref) release(obj interface{}) {
ifobj := *(*iface)(unsafe.Pointer(&obj))
if w.iface != ifobj {
panic(fmt.Sprintf("weak: release: w.iface != obj; w.iface=%x obj=%x", w.iface, ifobj))
func (w *Ref[T]) release(obj *T) {
// ifobj := *(*iface)(unsafe.Pointer(&obj))
iptr := (uintptr)(unsafe.Pointer(obj))
if w.iptr != iptr {
panic(fmt.Sprintf("weak: release: w.iptr != obj; w.iptr=%x obj=%x", w.iptr, iptr))
}
// GC decided that the object is no longer reachable and
......@@ -115,7 +121,7 @@ var xxx uint64
//
// If original object is still alive - it is returned.
// If not - nil is returned.
func (w *Ref) Get() (obj interface{}) {
func (w *Ref[T]) Get() (obj *T) {
w.mu.Lock()
if w.state != objReleased {
w.state = objGot
......@@ -123,6 +129,13 @@ func (w *Ref) Get() (obj interface{}) {
//time.Sleep(100*time.Nanosecond)
// recreate interface{} from saved words.
// XXX do writes as pointers so that compiler emits write barriers to notify GC?
// recreate pointer from saved word.
obj = (*T)(unsafe.Pointer(w.iptr))
atomic.AddUint64(&xxx, 1) // barrier
time.Sleep(100*time.Nanosecond)
/*
i := (*iface)(unsafe.Pointer(&obj))
//*i = w.iface
......@@ -150,6 +163,7 @@ func (w *Ref) Get() (obj interface{}) {
} else {
i.data = w.iface.data
}
*/
}
w.mu.Unlock()
......
# github.com/DataDog/czlib v0.0.0-20160811164712-4bc9a24e37f2
github.com/DataDog/czlib
## explicit
# github.com/cznic/strutil v0.0.0-20181122101858-275e90344537
github.com/cznic/strutil
## explicit
# github.com/fsnotify/fsnotify v1.4.10-0.20200417215612-7f4cf4dd2b52
github.com/fsnotify/fsnotify
## explicit
# github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
github.com/golang/glog
## explicit
# github.com/kisielk/og-rek v1.0.1-0.20180928202415-8b25c4cefd6c
## explicit
github.com/kisielk/og-rek
# github.com/philhofer/fwd v1.0.0
github.com/philhofer/fwd
## explicit
# github.com/pkg/errors v0.9.1
github.com/pkg/errors
## explicit
# github.com/shamaton/msgpack v1.1.1
## explicit
github.com/shamaton/msgpack
github.com/shamaton/msgpack/def
github.com/shamaton/msgpack/ext
......@@ -23,9 +30,12 @@ github.com/shamaton/msgpack/internal/encoding
github.com/shamaton/msgpack/time
# github.com/someonegg/gocontainer v1.0.0
github.com/someonegg/gocontainer/rbuf
## explicit
# github.com/tinylib/msgp v1.1.3-0.20200327023543-e88e92c0ccca
github.com/tinylib/msgp/msgp
## explicit
# golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208
## explicit
golang.org/x/sync/errgroup
# lab.nexedi.com/kirr/go123 v0.0.0-20200916121347-316617668e12
## explicit
......@@ -48,7 +58,7 @@ lab.nexedi.com/kirr/go123/xruntime
lab.nexedi.com/kirr/go123/xstrings
lab.nexedi.com/kirr/go123/xsync
# lab.nexedi.com/kirr/neo/go v0.0.0-20201012044742-28494187df87
## explicit
## explicit; go 1.18
lab.nexedi.com/kirr/neo/go/internal/log
lab.nexedi.com/kirr/neo/go/internal/packed
lab.nexedi.com/kirr/neo/go/internal/task
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment