coreos / rpm-ostree

⚛📦 Hybrid image/package system with atomic upgrades and package layering
https://coreos.github.io/rpm-ostree
Other
872 stars 196 forks source link

Daemon crashes when trying to update or rebase: buffer overflow detected #5098

Closed ventifus closed 1 month ago

ventifus commented 1 month ago

Describe the bug

Whenever I try to perform a change, either upgrading, rebasing or installing a new package, rpm-ostreed crashes.

Reproduction steps

$ rpm-ostree update

also happens with anything that makes changes e.g.

$ rpm-ostree rebase fedora:fedora/41/x86_64/silverblue

Expected behavior

rpm-ostree should not crash

Actual behavior

Sep 18 14:10:07 fedora rpm-ostree[48473]: Unlocked sysroot
Sep 18 14:10:07 fedora rpm-ostree[48473]: Process [pid: 48831 uid: 0 unit: user@1000.service] disconnected from transaction progress
Sep 18 14:10:07 fedora rpm-ostree[48473]: client(id:cli dbus:1.378 unit:vte-spawn-033c78d9-521c-4467-9e24-81e9893025ff.scope uid:0) vanished; remaining=0
Sep 18 14:10:07 fedora rpm-ostree[48473]: In idle state; will auto-exit in 60 seconds
Sep 18 14:10:24 fedora rpm-ostree[48473]: client(id:cli dbus:1.379 unit:vte-spawn-033c78d9-521c-4467-9e24-81e9893025ff.scope uid:0) added; new total=1
Sep 18 14:10:24 fedora rpm-ostree[48473]: Loaded sysroot
Sep 18 14:10:24 fedora rpm-ostree[48473]: Locked sysroot
Sep 18 14:10:24 fedora rpm-ostree[48473]: Initiated txn Rebase for client(id:cli dbus:1.379 unit:vte-spawn-033c78d9-521c-4467-9e24-81e9893025ff.scope uid:0): /org/projectatomic/rpmostree1/fedora
Sep 18 14:10:24 fedora rpm-ostree[48473]: Process [pid: 49069 uid: 0 unit: user@1000.service] connected to transaction progress
Sep 18 14:10:25 fedora rpm-ostree[48473]: Scanning metadata: 1
Sep 18 14:10:37 fedora rpm-ostree[48473]: *** buffer overflow detected ***: terminated
# coredumpctl info --no-pager
           PID: 48473 (rpm-ostree)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 6 (ABRT)
     Timestamp: Wed 2024-09-18 14:10:37 PDT (38s ago)
  Command Line: rpm-ostree start-daemon
    Executable: /usr/bin/rpm-ostree
 Control Group: /system.slice/rpm-ostreed.service
          Unit: rpm-ostreed.service
         Slice: system.slice
       Boot ID: 924f4f8855d84681b9c947aa73ab51e8
    Machine ID: b8549864438d4ec7a9e8aecd37567745
      Hostname: fedora
       Storage: /var/lib/systemd/coredump/core.rpm-ostree.0.924f4f8855d84681b9c947aa73ab51e8.48473.1726693837000000.zst (present)
  Size on Disk: 8.0M
       Package: rpm-ostree/2024.7-1.fc40
      build-id: 4d9b3d57de02d02080d52d9fae0e5b7c0348cb38
       Message: Process 48473 (rpm-ostree) of user 0 dumped core.

                Module libnss_resolve.so.2 from rpm systemd-255.10-3.fc40.x86_64
                Module libnss_mdns4_minimal.so.2 from rpm nss-mdns-0.15.1-11.fc40.x86_64
                Module libnss_mymachines.so.2 from rpm systemd-255.10-3.fc40.x86_64
                Module libnss_myhostname.so.2 from rpm systemd-255.10-3.fc40.x86_64
                Module libnss_systemd.so.2 from rpm systemd-255.10-3.fc40.x86_64
                Module libnss_sss.so.2 from rpm sssd-2.9.5-1.fc40.x86_64
                Module libnss_altfiles.so.2 from rpm nss-altfiles-2.23.0-4.fc40.x86_64
                Module libgvfscommon.so from rpm gvfs-1.54.2-1.fc40.x86_64
                Module libgioremote-volume-monitor.so from rpm gvfs-1.54.2-1.fc40.x86_64
                Module libduktape.so.207 from rpm duktape-2.7.0-7.fc40.x86_64
                Module libpxbackend-1.0.so from rpm libproxy-0.5.5-1.fc40.x86_64
                Module libproxy.so.1 from rpm libproxy-0.5.5-1.fc40.x86_64
                Module libp11-kit.so.0 from rpm p11-kit-0.25.5-1.fc40.x86_64
                Module libdconfsettings.so from rpm dconf-0.40.0-12.fc40.x86_64
                Module libkeyutils.so.1 from rpm keyutils-1.6.3-3.fc40.x86_64
                Module libkrb5support.so.0 from rpm krb5-1.21.3-1.fc40.x86_64
                Module libcom_err.so.2 from rpm e2fsprogs-1.47.0-5.fc40.x86_64
                Module libk5crypto.so.3 from rpm krb5-1.21.3-1.fc40.x86_64
                Module libkrb5.so.3 from rpm krb5-1.21.3-1.fc40.x86_64
                Module libunistring.so.5 from rpm libunistring-1.1-7.fc40.x86_64
                Module libgssapi_krb5.so.2 from rpm krb5-1.21.3-1.fc40.x86_64
                Module libidn2.so.0 from rpm libidn2-2.3.7-1.fc40.x86_64
                Module libnghttp2.so.14 from rpm nghttp2-1.59.0-3.fc40.x86_64
                Module libblkid.so.1 from rpm util-linux-2.40.1-1.fc40.x86_64
                Module libattr.so.1 from rpm attr-2.5.2-3.fc40.x86_64
                Module libcomposefs.so.1 from rpm composefs-1.0.3-1.fc40.x86_64
                Module libgpg-error.so.0 from rpm libgpg-error-1.49-1.fc40.x86_64
                Module libyaml-0.so.2 from rpm libyaml-0.2.5-14.fc40.x86_64
                Module libzck.so.1 from rpm zchunk-1.5.1-1.fc40.x86_64
                Module libcurl.so.4 from rpm curl-8.6.0-10.fc40.x86_64
                Module librpm_sequoia.so.1 from rpm rust-rpm-sequoia-1.7.0-1.fc40.x86_64
                Module liblua-5.4.so from rpm lua-5.4.6-5.fc40.x86_64
                Module libpopt.so.0 from rpm popt-1.19-6.fc40.x86_64
                Module libpcre2-8.so.0 from rpm pcre2-10.44-1.fc40.x86_64
                Module libselinux.so.1 from rpm libselinux-3.6-4.fc40.x86_64
                Module libmount.so.1 from rpm util-linux-2.40.1-1.fc40.x86_64
                Module libgmodule-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64
                Module libffi.so.8 from rpm libffi-3.4.4-7.fc40.x86_64
                Module libxml2.so.2 from rpm libxml2-2.12.8-1.fc40.x86_64
                Module libbz2.so.1 from rpm bzip2-1.0.8-18.fc40.x86_64
                Module liblz4.so.1 from rpm lz4-1.9.4-6.fc40.x86_64
                Module liblzma.so.5 from rpm xz-5.4.6-3.fc40.x86_64
                Module libacl.so.1 from rpm acl-2.3.2-1.fc40.x86_64
                Module libostree-1.so.1 from rpm ostree-2024.7-1.fc40.x86_64
                Module libz.so.1 from rpm zlib-ng-2.1.7-1.fc40.x86_64
                Module libzstd.so.1 from rpm zstd-1.5.6-1.fc40.x86_64
                Module libcrypto.so.3 from rpm openssl-3.2.2-3.fc40.x86_64
                Module libssl.so.3 from rpm openssl-3.2.2-3.fc40.x86_64
                Module libmodulemd.so.2 from rpm libmodulemd-2.15.0-12.fc40.x86_64
                Module libsolvext.so.1 from rpm libsolv-0.7.30-1.fc40.x86_64
                Module libsolv.so.1 from rpm libsolv-0.7.30-1.fc40.x86_64
                Module librepo.so.0 from rpm librepo-1.18.1-1.fc40.x86_64
                Module libjson-c.so.5 from rpm json-c-0.17-3.fc40.x86_64
                Module libsystemd.so.0 from rpm systemd-255.10-3.fc40.x86_64
                Module librpmio.so.10 from rpm rpm-4.19.1.1-1.fc40.x86_64
                Module librpm.so.10 from rpm rpm-4.19.1.1-1.fc40.x86_64
                Module libpolkit-gobject-1.so.0 from rpm polkit-124-2.fc40.x86_64
                Module libglib-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64
                Module libgio-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64
                Module libgobject-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64
                Module libarchive.so.13 from rpm libarchive-3.7.2-4.fc40.x86_64
                Module libjson-glib-1.0.so.0 from rpm json-glib-1.8.0-3.fc40.x86_64
                Module libcap.so.2 from rpm libcap-2.69-8.fc40.x86_64
                Module rpm-ostree from rpm rpm-ostree-2024.7-1.fc40.x86_64
                Stack trace of thread 49258:
                #0  0x00007faec6293664 __pthread_kill_implementation (libc.so.6 + 0x99664)
                #1  0x00007faec623ac4e raise (libc.so.6 + 0x40c4e)
                #2  0x00007faec6222902 abort (libc.so.6 + 0x28902)
                #3  0x00007faec6223767 __libc_message_impl.cold (libc.so.6 + 0x29767)
                #4  0x00007faec6321969 __fortify_fail (libc.so.6 + 0x127969)
                #5  0x00007faec6321304 __chk_fail (libc.so.6 + 0x127304)
                #6  0x00007faec6322af5 __snprintf_chk (libc.so.6 + 0x128af5)
                #7  0x00007faec64e3936 _try_clone_from_payload_link.isra.0 (libostree-1.so.1 + 0xca936)
                #8  0x00007faec646ee93 write_content_object.lto_priv.0 (libostree-1.so.1 + 0x55e93)
                #9  0x00007faec6472327 ostree_repo_write_content (libostree-1.so.1 + 0x59327)
                #10 0x00007faec647242a write_content_thread (libostree-1.so.1 + 0x5942a)
                #11 0x00007faec7281ab2 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xafab2)
                #12 0x00007faec7113542 g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f542)
                #13 0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #14 0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #15 0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 48473:
                #0  0x00007faec6315a32 epoll_wait (libc.so.6 + 0x11ba32)
                #1  0x000055e86c73be4a _ZN3mio4poll4Poll4poll17h07ff148e36df4969E (rpm-ostree + 0xa6de4a)
                #2  0x000055e86c729315 _ZN5tokio7runtime2io6driver6Driver4turn17h4ac812bbe601d034E (rpm-ostree + 0xa5b315)
                #3  0x000055e86c72b680 _ZN5tokio7runtime4time6Driver13park_internal17h5947ff637d0d95a5E (rpm-ostree + 0xa5d680)
                #4  0x000055e86c724d82 _ZN5tokio7runtime9scheduler14current_thread7Context4park17he5853135f43c98a2E (rpm-ostree + 0xa56d82)
                #5  0x000055e86bf286e3 _ZN10rpm_ostree4main17hffede088e92b67daE (rpm-ostree + 0x25a6e3)
                #6  0x000055e86beb6296 _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h2ca2fef2669eebceE (rpm-ostree + 0x1e8296)
                #7  0x000055e86bebd2ec _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h9994a54e1c7226aeE (rpm-ostree + 0x1ef2ec)
                #8  0x000055e86c76cbbd _ZN3std2rt19lang_start_internal17haefe40539dd82dc1E (rpm-ostree + 0xa9ebbd)
                #9  0x000055e86bf28a27 main (rpm-ostree + 0x25aa27)
                #10 0x00007faec6224088 __libc_start_call_main (libc.so.6 + 0x2a088)
                #11 0x00007faec622414b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a14b)
                #12 0x000055e86be62f55 _start (rpm-ostree + 0x194f55)

                Stack trace of thread 49076:
                #0  0x00007faec698711a sha256_block_data_order_avx2 (libcrypto.so.3 + 0x38711a)
                #1  0x00007faec67bf437 SHA256_Update (libcrypto.so.3 + 0x1bf437)
                #2  0x00007faec64c8c23 ot_checksum_update (libostree-1.so.1 + 0xafc23)
                #3  0x00007faec64c8cf7 ot_checksum_instream_read (libostree-1.so.1 + 0xafcf7)
                #4  0x00007faec724dd86 g_input_stream_read (libgio-2.0.so.0 + 0x7bd86)
                #5  0x00007faec646e7f0 write_content_object.lto_priv.0 (libostree-1.so.1 + 0x557f0)
                #6  0x00007faec6472327 ostree_repo_write_content (libostree-1.so.1 + 0x59327)
                #7  0x00007faec647242a write_content_thread (libostree-1.so.1 + 0x5942a)
                #8  0x00007faec7281ab2 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xafab2)
                #9  0x00007faec7113542 g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f542)
                #10 0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #11 0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #12 0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 48474:
                #0  0x00007faec630787d __poll (libc.so.6 + 0x10d87d)
                #1  0x00007faec7142c34 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xbec34)
                #2  0x00007faec70e2383 g_main_context_iteration (libglib-2.0.so.0 + 0x5e383)
                #3  0x000055e86bf35a5c rpmostree_builtin_start_daemon (rpm-ostree + 0x267a5c)
                #4  0x000055e86bf304df _ZN12rpmostreecxx14rpmostree_mainEN4rust10cxxbridge15SliceIKNS1_3StrEEE (rpm-ostree + 0x2624df)
                #5  0x000055e86bf29cf2 rpmostreecxx$cxxbridge1$rpmostree_main (rpm-ostree + 0x25bcf2)
                #6  0x000055e86c2543cc _ZN14rpmostree_rust3ffi14rpmostree_main17h68f36d372823d72bE (rpm-ostree + 0x5863cc)
                #7  0x000055e86bee65d7 _ZN5tokio7runtime4task3raw4poll17h3ab4dec3d94b9014E (rpm-ostree + 0x2185d7)
                #8  0x000055e86c717d8d _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17hb14459fee62a9740E (rpm-ostree + 0xa49d8d)
                #9  0x000055e86c718eb1 _ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hbf5c85531f2425baE (rpm-ostree + 0xa4aeb1)
                #10 0x000055e86c784dfb _ZN3std3sys3pal4unix6thread6Thread3new12thread_start17h23b56c479cf4a3afE (rpm-ostree + 0xab6dfb)
                #11 0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #12 0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 49257:
                #0  0x00007faec63133dd syscall (libc.so.6 + 0x1193dd)
                #1  0x00007faec713feb0 g_cond_wait_until (libglib-2.0.so.0 + 0xbbeb0)
                #2  0x00007faec70ab5e3 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x275e3)
                #3  0x00007faec711359a g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f59a)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 48477:
                #0  0x00007faec630787d __poll (libc.so.6 + 0x10d87d)
                #1  0x00007faec7142c34 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xbec34)
                #2  0x00007faec70e6f37 g_main_loop_run (libglib-2.0.so.0 + 0x62f37)
                #3  0x00007faec72e7682 gdbus_shared_thread_func.lto_priv.0 (libgio-2.0.so.0 + 0x115682)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 48475:
                #0  0x00007faec630787d __poll (libc.so.6 + 0x10d87d)
                #1  0x00007faec7142c34 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xbec34)
                #2  0x00007faec70e2383 g_main_context_iteration (libglib-2.0.so.0 + 0x5e383)
                #3  0x00007faec70e23e1 glib_worker_main (libglib-2.0.so.0 + 0x5e3e1)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 49260:
                #0  0x00007faec63133dd syscall (libc.so.6 + 0x1193dd)
                #1  0x00007faec713feb0 g_cond_wait_until (libglib-2.0.so.0 + 0xbbeb0)
                #2  0x00007faec70ab5e3 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x275e3)
                #3  0x00007faec711359a g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f59a)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 49259:
                #0  0x00007faec63133dd syscall (libc.so.6 + 0x1193dd)
                #1  0x00007faec713feb0 g_cond_wait_until (libglib-2.0.so.0 + 0xbbeb0)
                #2  0x00007faec70ab5e3 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x275e3)
                #3  0x00007faec711359a g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f59a)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 49261:
                #0  0x00007faec630abfe fsetxattr (libc.so.6 + 0x110bfe)
                #1  0x00007faec64d7310 glnx_fd_set_all_xattrs.isra.0 (libostree-1.so.1 + 0xbe310)
                #2  0x00007faec64e03e1 commit_loose_regfile_object.isra.0 (libostree-1.so.1 + 0xc73e1)
                #3  0x00007faec646eec5 write_content_object.lto_priv.0 (libostree-1.so.1 + 0x55ec5)
                #4  0x00007faec6472327 ostree_repo_write_content (libostree-1.so.1 + 0x59327)
                #5  0x00007faec647242a write_content_thread (libostree-1.so.1 + 0x5942a)
                #6  0x00007faec7281ab2 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xafab2)
                #7  0x00007faec7113542 g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f542)
                #8  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #9  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #10 0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 49075:
                #0  0x00007faec630787d __poll (libc.so.6 + 0x10d87d)
                #1  0x00007faec7142c34 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xbec34)
                #2  0x00007faec70e2383 g_main_context_iteration (libglib-2.0.so.0 + 0x5e383)
                #3  0x00007faec64839c3 ostree_repo_pull_with_options (libostree-1.so.1 + 0x6a9c3)
                #4  0x000055e86bf9004d rpmostree_sysroot_upgrader_pull_base (rpm-ostree + 0x2c204d)
                #5  0x000055e86bf50e06 _ZL26deploy_transaction_executeP22_RpmostreedTransactionP13_GCancellablePP7_GError (rpm-ostree + 0x282e06)
                #6  0x000055e86bf44af1 _ZL26transaction_execute_threadP6_GTaskPvS1_P13_GCancellable (rpm-ostree + 0x276af1)
                #7  0x00007faec7281ab2 g_task_thread_pool_thread (libgio-2.0.so.0 + 0xafab2)
                #8  0x00007faec7113542 g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x8f542)
                #9  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #10 0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #11 0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)

                Stack trace of thread 48476:
                #0  0x00007faec63133dd syscall (libc.so.6 + 0x1193dd)
                #1  0x00007faec713fccd g_cond_wait (libglib-2.0.so.0 + 0xbbccd)
                #2  0x00007faec70ab61b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x2761b)
                #3  0x00007faec7112a03 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x8ea03)
                #4  0x00007faec7111813 g_thread_proxy (libglib-2.0.so.0 + 0x8d813)
                #5  0x00007faec62916d7 start_thread (libc.so.6 + 0x976d7)
                #6  0x00007faec631560c __clone3 (libc.so.6 + 0x11b60c)
                ELF object binary architecture: AMD x86-64

