Use of bbolt Go library causes 7.2 to freeze. I suspect it is triggering some
sort of deadlock in mmap because threads get stuck at vmmaplk.

I managed to reproduce it consistently in a laptop with 4 cores (i5-1135G7)
using one unit test from bbolt:

  $ doas pkg_add git go
  $ git clone https://github.com/etcd-io/bbolt.git
  $ cd bbolt
  $ git checkout v1.3.6
  $ go test -v -run TestSimulate_10000op_10p

The test never ends and this is the 'top' report:

  PID      TID PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
32181   438138 -18    0   57M   13M idle      uvn_fls   0:00  0.00% bbolt.test
32181   331169  10    0   57M   13M sleep/1   nanoslp   0:00  0.00% bbolt.test
32181   497390  10    0   57M   13M idle      vmmaplk   0:00  0.00% bbolt.test
32181   380477  14    0   57M   13M idle      vmmaplk   0:00  0.00% bbolt.test
32181   336950  14    0   57M   13M idle      vmmaplk   0:00  0.00% bbolt.test
32181   491043  14    0   57M   13M idle      vmmaplk   0:00  0.00% bbolt.test
32181   347071   2    0   57M   13M idle      kqread    0:00  0.00% bbolt.test

After this, most commands just hang. For example, running a 'ps | grep foo' in
another shell would do it.

Reply via email to