As reported by @adamwill in https://bodhi.fedoraproject.org/updates/FEDORA-2024-3f975b9c0e """ So, this seems to break anaconda in network install image (but not ostree installer image, interestingly). This is consistent across 8 runs (BIOS/UEFI, each repeated once, on prod and stg). In the logs we see: 23:36:19,204 INF core.threads: Thread Failed: AnaPayloadThread (140120481064640) 23:36:19,205 DBG exception: running handleException 23:36:19,212 CRT exception: Traceback (most recent call last): File "/usr/lib64/python3.13/site-packages/pyanaconda/core/threads.py", line 280, in run threading.Thread.run(self) ~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib64/python3.13/threading.py", line 992, in run self._target(*self._args, **self._kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/site-packages/pyanaconda/payload/manager.py", line 111, in _task_run_callback self._run(*args, **kwargs) ~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/site-packages/pyanaconda/payload/manager.py", line 162, in _run payload.setup(self.report_progress, **kwargs) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/site-packages/pyanaconda/payload/dnf/payload.py", line 280, in setup set_up_sources(self.proxy) ~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/lib64/python3.13/site-packages/pyanaconda/ui/lib/payload.py", line 127, in set_up_sources sync_run_task(task_proxy) ~~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/__init__.py", line 46, in sync_run_task while task_proxy.IsRunning: ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/dasbus/client/proxy.py", line 164, in __getattr__ return member.get() ~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/dasbus/client/property.py", line 43, in get return self.__get__(None, None) # pylint: disable=unnecessary-dunder-call ~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/dasbus/client/property.py", line 54, in __get__ return self._getter() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/dasbus/client/handler.py", line 382, in _get_property_value variant = self._call_method( "org.freedesktop.DBus.Properties", ...<4 lines>... property_spec.name ) File "/usr/lib/python3.13/site-packages/dasbus/client/handler.py", line 450, in _call_method return self._get_method_reply( ~~~~~~~~~~~~~~~~~~~~~~^ self._client.sync_call, ^^^^^^^^^^^^^^^^^^^^^^^ *args, ^^^^^^ **kwargs, ^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/dasbus/client/handler.py", line 483, in _get_method_reply return self._handle_method_error(error) ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/lib/python3.13/site-packages/dasbus/client/handler.py", line 509, in _handle_method_error raise exception from None dasbus.error.DBusError: Message recipient disconnected from message bus without replying weirdly, there's a somewhat similar bug that showed up recently caused by a pygobject3 update: https://bugzilla.redhat.com/show_bug.cgi?id=2329587 . But I think that's just a coincidence. """
Whoever ends up debugging this: there is a download link at https://openqa.fedoraproject.org/tests/3070905#downloads for https://openqa.fedoraproject.org/tests/3070905/asset/iso/03070708-FEDORA-2024-3f975b9c0e-netinst-x86_64.iso
Created attachment 2061341 [details] journalctl Dec 05 15:48:15 fedora systemd-coredump[2651]: Process 2372 (python3) of user 0 dumped core. Module libsasldb.so from rpm cyrus-sasl-2.1.28-27.fc41.x86_64 Module libanonymous.so from rpm cyrus-sasl-2.1.28-27.fc41.x86_64 Module libnss_myhostname.so.2 from rpm systemd-257~rc3-1.fc42.x86_64 Module _smartcols.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module libcomps.so.0 from rpm libcomps-0.1.21-3.fc41.x86_64 Module _libpycomps.so from rpm libcomps-0.1.21-3.fc41.x86_64 Module _hawkey.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _utils.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _transaction.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _repo.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _module.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module libcrypt.so.2 from rpm libxcrypt-4.4.36-11.fc42.x86_64 Module libsasl2.so.3 from rpm cyrus-sasl-2.1.28-27.fc41.x86_64 Module libevent-2.1.so.7 from rpm libevent-2.1.12-14.fc41.x86_64 Module libkrb5support.so.0 from rpm krb5-1.21.3-3.fc42.x86_64 Module libk5crypto.so.3 from rpm krb5-1.21.3-3.fc42.x86_64 Module libkrb5.so.3 from rpm krb5-1.21.3-3.fc42.x86_64 Module libunistring.so.5 from rpm libunistring-1.1-8.fc41.x86_64 Module libgssapi_krb5.so.2 from rpm krb5-1.21.3-3.fc42.x86_64 Module libpsl.so.5 from rpm libpsl-0.21.5-4.fc41.x86_64 Module libssh.so.4 from rpm libssh-0.11.1-1.fc42.x86_64 Module libidn2.so.0 from rpm libidn2-2.3.7-2.fc41.x86_64 Module libnghttp2.so.14 from rpm nghttp2-1.64.0-1.fc42.x86_64 Module libzck.so.1 from rpm zchunk-1.5.1-1.fc41.x86_64 Module libcurl.so.4 from rpm curl-8.10.1-2.fc42.x86_64 Module libsmartcols.so.1 from rpm util-linux-2.40.2-8.fc42.x86_64 Module libmodulemd.so.2 from rpm libmodulemd-2.15.0-14.fc41.x86_64 Module libsolvext.so.1 from rpm libsolv-0.7.31-1.fc42.x86_64 Module libsolv.so.1 from rpm libsolv-0.7.31-1.fc42.x86_64 Module librepo.so.0 from rpm librepo-1.19.0-1.fc42.x86_64 Module libdnf.so.2 from rpm libdnf-0.73.4-1.fc42.x86_64 Module _conf.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _common_types.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module _error.so from rpm libdnf-0.73.4-1.fc42.x86_64 Module libtss2-mu.so.0 from rpm tpm2-tss-4.1.3-3.fc41.x86_64 Module libtss2-sys.so.1 from rpm tpm2-tss-4.1.3-3.fc41.x86_64 Module libattr.so.1 from rpm attr-2.5.2-4.fc41.x86_64 Module libtss2-esys.so.0 from rpm tpm2-tss-4.1.3-3.fc41.x86_64 Module libtss2-rc.so.0 from rpm tpm2-tss-4.1.3-3.fc41.x86_64 Module librpm_sequoia.so.1 from rpm rust-rpm-sequoia-1.7.0-2.fc41.x86_64 Module libacl.so.1 from rpm acl-2.3.2-2.fc41.x86_64 Module libfsverity.so.0 from rpm fsverity-utils-1.6-1.fc42.x86_64 Module libimaevm.so.5 from rpm ima-evm-utils-1.6.2-3.fc42.x86_64 Module libelf.so.1 from rpm elfutils-0.192-7.fc42.x86_64 Module libdw.so.1 from rpm elfutils-0.192-7.fc42.x86_64 Module liblua-5.4.so from rpm lua-5.4.7-1.fc42.x86_64 Module libpopt.so.0 from rpm popt-1.19-7.fc41.x86_64 Module libmagic.so.1 from rpm file-5.45-8.fc42.x86_64 Module librpmio.so.10 from rpm rpm-4.20.0-1.fc42.x86_64 Module librpm.so.10 from rpm rpm-4.20.0-1.fc42.x86_64 Module librpmsign.so.10 from rpm rpm-4.20.0-1.fc42.x86_64 Module librpmbuild.so.10 from rpm rpm-4.20.0-1.fc42.x86_64 Module _rpm.so from rpm rpm-4.20.0-1.fc42.x86_64 Module id128.cpython-313-x86_64-linux-gnu.so from rpm python-systemd-235-11.fc41.x86_64 Module _reader.cpython-313-x86_64-linux-gnu.so from rpm python-systemd-235-11.fc41.x86_64 Module libsystemd.so.0 from rpm systemd-257~rc3-1.fc42.x86_64 Module _journal.cpython-313-x86_64-linux-gnu.so from rpm python-systemd-235-11.fc41.x86_64 Module _pickle.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _multibytecodec.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module grp.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _json.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _queue.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libexpat.so.1 from rpm expat-2.6.4-1.fc42.x86_64 Module pyexpat.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _elementtree.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _datetime.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module unicodedata.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libnvme.so.1 from rpm libnvme-1.11.1-1.fc42.x86_64 Module libbd_nvme.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libcom_err.so.2 from rpm e2fsprogs-1.47.1-6.fc42.x86_64 Module libe2p.so.2 from rpm e2fsprogs-1.47.1-6.fc42.x86_64 Module libext2fs.so.2 from rpm e2fsprogs-1.47.1-6.fc42.x86_64 Module libbd_fs.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libfdisk.so.1 from rpm util-linux-2.40.2-8.fc42.x86_64 Module libbd_part.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_mdraid.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_dm.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_mpath.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libgpg-error.so.0 from rpm libgpg-error-1.51-1.fc42.x86_64 Module libjson-c.so.5 from rpm json-c-0.18-1.fc42.x86_64 Module libvolume_key.so.1 from rpm volume_key-0.3.12-23.fc41.x86_64 Module libkeyutils.so.1 from rpm keyutils-1.6.3-4.fc41.x86_64 Module libnspr4.so from rpm nss-3.106.0-1.fc42.x86_64 Module libplc4.so from rpm nss-3.106.0-1.fc42.x86_64 Module libplds4.so from rpm nss-3.106.0-1.fc42.x86_64 Module libnssutil3.so from rpm nss-3.106.0-1.fc42.x86_64 Module libnss3.so from rpm nss-3.106.0-1.fc42.x86_64 Module libsmime3.so from rpm nss-3.106.0-1.fc42.x86_64 Module libssl3.so from rpm nss-3.106.0-1.fc42.x86_64 Module libcryptsetup.so.12 from rpm cryptsetup-2.7.5-1.fc42.x86_64 Module libbd_crypto.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_loop.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_swap.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libbd_btrfs.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libyaml-0.so.2 from rpm libyaml-0.2.5-15.fc41.x86_64 Module libdevmapper.so.1.02 from rpm lvm2-2.03.27-1.fc42.x86_64 Module libbd_lvm-dbus.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libzstd.so.1 from rpm zstd-1.5.6-2.fc41.x86_64 Module libcap.so.2 from rpm libcap-2.71-1.fc42.x86_64 Module libkmod.so.2 from rpm kmod-33-1.fc42.x86_64 Module libudev.so.1 from rpm systemd-257~rc3-1.fc42.x86_64 Module libbd_utils.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libblockdev.so.3 from rpm libblockdev-3.2.1-1.fc42.x86_64 Module libgmp.so.10 from rpm gmp-6.3.0-2.fc41.x86_64 Module libmpfr.so.6 from rpm mpfr-4.2.1-5.fc41.x86_64 Module libbytesize.so.1 from rpm libbytesize-2.11-99.fc42.x86_64 Module _ctypes.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libblkid.so.1 from rpm util-linux-2.40.2-8.fc42.x86_64 Module libmount.so.1 from rpm util-linux-2.40.2-8.fc42.x86_64 Module libgio-2.0.so.0 from rpm glib2-2.83.0-2.fc42.x86_64 Module _cairo.cpython-313-x86_64-linux-gnu.so from rpm pycairo-1.25.1-5.fc41.x86_64 Module libbrotlicommon.so.1 from rpm brotli-1.1.0-5.fc41.x86_64 Module libgraphite2.so.3 from rpm graphite2-1.3.14-16.fc41.x86_64 Module libXau.so.6 from rpm libXau-1.0.11-7.fc41.x86_64 Module libbrotlidec.so.1 from rpm brotli-1.1.0-5.fc41.x86_64 Module libharfbuzz.so.0 from rpm harfbuzz-10.1.0-1.fc42.x86_64 Module libxml2.so.2 from rpm libxml2-2.12.8-2.fc41.x86_64 Module libpixman-1.so.0 from rpm pixman-0.44.0-0.fc42.x86_64 Module libxcb-shm.so.0 from rpm libxcb-1.17.0-3.fc42.x86_64 Module libxcb-render.so.0 from rpm libxcb-1.17.0-3.fc42.x86_64 Module libxcb.so.1 from rpm libxcb-1.17.0-3.fc42.x86_64 Module libXrender.so.1 from rpm libXrender-0.9.11-7.fc41.x86_64 Module libXext.so.6 from rpm libXext-1.3.6-2.fc41.x86_64 Module libX11.so.6 from rpm libX11-1.8.10-2.fc42.x86_64 Module libfreetype.so.6 from rpm freetype-2.13.3-1.fc42.x86_64 Module libfontconfig.so.1 from rpm fontconfig-2.15.0-8.fc41.x86_64 Module libpng16.so.16 from rpm libpng-1.6.44-1.fc42.x86_64 Module libcairo-gobject.so.2 from rpm cairo-1.18.2-1.fc42.x86_64 Module libcairo.so.2 from rpm cairo-1.18.2-1.fc42.x86_64 Module _gi_cairo.cpython-313-x86_64-linux-gnu.so from rpm pygobject3-3.50.0-2.fc42.x86_64 Module _asyncio.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _contextvars.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module binascii.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _struct.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libssl.so.3 from rpm openssl-3.2.2-8.fc42.x86_64 Module _ssl.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module array.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _socket.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _heapq.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libgmodule-2.0.so.0 from rpm glib2-2.83.0-2.fc42.x86_64 Module libffi.so.8 from rpm libffi-3.4.6-3.fc42.x86_64 Module libgobject-2.0.so.0 from rpm glib2-2.83.0-2.fc42.x86_64 Module libgirepository-1.0.so.1 from rpm gobject-introspection-1.82.0-1.fc42.x86_64 Module libglib-2.0.so.0 from rpm glib2-2.83.0-2.fc42.x86_64 Module _gi.cpython-313-x86_64-linux-gnu.so from rpm pygobject3-3.50.0-2.fc42.x86_64 Module libmpdec.so.3 from rpm mpdecimal-2.5.1-16.fc41.x86_64 Module _decimal.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libb2.so.1 from rpm libb2-0.98.1-12.fc41.x86_64 Module _blake2.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libcrypto.so.3 from rpm openssl-3.2.2-8.fc42.x86_64 Module _hashlib.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libuuid.so.1 from rpm util-linux-2.40.2-8.fc42.x86_64 Module _uuid.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _random.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _bisect.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module math.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module select.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module _posixsubprocess.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module fcntl.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module liblzma.so.5 from rpm xz-5.6.3-2.fc42.x86_64 Module _lzma.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libbz2.so.1 from rpm bzip2-1.0.8-19.fc41.x86_64 Module _bz2.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libz.so.1 from rpm zlib-ng-2.2.2-1.fc42.x86_64 Module zlib.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module libpcre2-8.so.0 from rpm pcre2-10.44-1.fc41.1.x86_64 Module libselinux.so.1 from rpm libselinux-3.7-7.fc42.x86_64 Module _selinux.cpython-313-x86_64-linux-gnu.so from rpm libselinux-3.7-7.fc42.x86_64 Module _opcode.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Module syslog.cpython-313-x86_64-linux-gnu.so from rpm python3.13-3.13.1-1.fc42.x86_64 Stack trace of thread 2649: #0 0x00007f8b9b8cbb44 __pthread_kill_implementation (libc.so.6 + 0x73b44) #1 0x00007f8b9b8722de raise (libc.so.6 + 0x1a2de) #2 0x00007f8b9b872410 __restore_rt (libc.so.6 + 0x1a410) #3 0x00007f8b880c7dc2 _wrap_PreserveOrderMapStringStringIterator___next__ (_common_types.so + 0x26dc2) #4 0x00007f8b9bbbbc5f n/a (n/a + 0x0) #5 0x00007f8b9bb87977 n/a (n/a + 0x0) #6 0x00007f8b9bb9d995 n/a (n/a + 0x0) #7 0x00007f8b9bc1caa3 n/a (n/a + 0x0) #8 0x00007f8b9bc4df2b n/a (n/a + 0x0) #9 0x00007f8b9bb9a51a n/a (n/a + 0x0) #10 0x00007f8b9bbcc09f n/a (n/a + 0x0) #11 0x00007f8b9bbbb385 n/a (n/a + 0x0) #12 0x00007f8b9bb87abd n/a (n/a + 0x0) #13 0x00007f8b9bb9a772 n/a (n/a + 0x0) #14 0x00007f8b9bbf4d02 n/a (n/a + 0x0) #15 0x00007f8b9bb9f167 n/a (n/a + 0x0) #16 0x00007f8b9bbf4d02 n/a (n/a + 0x0) #17 0x00007f8b9bceb5e7 n/a (n/a + 0x0) #18 0x00007f8b9bc5ad9c n/a (n/a + 0x0) #19 0x00007f8b9b8c9cb8 start_thread (libc.so.6 + 0x71cb8) #20 0x00007f8b9b94cedc __clone3 (libc.so.6 + 0xf4edc) Stack trace of thread 2417: #0 0x00007f8b9b94ad2d syscall (libc.so.6 + 0xf2d2d) #1 0x00007f8b8c938b1d g_cond_wait (libglib-2.0.so.0 + 0x6bb1d) #2 0x00007f8b8c8d7acb g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0xaacb) #3 0x00007f8b8c941763 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x74763) #4 0x00007f8b8c941677 g_thread_proxy (libglib-2.0.so.0 + 0x74677) #5 0x00007f8b9b8c9cb8 start_thread (libc.so.6 + 0x71cb8) #6 0x00007f8b9b94cedc __clone3 (libc.so.6 + 0xf4edc) Stack trace of thread 2372: #0 0x00007f8b9b8d1fb2 __syscall_cancel_arch (libc.so.6 + 0x79fb2) #1 0x00007f8b9b8c5d93 __internal_syscall_cancel (libc.so.6 + 0x6dd93) #2 0x00007f8b9b8c5dd4 __syscall_cancel (libc.so.6 + 0x6ddd4) #3 0x00007f8b9b93ff06 ppoll (libc.so.6 + 0xe7f06) #4 0x00007f8b8c96eae3 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xa1ae3) #5 0x00007f8b8c9132f7 g_main_loop_run (libglib-2.0.so.0 + 0x462f7) #6 0x00007f8b8c83e056 ffi_call_unix64 (libffi.so.8 + 0x9056) #7 0x00007f8b8c83974d ffi_call_int.lto_priv.0 (libffi.so.8 + 0x474d) #8 0x00007f8b8c83c64e ffi_call (libffi.so.8 + 0x764e) #9 0x00007f8b8ca520a1 n/a (_gi.cpython-313-x86_64-linux-gnu.so + 0x2c0a1) #10 0x00007f8b8ca4fbab n/a (_gi.cpython-313-x86_64-linux-gnu.so + 0x29bab) #11 0x00007f8b8ca394e2 n/a (_gi.cpython-313-x86_64-linux-gnu.so + 0x134e2) #12 0x00007f8b9bb83fcb n/a (n/a + 0x0) #13 0x00007f8b9bb9d995 n/a (n/a + 0x0) #14 0x00007f8b9bc6a01b n/a (n/a + 0x0) #15 0x00007f8b9bc84574 n/a (n/a + 0x0) #16 0x00007f8b9bbb4127 n/a (n/a + 0x0) #17 0x00007f8b9bb87977 n/a (n/a + 0x0) #18 0x00007f8b9bb9d995 n/a (n/a + 0x0) #19 0x00007f8b9bca3d4d n/a (n/a + 0x0) #20 0x00007f8b9bc9f25e n/a (n/a + 0x0) #21 0x00007f8b9bc5931c n/a (n/a + 0x0) #22 0x00007f8b9b85c0c8 __libc_start_call_main (libc.so.6 + 0x40c8) #23 0x00007f8b9b85c18b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x418b) #24 0x000055f827c78095 n/a (n/a + 0x0) ELF object binary architecture: AMD x86-64
Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: Fatal Python error: Segmentation fault Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: Current thread 0x00007f8b818986c0 (most recent call first): Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/libdnf/common_types.py", line 732 in __next__ Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/libdnf/conf.py", line 1825 in ConfigParser__options Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib/python3.13/site-packages/dnf/conf/config.py", line 143 in _populate Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib/python3.13/site-packages/dnf/conf/config.py", line 479 in read Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py", line 119 in _create_base Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py", line 111 in _base Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py", line 480 in clear_cache Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/payload/dnf/initialization.py", line 198 in _configure_dnf_manager Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/payload/dnf/initialization.py", line 107 in run Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task.py", line 107 in _task_run_callback Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task.py", line 94 in _thread_run_callback Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/threading.py", line 992 in run Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/core/threads.py", line 280 in run Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/threading.py", line 1041 in _bootstrap_inner Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/threading.py", line 1012 in _bootstrap Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: Thread 0x00007f8b9b76c740 (most recent call first): Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/gi/overrides/GLib.py", line 497 in run Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/base/base.py", line 92 in run Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/payloads/__main__.py", line 29 in <module> Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "<frozen runpy>", line 88 in _run_code Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: File "<frozen runpy>", line 198 in _run_module_as_main Dec 05 15:48:14 fedora org.fedoraproject.Anaconda.Modules.Payloads[2372]: Extension modules: selinux._selinux, gi._gi, cairo._cairo, gi._gi_cairo, systemd._journal, systemd._reader, systemd.id128, rpm._rpm, libdnf._error, libdnf._common_types, libdnf._conf, libdnf._module, libdnf._repo, libdnf._transaction, libdnf._utils, hawkey._hawkey, libcomps._libpycomps, libdnf._smartcols (total: 18)
I can get this on tty2: # python3 ... >>> import dnf >>> base = dnf.Base() >>> base.conf.read() Segmentation fault (core dumped)
(But not in podman or mock.) On the installer image: # python3 -X dev -c 'import dnf; base = dnf.Base(); base.conf.read()' <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute <frozen importlib._bootstrap>:488: DeprecationWarning: builtin type swigvarlink has no __module__ attribute Fatal Python error: Segmentation fault Current thread 0x00007fb7e44eb740 (most recent call first): File "/usr/lib64/python3.13/site-packages/libdnf/common_types.py", line 732 in __next__ File "/usr/lib64/python3.13/site-packages/libdnf/conf.py", line 1825 in ConfigParser__options File "/usr/lib/python3.13/site-packages/dnf/conf/config.py", line 143 in _populate File "/usr/lib/python3.13/site-packages/dnf/conf/config.py", line 479 in read File "<string>", line 1 in <module> Extension modules: libdnf._error, libdnf._common_types, libdnf._conf, libdnf._module, libdnf._repo, libdnf._transaction, libdnf._utils, rpm._rpm, hawkey._hawkey, libcomps._libpycomps, libdnf._smartcols (total: 11) This sound very similar to bz2318762
>>> import libdnf >>> parser = libdnf.conf.ConfigParser() >>> parser.read('/etc/dnf/dnf.conf') ['/etc/dnf/dnf.conf'] >>> parser.hasSection('main') True >>> parser.options('main') #0 Iterator_Sl_libdnf_PreserveOrderMap_Sl_std_string_Sc_std_string_Sg__Sg__next (self=0x555555894430) at /usr/src/debug/libdnf-0.73.4-1.fc42.x86_64/build-py3/bindings/python/CMakeFiles/_common_types.dir/common_typesPYTHON_wrap.cxx:6053 #1 _wrap_PreserveOrderMapStringStringIterator___next__ (self=<optimized out>, args=<optimized out>) at /usr/src/debug/libdnf-0.73.4-1.fc42.x86_64/build-py3/bindings/python/CMakeFiles/_common_types.dir/common_typesPYTHON_wrap.cxx:16161 #2 0x00007ffff7b6dc5f in cfunction_vectorcall_O (func=0x7fffe91fe250, args=0x7fffe96ee740, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/cpython/methodobject.h:50 #3 0x00007ffff7b39977 in _PyObject_VectorcallTstate (tstate=0x7ffff7f3b870 <_PyRuntime+283024>, callable=0x7fffe91fe250, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_call.h:168 #4 PyObject_Vectorcall (callable=0x7fffe91fe250, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/call.c:327 #5 0x00007ffff7b4f995 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/generated_cases.c.h:813 #6 0x00007ffff7bceaa3 in _PyEval_EvalFrame (tstate=0x7ffff7f3b870 <_PyRuntime+283024>, frame=0x7fffe96ee6e0, throwflag=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_ceval.h:119 #7 _PyEval_Vector (tstate=0x7ffff7f3b870 <_PyRuntime+283024>, func=0x7fffe92145e0, locals=0x0, args=<optimized out>, argcount=<optimized out>, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:1811 #8 _PyFunction_Vectorcall (func=0x7fffe92145e0, stack=<optimized out>, nargsf=<optimized out>, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/call.c:413 #9 _PyObject_VectorcallTstate (tstate=0x7ffff7f3b870 <_PyRuntime+283024>, callable=0x7fffe92145e0, args=<optimized out>, nargsf=<optimized out>, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_call.h:168 #10 vectorcall_unbound (tstate=<optimized out>, unbound=<optimized out>, func=<optimized out>, args=<optimized out>, nargs=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:2566 #11 vectorcall_method (name=name@entry=0x7ffff7f00ac0 <_PyRuntime+41952>, args=args@entry=0x7fffffffdf60, nargs=nargs@entry=1) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:2597 #12 0x00007ffff7bfff2b in slot_tp_iternext (self=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:9719 #13 0x00007ffff7b4c51a in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/object.h:336 #14 0x00007ffff7c1c01b in PyEval_EvalCode (co=0x7fffe91c9e30, globals=<optimized out>, locals=0x7fffe961b300) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:601 #15 0x00007ffff7c36574 in builtin_exec_impl (module=<optimized out>, source=0x7fffe91c9e30, globals=0x7fffe961b300, locals=0x7fffe961b300, closure=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/bltinmodule.c:1145 #16 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/clinic/bltinmodule.c.h:556 #17 0x00007ffff7b4d4ca in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/generated_cases.c.h:1217 #18 0x00007ffff7c1c01b in PyEval_EvalCode (co=0x7fffe93dd730, globals=<optimized out>, locals=0x7fffe961b300) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:601 #19 0x00007ffff7c36574 in builtin_exec_impl (module=<optimized out>, source=0x7fffe93dd730, globals=0x7fffe961b300, locals=0x7fffe961b300, closure=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/bltinmodule.c:1145 #20 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/clinic/bltinmodule.c.h:556 #21 0x00007ffff7b66127 in cfunction_vectorcall_FASTCALL_KEYWORDS (func=0x7fffe97f2200, args=0x7fffe96ee180, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/cpython/methodobject.h:50 #22 0x00007ffff7b39977 in _PyObject_VectorcallTstate (tstate=0x7ffff7f3b870 <_PyRuntime+283024>, callable=0x7fffe97f2200, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_call.h:168 #23 PyObject_Vectorcall (callable=0x7fffe97f2200, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/call.c:327 #24 0x00007ffff7b4f995 in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/generated_cases.c.h:813 #25 0x00007ffff7c55d4d in pymain_run_module (modname=modname@entry=0x7ffff7e02e90 L"_pyrepl", set_argv0=set_argv0@entry=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:349 #26 0x00007ffff7a547b5 in pymain_run_stdin (config=0x7ffff7f0df68 <_PyRuntime+96392>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:574 #27 pymain_run_python (exitcode=0x7fffffffe81c) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:699 #28 Py_RunMain () at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:775 #29 0x00007ffff7c0b31c in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:829 #30 0x00007ffff780e0c8 in __libc_start_call_main (main=main@entry=0x555555555160 <main>, argc=argc@entry=1, argv=argv@entry=0x7fffffffea88) at ../sysdeps/nptl/libc_start_call_main.h:58 #31 0x00007ffff780e18b in __libc_start_main_impl (main=0x555555555160 <main>, argc=1, argv=0x7fffffffea88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffea78) at ../csu/libc-start.c:360 #32 0x0000555555555095 in _start ()
Looks like this also affects the F41 update - https://bodhi.fedoraproject.org/updates/FEDORA-2024-3c18fe0d93 . It probably also technically affects the F40 update, but as 3.13 isn't the system Python there it's not really a practical problem.
I would like to get python3-debug on that iso. Adam told me to edit https://github.com/weldr/lorax/blob/master/share/templates.d/99-generic/runtime-install.tmpl and "run lorax" but I have no idea how.
(In reply to Miro Hrončok from comment #1) > Whoever ends up debugging this: there is a download link at > https://openqa.fedoraproject.org/tests/3070905#downloads for > https://openqa.fedoraproject.org/tests/3070905/asset/iso/03070708-FEDORA- > 2024-3f975b9c0e-netinst-x86_64.iso The link appears to have expired. I have that file. I would upload it to fedorapeople.org but I don't have enough space.
Side note: Running `wget` (no arguments necessary) on that machine also results in a Segmentation fault
The good point is, when I mount that iso, and mount install.img from it and then purge /var/lib/mock/fedora-rawhide-x86_64/root and cp -a the contents of install.img to it, I can reproduce the segfault in mock.
Program received signal SIGSEGV, Segmentation fault. Iterator_Sl_libdnf_PreserveOrderMap_Sl_std_string_Sc_std_string_Sg__Sg__next (self=0x5555555f80b0) at /usr/src/debug/libdnf-0.73.4-1.fc42.x86_64/build-py3/bindings/python/CMakeFiles/_common_types.dir/common_typesPYTHON_wrap.cxx:6053 6053 return (self->cur++)->first; (gdb) bt #0 Iterator_Sl_libdnf_PreserveOrderMap_Sl_std_string_Sc_std_string_Sg__Sg__next (self=0x5555555f80b0) at /usr/src/debug/libdnf-0.73.4-1.fc42.x86_64/build-py3/bindings/python/CMakeFiles/_common_types.dir/common_typesPYTHON_wrap.cxx:6053 #1 _wrap_PreserveOrderMapStringStringIterator___next__ (self=<optimized out>, args=<optimized out>) at /usr/src/debug/libdnf-0.73.4-1.fc42.x86_64/build-py3/bindings/python/CMakeFiles/_common_types.dir/common_typesPYTHON_wrap.cxx:16161 #2 0x00007ffff776632c in cfunction_vectorcall_O (func=0x7fffe8b079b0, args=0x7ffff7e49178, nargsf=9223372036854775809, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/methodobject.c:512 #3 0x00007ffff76ea901 in _PyObject_VectorcallTstate (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, callable=0x7fffe8b079b0, args=0x7ffff7e49178, nargsf=9223372036854775809, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_call.h:168 #4 0x00007ffff76eb77c in PyObject_Vectorcall (callable=0x7fffe8b079b0, args=0x7ffff7e49178, nargsf=9223372036854775809, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/call.c:327 #5 0x00007ffff78a7480 in _PyEval_EvalFrameDefault (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, frame=0x7ffff7e49118, throwflag=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/generated_cases.c.h:813 #6 0x00007ffff78a1107 in _PyEval_EvalFrame (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, frame=0x7ffff7e49118, throwflag=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_ceval.h:119 #7 0x00007ffff78c5c35 in _PyEval_Vector (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, func=0x7fffe8b38950, locals=0x0, args=0x7fffffffbff0, argcount=1, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:1811 #8 0x00007ffff76ebb7c in _PyFunction_Vectorcall (func=0x7fffe8b38950, stack=0x7fffffffbff0, nargsf=1, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/call.c:413 #9 0x00007ffff77aab70 in _PyObject_VectorcallTstate (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, callable=0x7fffe8b38950, args=0x7fffffffbff0, nargsf=1, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_call.h:168 #10 0x00007ffff77b1b93 in vectorcall_unbound (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, unbound=1, func=0x7fffe8b38950, args=0x7fffffffbff0, nargs=1) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:2566 #11 0x00007ffff77b1c86 in vectorcall_method (name=0x7ffff7d80440 <_PyRuntime+57952>, args=0x7fffffffbff0, nargs=1) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:2597 #12 0x00007ffff77c6883 in slot_tp_iternext (self=0x7fffe929e160) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Objects/typeobject.c:9719 #13 0x00007ffff78b13ce in _PyEval_EvalFrameDefault (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, frame=0x7ffff7e49080, throwflag=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/generated_cases.c.h:2786 #14 0x00007ffff78a1107 in _PyEval_EvalFrame (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, frame=0x7ffff7e49020, throwflag=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Include/internal/pycore_ceval.h:119 #15 0x00007ffff78c5c35 in _PyEval_Vector (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, func=0x7fffe93dbe90, locals=0x7fffe93785f0, args=0x0, argcount=0, kwnames=0x0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:1811 #16 0x00007ffff78a2d76 in PyEval_EvalCode (co=0x7ffff738de70, globals=0x7fffe93785f0, locals=0x7fffe93785f0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/ceval.c:601 #17 0x00007ffff79d2652 in run_eval_code_obj (tstate=0x7ffff7dbb200 <_PyRuntime+299040>, co=0x7ffff738de70, globals=0x7fffe93785f0, locals=0x7fffe93785f0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/pythonrun.c:1337 #18 0x00007ffff79d2a22 in run_mod (mod=0x555555613f28, filename=0x7fffe9377a60, globals=0x7fffe93785f0, locals=0x7fffe93785f0, flags=0x7fffffffe010, arena=0x7fffe9378e80, interactive_src=0x7ffff735f7f0, generate_new_source=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/pythonrun.c:1422 #19 0x00007ffff79d22bb in _PyRun_StringFlagsWithName (str=0x7ffff73a3760 "import libdnf; parser = libdnf.conf.ConfigParser(); parser.read(\"conf\"); parser.options(\"main\")\n", name=0x7fffe9377a60, start=257, globals=0x7fffe93785f0, locals=0x7fffe93785f0, flags=0x7fffffffe010, generate_new_source=0) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/pythonrun.c:1221 #20 0x00007ffff79d0911 in _PyRun_SimpleStringFlagsWithName (command=0x7ffff73a3760 "import libdnf; parser = libdnf.conf.ConfigParser(); parser.read(\"conf\"); parser.options(\"main\")\n", name=0x7ffff7af6c4e "<string>", flags=0x7fffffffe010) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Python/pythonrun.c:547 #21 0x00007ffff7a0a58f in pymain_run_command (command=0x55555555b520 L"import libdnf; parser = libdnf.conf.ConfigParser(); parser.read(\"conf\"); parser.options(\"main\")\n") at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:253 #22 0x00007ffff7a0b6c7 in pymain_run_python (exitcode=0x7fffffffe0c4) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:687 #23 0x00007ffff7a0b888 in Py_RunMain () at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:775 #24 0x00007ffff7a0b95e in pymain_main (args=0x7fffffffe140) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:805 #25 0x00007ffff7a0ba26 in Py_BytesMain (argc=3, argv=0x7fffffffe2b8) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Modules/main.c:829 #26 0x000055555555517d in main (argc=3, argv=0x7fffffffe2b8) at /usr/src/debug/python3.13-3.13.1-1.fc42.x86_64/Programs/python.c:15
When I then replace the content of python3-libdnf with the rpm-installed one, the segfault is gone. The difference is: <mock-chroot> sh-5.2# rpm --verify python3-libdnf ..5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/__init__.cpython-313.opt-1.pyc ..5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/__init__.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/common_types.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/common_types.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/conf.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/conf.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/error.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/error.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/module.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/module.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/repo.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/repo.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/transaction.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/transaction.cpython-313.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/utils.cpython-313.opt-1.pyc S.5....T. /usr/lib64/python3.13/site-packages/libdnf/__pycache__/utils.cpython-313.pyc I narrowed it down to /usr/lib64/python3.13/site-packages/libdnf/__pycache__/conf.cpython-313.pyc. When I rpm-install python3-libdnf and I replace just conf.cpython-313.pyc with he one form the image, I get the crash.
$ mock -r fedora-rawhide-x86_64 init ... $ mock -r fedora-rawhide-x86_64 install https://kojipkgs.fedoraproject.org//packages/python3.13/3.13.1/1.fc42/x86_64/python3{,-libs}-3.13.1-1.fc42.x86_64.rpm python3-libdnf ... <mock-chroot> sh-5.2# python3 -c 'import libdnf; parser = libdnf.conf.ConfigParser(); parser.read("conf"); parser.options("main")' <mock-chroot> sh-5.2# rm /usr/lib64/python3.13/site-packages/libdnf/__pycache__/conf.cpython-313.pyc <mock-chroot> sh-5.2# python3 -c 'import libdnf; parser = libdnf.conf.ConfigParser(); parser.read("conf"); parser.options("main")' Segmentation fault (core dumped) Seems like the pyc file as generated on 3.13.0 prevents the crash. But if the file is gone and the bytecode is generated on 3.13.1, it crashes.
The segfault happens with Python 3.13.0 as well, if I use the .pyc file generated on 3.13.1. Remove the .pyc file again -> no more crash when it is generated on 3.13.0.
For the record, I did this first: <mock-chroot> sh-5.2# echo '[main]' > conf
Considering this libdnf code: ================================================================= def ConfigParser__options(self, section): if not self.hasSection(section): raise KeyError("No section: '%s'" % section) sectObj = self.getData()[section] return [item for item in sectObj if not item.startswith('#')] ================================================================= And this: >>> import dis >>> dis.dis(ConfigParser__options.__code__.co_code) I get on Python 3.13.0: RESUME 0 LOAD_FAST 0 LOAD_ATTR 1 LOAD_FAST 1 CALL 1 TO_BOOL POP_JUMP_IF_TRUE 14 (to L1) LOAD_GLOBAL 3 LOAD_CONST 1 LOAD_FAST 1 BINARY_OP 6 (%) CALL 1 RAISE_VARARGS 1 L1: LOAD_FAST 0 LOAD_ATTR 5 CALL 0 LOAD_FAST 1 BINARY_SUBSCR STORE_FAST 2 LOAD_FAST 2 GET_ITER LOAD_FAST_AND_CLEAR 3 SWAP 2 BUILD_LIST 0 SWAP 2 L2: FOR_ITER 28 (to L4) STORE_FAST_LOAD_FAST 51 (, ) LOAD_ATTR 7 LOAD_CONST 2 CALL 1 TO_BOOL POP_JUMP_IF_FALSE 2 (to L3) JUMP_BACKWARD 26 (to L2) L3: LOAD_FAST 3 LIST_APPEND 2 JUMP_BACKWARD 30 (to L2) L4: END_FOR POP_TOP SWAP 2 STORE_FAST 3 RETURN_VALUE SWAP 2 POP_TOP SWAP 2 STORE_FAST 3 RERAISE 0 And on 3.13.1: RESUME 0 LOAD_FAST 0 LOAD_ATTR 1 LOAD_FAST 1 CALL 1 TO_BOOL POP_JUMP_IF_TRUE 14 (to L1) LOAD_GLOBAL 3 LOAD_CONST 1 LOAD_FAST 1 BINARY_OP 6 (%) CALL 1 RAISE_VARARGS 1 L1: LOAD_FAST 0 LOAD_ATTR 5 CALL 0 LOAD_FAST 1 BINARY_SUBSCR STORE_FAST 2 LOAD_FAST 2 GET_ITER LOAD_FAST_AND_CLEAR 3 SWAP 2 BUILD_LIST 0 SWAP 2 GET_ITER L2: FOR_ITER 28 (to L4) STORE_FAST_LOAD_FAST 51 (, ) LOAD_ATTR 7 LOAD_CONST 2 CALL 1 TO_BOOL POP_JUMP_IF_FALSE 2 (to L3) JUMP_BACKWARD 26 (to L2) L3: LOAD_FAST 3 LIST_APPEND 2 JUMP_BACKWARD 30 (to L2) L4: END_FOR POP_TOP SWAP 2 STORE_FAST 3 RETURN_VALUE SWAP 2 POP_TOP SWAP 2 STORE_FAST 3 RERAISE 0 The diff is: @@ -23,6 +23,7 @@ SWAP 2 BUILD_LIST 0 SWAP 2 + GET_ITER L2: FOR_ITER 28 (to L4) STORE_FAST_LOAD_FAST 51 (, ) LOAD_ATTR 7 The Segfault happens in Iterator_Sl_libdnf_PreserveOrderMap_Sl_std_string_Sc_std_string_Sg__Sg__next. Which is likely in this instruction. I'll bisect this.
dis_options.py: def ConfigParser__options(self, section): if not self.hasSection(section): raise KeyError("No section: '%s'" % section) sectObj = self.getData()[section] return [item for item in sectObj if not item.startswith('#')] import dis dis.dis(ConfigParser__options.__code__.co_code) git bisect run: rm -f current.dis ./configure --config-cache --without-ensurepip && make -j6 || exit 125 ./python dis_options.py > current.dis || exit 125 diff -u 3.13.0.dis current.dis commit https://github.com/python/cpython/commit/bcc7227ef7fd21aa48c8f1c57922e8beced5737c Author: Jelle Zijlstra <jelle.zijlstra> Date: Wed Oct 23 06:45:28 2024 -0700 [3.13] gh-125038: Fix crash after genexpr.gi_frame.f_locals manipulations (GH-125178) (#125846) (cherry picked from commit https://github.com/python/cpython/commit/079875e39589eb0628b5883f7ffa387e7476ec06) Co-authored-by: Mikhail Efimov <efimov.mikhail> Lib/test/test_dis.py | 1 + Lib/test/test_generators.py | 73 ++++++++++++++++++++++ .../2024-10-09-13-53-50.gh-issue-125038.ffSLCz.rst | 2 + Python/compile.c | 1 + 4 files changed, 77 insertions(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2024-10-09-13-53-50.gh-issue-125038.ffSLCz.rst bisect found first bad commit The change seems intended, as the new instruction was added to test_dis.py
To reproduce this crash of python3-libdnf with Python 3.13.0, you can do this: $ rpm -q python3 python3-libdnf python3-3.13.0-1.fc42.x86_64 python3-libdnf-0.73.4-1.fc42.x86_64 $ echo '[main]' > conf $ python3 Python 3.13.0 (main, Oct 8 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-4)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import libdnf >>> parser = libdnf.conf.ConfigParser() >>> parser.read("conf") ['conf'] >>> parser.hasSection("main") True >>> sectObj = parser.getData()["main"] >>> [item for item in sectObj] # works [] >>> [item for item in iter(sectObj)] # crashes Segmentation fault (core dumped) This is an existing bug in python3-libdnf (or SWIG) that Python 3.13.1 only exposed. As such, I marked this as blocking bz2321657 (medium severity CVE, fixed in Python 3.13.1).
The problem appears to be: When an iterator is created from an iterator, everything behaves as expected: >>> it1 = iter(sectObj) >>> it2 = iter(it1) >>> next(it1) ... StopIteration: End of iterator >>> next(it2) ... StopIteration: End of iterator >>> next(it1) ... StopIteration: End of iterator But when the first one is deleted, the other one segfaults: >>> del it1 >>> next(it2) Segmentation fault (core dumped) And calling iter(iter(...)) discards the inner iterator.
An iterator should return self on __iter__. So that this works: >>> it1 = iter(sectObj) >>> it2 = iter(it1) >>> it1 is it2 True Doing it that way ensures this iterator is well-behaved. It also prevents the crash. I don't know much about SWIG. Currently, this iterator does not return self on __iter__, it returns this: class PreserveOrderMapStringStringIterator(object): ... def __iter__(self): return _common_types.PreserveOrderMapStringStringIterator___iter__(self) And that returns a new Python object. I was able to fix this by: diff --git a/bindings/swig/common_types.i b/bindings/swig/common_types.i index c9ae798a..934be564 100644 --- a/bindings/swig/common_types.i +++ b/bindings/swig/common_types.i @@ -63,10 +63,6 @@ template<class T> class Iterator { public: Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {} - Iterator* __iter__() - { - return this; - } typename T::iterator cur; typename T::iterator end; @@ -165,3 +161,10 @@ EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, std::string) EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, libdnf::PreserveOrderMap<std::string, std::string>) %exception; // beware this resets all exception handlers if you import this file after defining any + +%pythoncode %{ +def PreserveOrderMapStringStringIterator___iter__(self): + return self +PreserveOrderMapStringStringIterator.__iter__ = PreserveOrderMapStringStringIterator___iter__ +del PreserveOrderMapStringStringIterator___iter__ +%} \ No newline at end of file diff --git a/bindings/swig/conf.i b/bindings/swig/conf.i index b6a0ce88..2f77003f 100644 --- a/bindings/swig/conf.i +++ b/bindings/swig/conf.i @@ -71,10 +71,6 @@ template<class T> class Iterator { public: Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {} - Iterator* __iter__() - { - return this; - } typename T::iterator cur; typename T::iterator end; But perhaps there is a better way to actually return self in SWIG?
Thanks a lot for the exhaustive investigation, Miro!
This now also blocks a fix for a high severity CVE CVE-2024-12254, bz2330927. Please a ship a fix for this today.
Also reported to SWIG: https://github.com/swig/swig/issues/3086
FEDORA-2024-1d97254ea9 (libdnf-0.73.4-2.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2024-1d97254ea9
FEDORA-2024-3c18fe0d93 (libdnf-0.73.4-2.fc41, python3.13-3.13.1-2.fc41, and 1 more) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-3c18fe0d93
FEDORA-2024-1d97254ea9 (libdnf-0.73.4-2.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-3c18fe0d93 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-3c18fe0d93` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-3c18fe0d93 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-3c18fe0d93 (libcomps-0.1.21-4.fc41, libdnf-0.73.4-2.fc41, and 2 more) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.