System details

# rpm-ostree --version
rpm-ostree:
 Version: '2024.7'
 Git: 21911f1510b44d8962b28ff86a92f789f1db0095
 Features:
  - rust
  - compose
  - container
  - fedora-integration

Note: I used to have the previous deployment but I deleted it trying to eliminate potential sources of corruption.

# rpm-ostree status -b
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.service: last run failed
BootedDeployment:
● fedora:fedora/40/x86_64/silverblue
                  Version: 40.20240904.0 (2024-09-04T02:12:02Z)
               BaseCommit: d516f5b47a48e18e2317f9f038656363384b0b880bf9d48cd9686991bb3a8a2d
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
          LayeredPackages: gnome-boxes libvirt-daemon-kvm tlp tlp-rdw

Additional information

No response

ventifus commented 1 month ago

Attaching with gdb, I see the crash is in _try_clone_from_payload_link at

│  >   818       snprintf (target_checksum, size, "%.2s%.62s", target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN,                                         │
│      819                 target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN + 3);        

size looks important, but gdb tells me:

(gdb) print size
$10 = <optimized out>
cgwalters commented 1 month ago

What's ostree --version (or rpm -q ostree)? I think this was likely fixed by https://github.com/ostreedev/ostree/pull/3284

ventifus commented 1 month ago

