Segfault when writing database on `apk fix`
i'm not quite sure how to debug this...
version: 2.14.0-r5, running on Alpine edge
$ doas nano /etc/apk/world
$ doas apk fix
fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
fetch https://repo.ptrc.gay/ptrcports/x86_64/APKINDEX.tar.gz
fetch https://mirror.postmarketos.org/postmarketos/master/x86_64/APKINDEX.tar.gz
(1/36) Purging .makedepends-bcachefs-tools (20231128.033928)
(2/36) Purging clang17-dev (17.0.5-r0)
(3/36) Purging libaio-dev (0.3.113-r2)
(4/36) Purging libsodium-dev (1.0.19-r0)
(5/36) Purging keyutils-dev (1.6.3-r3)
(6/36) Purging lz4-dev (1.9.4-r5)
(7/36) Purging userspace-rcu-dev (0.14.0-r2)
(8/36) Purging .makedepends-firefox (20231210.205110)
(9/36) Purging hunspell-dev (1.7.2-r4)
(10/36) Purging libevent-dev (2.1.12-r7)
(11/36) Purging libtheora-dev (1.1.1-r18)
(12/36) Purging libvpx-dev (1.13.1-r0)
(13/36) Purging libxt-dev (1.3.0-r4)
(14/36) Purging lld-doc (17.0.5-r0)
(15/36) Purging lld (17.0.5-r0)
(16/36) Purging llvm17-dev (17.0.5-r0)
(17/36) Purging llvm17-test-utils-pyc (17.0.5-r0)
(18/36) Purging llvm17-test-utils (17.0.5-r0)
(19/36) Purging nasm-doc (2.16.01-r2)
(20/36) Purging nasm (2.16.01-r2)
(21/36) Purging nss-dev (3.94-r0)
(22/36) Purging pipewire-dev (1.0.0-r0)
(23/36) Purging wasi-sdk (20-r3)
(24/36) Purging wasi-libc (0.20231012-r0)
(25/36) Purging wasi-libcxx (17.0.5-r0)
(26/36) Purging wireless-tools-dev (30_pre9-r4)
(27/36) Purging .makedepends-hledger-stockquotes (20231119.055847)
(28/36) Purging .makedepends-pandoc-cli (20231107.221958)
(29/36) Purging cabal-doc (3.10.2.1-r0)
(30/36) Purging cabal (3.10.2.1-r0)
(31/36) Purging ghc-doc (9.4.8-r0)
(32/36) Purging ghc (9.4.8-r0)
(33/36) Purging llvm14 (14.0.6-r17)
(34/36) Purging lld-libs (17.0.5-r0)
(35/36) Purging llvm14-libs (14.0.6-r17)
(36/36) Purging nspr-dev (4.35-r4)
Executing busybox-1.36.1-r16.trigger
zsh: segmentation fault (core dumped) doas apk fix
gdb backtrace
$ gdb -q /sbin/apk core-apk-11-0-0-8265-1705133663
Reading symbols from /sbin/apk...
Reading symbols from /usr/lib/debug//sbin/apk.debug...
[New LWP 8265]
Core was generated by `apk fix'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 apk_db_write_fdb (db=db@entry=0x555f5abde880 <db>, os=os@entry=0x7f7774c2df30) at src/database.c:962
warning: 962 src/database.c: No such file or directory
(gdb) bt full
#0 apk_db_write_fdb (db=db@entry=0x555f5abde880 <db>, os=os@entry=0x7f7774c2df30) at src/database.c:962
ipkg = 0x0
pkg = <optimized out>
ppkg = 0x7f7776b132c8
pkgs = 0x7f7776b132c0
diri = <optimized out>
file = <optimized out>
c1 = <optimized out>
c2 = <optimized out>
buf = "r\230~zw\177\000\000\000\350\227m\375\177\000\000\a\000\000\0001/Teh\346\227m\375\177\000\000\a\000\000\000ict/\a\000\000\000\000\000\000\000\200\346\227m\375\177\000\000\000\347\227m\375\177\000\000\362\"\203zw\177\000\000\a\000\000\000w\177\000\000\000\000\000\000\a\000\000\000\037\000\000\000\000\000\000\000\272`7zw\177\000\000=\372vzw\177\000\000\231\2606zw\177\000\000\220\022\354tw\177\000\000\001\000\000\000\000\000\000\000\037\000\000\000\000\000\000\000]\245{zw\177\000\000H<\213[_U\000\000\\\303~zw\177\000\000\000\350\227m\375\177\000\000\000\000\000\000\000\000\000\000\356\347\227m\375\177\000\000h\346\227m\375\177\000\000"...
bbuf = {len = 5120, ptr = 0x7ffd6d97e578 "r\230~zw\177"}
r = 0
__mptr = <optimized out>
__mptr = <optimized out>
#1 0x00007f777a75cf63 in apk_db_write_config (db=db@entry=0x555f5abde880 <db>) at src/database.c:1763
os = 0x7f7774c2df30
r = <optimized out>
#2 0x00007f777a760b7a in apk_solver_commit_changeset (db=db@entry=0x555f5abde880 <db>, changeset=changeset@entry=0x7ffd6d97fb30, world=world@entry=0x7f777a05d4a0) at src/commit.c:374
prog = {done = {changes = 36, bytes = 0, packages = 36}, total = {changes = 36, bytes = 0, packages = 36}, pkg = 0x0}
change = <optimized out>
buf = "(37/36)", '\000' <repeats 13 times>, "\376\017\000\000\000\000\000\000\000\000\000"
size_unit = <optimized out>
humanized = 0
size_diff = <optimized out>
download_size = <optimized out>
r = <optimized out>
errors = 0
__func__ = "apk_solver_commit_changeset"
#3 0x00007f777a7610f6 in apk_solver_commit (db=0x555f5abde880 <db>, solver_flags=<optimized out>, world=0x7f777a05d4a0) at src/commit.c:785
changeset = {num_install = 0, num_remove = 36, num_adjust = 0, num_total_changes = 36, changes = 0x7f77744b9030}
r = 0
#4 0x0000555f5abd1db2 in main (argc=0, argv=<optimized out>) at src/apk.c:621
ctx = 0x7f777a74bcd0
dbopts = {lock_wait = 0, cache_max_age = 0, open_flags = 2, root = 0x0, arch = 0x0, keys_dir = 0x0, cache_dir = 0x7f777a76f627 "etc/apk/cache", repositories_file = 0x0,
protected_paths = {len = 0, ptr = 0x0}, repository_list = {next = 0x7ffd6d97fbd8, prev = 0x7ffd6d97fbd8}}
args = 0x7f777a77a7a0 <dummy_array>
applet = <optimized out>
r = 0