ostree-2024.7-1.fc40.x86_64

libostree:
 Version: '2024.7'
 Git: 684652bdaa25ae16a551e5cfef82c8896cca5725
 Features:
  - inode64
  - initial-var
  - libcurl
  - libsoup3
  - gpgme
  - composefs
  - ex-fsverity
  - libarchive
  - selinux
  - openssl
  - sign-ed25519
  - libmount
  - systemd
  - release
  - p2p

I'd be willing to test the fix, but I'm not sure how since any changes I try crash. Run the daemon from a toolbox with --sysroot perhaps?

cgwalters commented 1 month ago
ostree admin unlock
rpm -Uvh https://download.copr.fedorainfracloud.org/results/@CoreOS/continuous/fedora-40-x86_64/08022255-ostree/ostree-{libs-,}2024.7.30.g2945165f-1.fc40.x86_64.rpm

or so

ventifus commented 1 month ago

Confirm that fixes the crash, I was able to proceed with an upgrade. Thank you!

cgwalters commented 1 month ago

Can you also run cat /ostree/repo/config? Have you explicitly enabled the "payload link" settings?

ventifus commented 1 month ago

Here's what I have

$ cat /ostree/repo/config
[core]
repo_version=1
mode=bare
payload-link-threshold=100
indexed-deltas=true
tombstone-commits=true

[sysroot]
readonly=true
cgwalters commented 1 month ago

OK. Why did you add payload-link-threshold? Are you explicitly using it for something?

ventifus commented 1 month ago

I never manually made changes to that file. Based on the mtime, it was changed a few days ago about the same time I was experimenting with various permutations of ostree fsck, ostree pull fedora:[basecommit], and ostree prune.

cgwalters commented 1 month ago

The fix is released in ostree v2024.8 which for f40 is queued in https://bodhi.fedoraproject.org/updates/FEDORA-2024-8e67a3a105 - feel free to "add karma" there.

I never manually made changes to that file.

Those options are not set by default to the best of my knowledge by any ostree-based variant shipped by Fedora derivatives.