The "tracer" command line utility segfaults when the time is sufficently in the past: # timedatectl set-ntp off # timedatectl set-time 2020-11-20 # tracer Segmentation fault (core dumped) Here is the backtrace: Nov 24 09:24:07 fedora-40-127-0-0-2-2201 systemd-coredump[1251]: [🡕] Process 1243 (tracer) of user 0 dumped core. Module _rpm.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _plugin.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _transaction.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _logger.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _conf.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _repo.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _comps.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _base.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module _common.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module libcrypt.so.2 from rpm libxcrypt-4.4.36-10.fc40.x86_64 Module libblkid.so.1 from rpm util-linux-2.40.2-1.fc40.x86_64 Module libbrotlicommon.so.1 from rpm brotli-1.1.0-3.fc40.x86_64 Module libsasl2.so.3 from rpm cyrus-sasl-2.1.28-19.fc40.x86_64 Module libevent-2.1.so.7 from rpm libevent-2.1.12-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-2.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-2.fc40.x86_64 Module libkrb5.so.3 from rpm krb5-1.21.3-2.fc40.x86_64 Module libunistring.so.5 from rpm libunistring-1.1-7.fc40.x86_64 Module libselinux.so.1 from rpm libselinux-3.7-5.fc40.x86_64 Module libmount.so.1 from rpm util-linux-2.40.2-1.fc40.x86_64 Module libgmodule-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64 Module libbrotlidec.so.1 from rpm brotli-1.1.0-3.fc40.x86_64 Module libgssapi_krb5.so.2 from rpm krb5-1.21.3-2.fc40.x86_64 Module libpsl.so.5 from rpm libpsl-0.21.5-3.fc40.x86_64 Module libssh.so.4 from rpm libssh-0.10.6-5.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 libgio-2.0.so.0 from rpm glib2-2.80.3-1.fc40.x86_64 Module libcurl.so.4 from rpm curl-8.6.0-10.fc40.x86_64 Module libzck.so.1 from rpm zchunk-1.5.1-1.fc40.x86_64 Module libpcre2-8.so.0 from rpm pcre2-10.44-1.fc40.x86_64 Module libffi.so.8 from rpm libffi-3.4.4-7.fc40.x86_64 Module libyaml-0.so.2 from rpm libyaml-0.2.5-14.fc40.x86_64 Module librepo.so.0 from rpm librepo-1.19.0-1.fc40.x86_64 Module libxml2.so.2 from rpm libxml2-2.12.8-1.fc40.x86_64 Module libsolvext.so.1 from rpm libsolv-0.7.31-1.fc40.x86_64 Module libsolv.so.1 from rpm libsolv-0.7.31-1.fc40.x86_64 Module libglib-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 libmodulemd.so.2 from rpm libmodulemd-2.15.0-12.fc40.x86_64 Module libjson-c.so.5 from rpm json-c-0.17-3.fc40.x86_64 Module libfmt.so.10 from rpm fmt-10.2.1-5.fc40.x86_64 Module libdnf5.so.1 from rpm dnf5-5.1.17-2.fc40.x86_64 Module _advisory.so from rpm dnf5-5.1.17-2.fc40.x86_64 Module libtss2-mu.so.0 from rpm tpm2-tss-4.1.3-1.fc40.x86_64 Module libtss2-sys.so.1 from rpm tpm2-tss-4.1.3-1.fc40.x86_64 Module libssl.so.3 from rpm openssl-3.2.2-3.fc40.x86_64 Module libattr.so.1 from rpm attr-2.5.2-3.fc40.x86_64 Module libtss2-esys.so.0 from rpm tpm2-tss-4.1.3-1.fc40.x86_64 Module libtss2-rc.so.0 from rpm tpm2-tss-4.1.3-1.fc40.x86_64 Module libcrypto.so.3 from rpm openssl-3.2.2-3.fc40.x86_64 Module librpm_sequoia.so.1 from rpm rust-rpm-sequoia-1.7.0-1.fc40.x86_64 Module libacl.so.1 from rpm acl-2.3.2-1.fc40.x86_64 Module libfsverity.so.0 from rpm fsverity-utils-1.4-12.fc40.x86_64 Module libimaevm.so.4 from rpm ima-evm-utils-1.5-4.fc40.x86_64 Module libelf.so.1 from rpm elfutils-0.192-6.fc40.x86_64 Module libdw.so.1 from rpm elfutils-0.192-6.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 libmagic.so.1 from rpm file-5.45-4.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 librpmsign.so.10 from rpm rpm-4.19.1.1-1.fc40.x86_64 Module librpmbuild.so.10 from rpm rpm-4.19.1.1-1.fc40.x86_64 Module _sqlite3.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libzstd.so.1 from rpm zstd-1.5.6-1.fc40.x86_64 Module liblz4.so.1 from rpm lz4-1.9.4-6.fc40.x86_64 Module libcap.so.2 from rpm libcap-2.69-8.fc40.x86_64 Module libsystemd.so.0 from rpm systemd-255.14-1.fc40.x86_64 Module libdbus-1.so.3 from rpm dbus-1.14.10-3.fc40.x86_64 Module _dbus_bindings.so from rpm dbus-python-1.3.2-6.fc40.x86_64 Module libexpat.so.1 from rpm expat-2.6.4-1.fc40.x86_64 Module pyexpat.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _json.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module resource.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _psutil_posix.abi3.so from rpm python-psutil-5.9.8-1.fc40.x86_64 Module _psutil_linux.abi3.so from rpm python-psutil-5.9.8-1.fc40.x86_64 Module binascii.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _struct.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module liblzma.so.5 from rpm xz-5.4.6-3.fc40.x86_64 Module _lzma.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libbz2.so.1 from rpm bzip2-1.0.8-18.fc40.x86_64 Module _bz2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libz.so.1 from rpm zlib-ng-2.1.7-2.fc40.x86_64 Module zlib.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module array.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _socket.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module math.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module select.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _posixsubprocess.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module fcntl.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _datetime.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libpython3.12.so.1.0 from rpm python3.12-3.12.7-1.fc40.x86_64 Module python3.12 from rpm python3.12-3.12.7-1.fc40.x86_64 Stack trace of thread 1243: #0 0x00007f96625d1403 _ZN7libdnf53rpmL15rpmlog_callbackEP11rpmlogRec_sPv (libdnf5.so.1 + 0x1d1403) #1 0x00007f96636c1f65 rpmlog (librpmio.so.10 + 0x14f65) #2 0x00007f96636cb44d rpmKeyringVerifySig (librpmio.so.10 + 0x1e44d) #3 0x00007f9663730415 rpmvsVerify (librpm.so.10 + 0x52415) #4 0x00007f966370c8dd headerCheck (librpm.so.10 + 0x2e8dd) #5 0x00007f96636fd111 rpmdbNextIterator (librpm.so.10 + 0x1f111) #6 0x00007f96637acb9c rpmmi_iternext (_rpm.so + 0x11b9c) #7 0x00007f96647b04fc list_extend (libpython3.12.so.1.0 + 0x1b04fc) #8 0x00007f96647c92ab list_vectorcall (libpython3.12.so.1.0 + 0x1c92ab) #9 0x00007f9664775ee2 _PyEval_EvalFrameDefault (libpython3.12.so.1.0 + 0x175ee2) #10 0x00007f966476cdc4 _PyObject_FastCallDictTstate (libpython3.12.so.1.0 + 0x16cdc4) #11 0x00007f966479c204 slot_tp_init (libpython3.12.so.1.0 + 0x19c204) #12 0x00007f966476a77b type_call (libpython3.12.so.1.0 + 0x16a77b) #13 0x00007f966476a516 _PyObject_MakeTpCall (libpython3.12.so.1.0 + 0x16a516) #14 0x00007f9664773225 _PyEval_EvalFrameDefault (libpython3.12.so.1.0 + 0x173225) #15 0x00007f96647fe3b4 PyEval_EvalCode (libpython3.12.so.1.0 + 0x1fe3b4) #16 0x00007f9664823ada run_eval_code_obj (libpython3.12.so.1.0 + 0x223ada) #17 0x00007f966481e10e run_mod (libpython3.12.so.1.0 + 0x21e10e) #18 0x00007f9664838b53 pyrun_file (libpython3.12.so.1.0 + 0x238b53) #19 0x00007f966483842c _PyRun_SimpleFileObject (libpython3.12.so.1.0 + 0x23842c) #20 0x00007f966483800f _PyRun_AnyFileObject (libpython3.12.so.1.0 + 0x23800f) Module _lzma.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libbz2.so.1 from rpm bzip2-1.0.8-18.fc40.x86_64 Module _bz2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libz.so.1 from rpm zlib-ng-2.1.7-2.fc40.x86_64 Module zlib.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module array.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _socket.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module math.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module select.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _posixsubprocess.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module fcntl.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module _datetime.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.7-1.fc40.x86_64 Module libpython3.12.so.1.0 from rpm python3.12-3.12.7-1.fc40.x86_64 Module python3.12 from rpm python3.12-3.12.7-1.fc40.x86_64 Stack trace of thread 1243: #0 0x00007f96625d1403 _ZN7libdnf53rpmL15rpmlog_callbackEP11rpmlogRec_sPv (libdnf5.so.1 + 0x1d1403) #1 0x00007f96636c1f65 rpmlog (librpmio.so.10 + 0x14f65) #2 0x00007f96636cb44d rpmKeyringVerifySig (librpmio.so.10 + 0x1e44d) #3 0x00007f9663730415 rpmvsVerify (librpm.so.10 + 0x52415) #4 0x00007f966370c8dd headerCheck (librpm.so.10 + 0x2e8dd) #5 0x00007f96636fd111 rpmdbNextIterator (librpm.so.10 + 0x1f111) #6 0x00007f96637acb9c rpmmi_iternext (_rpm.so + 0x11b9c) #7 0x00007f96647b04fc list_extend (libpython3.12.so.1.0 + 0x1b04fc) #8 0x00007f96647c92ab list_vectorcall (libpython3.12.so.1.0 + 0x1c92ab) #9 0x00007f9664775ee2 _PyEval_EvalFrameDefault (libpython3.12.so.1.0 + 0x175ee2) #10 0x00007f966476cdc4 _PyObject_FastCallDictTstate (libpython3.12.so.1.0 + 0x16cdc4) #11 0x00007f966479c204 slot_tp_init (libpython3.12.so.1.0 + 0x19c204) #12 0x00007f966476a77b type_call (libpython3.12.so.1.0 + 0x16a77b) #13 0x00007f966476a516 _PyObject_MakeTpCall (libpython3.12.so.1.0 + 0x16a516) #14 0x00007f9664773225 _PyEval_EvalFrameDefault (libpython3.12.so.1.0 + 0x173225) #15 0x00007f96647fe3b4 PyEval_EvalCode (libpython3.12.so.1.0 + 0x1fe3b4) #16 0x00007f9664823ada run_eval_code_obj (libpython3.12.so.1.0 + 0x223ada) #17 0x00007f966481e10e run_mod (libpython3.12.so.1.0 + 0x21e10e) #18 0x00007f9664838b53 pyrun_file (libpython3.12.so.1.0 + 0x238b53) #19 0x00007f966483842c _PyRun_SimpleFileObject (libpython3.12.so.1.0 + 0x23842c) #20 0x00007f966483800f _PyRun_AnyFileObject (libpython3.12.so.1.0 + 0x23800f) #21 0x00007f9664830213 Py_RunMain (libpython3.12.so.1.0 + 0x230213) #22 0x00007f96647e7e6c Py_BytesMain (libpython3.12.so.1.0 + 0x1e7e6c) #23 0x00007f9664438088 __libc_start_call_main (libc.so.6 + 0x2a088) #24 0x00007f966443814b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a14b) #25 0x000055a7128c3095 _start (python3.12 + 0x1095) ELF object binary architecture: AMD x86-64 Reproducible: Always Steps to Reproduce: See description
> Component: dnf5 → tracer I was looking hard for the right component, but "tracer" didn't seem to be it because of its description of "Traces the route taken by packets...". If "tracer" is indeed the right component, could you fix its description? Thanks!
You executed "tracer" program and that is provided by tracer component: # dnf repoquery --qf '%{sourcerpm}' --whatprovides /usr/bin/tracer Last metadata expiration check: 0:00:47 ago on Mon 25 Nov 2024 05:08:05 PM CET. tracer-1.1-2.fc40.src.rpm tracer-1.2-1.fc40.src.rpm Or did you mean a different "tracer" program?
(In reply to Petr Pisar from comment #2) > You executed "tracer" program and that is provided by tracer component: > > # dnf repoquery --qf '%{sourcerpm}' --whatprovides /usr/bin/tracer > Last metadata expiration check: 0:00:47 ago on Mon 25 Nov 2024 05:08:05 PM > CET. > tracer-1.1-2.fc40.src.rpm > tracer-1.2-1.fc40.src.rpm Yes, that's the source package. (And sorry for forgetting to provide the version: 1.2-1 crashes for me, 1.1.-2 does not.) But is that also the component? I wasn't sure. If yes, then the description of that component here in Bugzilla is misleading. It says "Traces the route of packets taken over an IPv4/IPv6 network", which made me think that the "tracer" component here is for the traceroute executable. > Or did you mean a different "tracer" program? I mean the one that produces output like: # tracer You should restart: * Some applications using: service auditd restart systemctl restart ModemManager systemctl restart NetworkManager systemctl restart abrt-journal-core systemctl restart abrt-oops systemctl restart abrt-xorg [...]
Thank you Marius, > when the time is sufficently in the past: I used a different reproducer than you so that I don't have to break my system time faketime 2020-11-20 tracer but yes, I can confirm it segfaults. I followed from where exactly the segfault came from and it was this: https://github.com/frostyx/tracer/blob/master/tracer/packageManagers/rpm.py#L103-L105 Not sure why this happens because when I do: $ faketime 2020-11-20 python -c "import rpm; ts = rpm.TransactionSet(); mi = ts.dbMatch('name', 'hello'); list(mi)" It complains about expired certificates but doesn't segfault.
Sorry, wrong URL. Here is a permalink https://github.com/FrostyX/tracer/blob/edd31423b32f78b587c47424e262398d70d55386/tracer/packageManagers/rpm.py#L103-L105
(In reply to Jakub Kadlčík from comment #4) > It complains about expired certificates but doesn't segfault. Yeah, it seems to segfault during logging this complaint, as you can see in the backtrace above. Is there maybe something that tracer does during startup that interferes with the logging machinery of librpm? Thanks for digging into this!
> Is there maybe something that tracer does during startup that interferes with the logging machinery of librpm? There is no occurrence of `logging` in the whole codebase and `git grep rpm` shows that the only RPM-related code is in this file https://github.com/frostyx/tracer/blob/timestamps/tracer/packageManagers/rpm.py I couldn't find anything but maybe you will have a better luck.
(In reply to Jakub Kadlčík from comment #7) > I couldn't find anything but maybe you will have a better luck. I will not be working on this beyond helping you to reproduce it, I am afraid. We are not affected by this segfault, this report is just for your information.
This seems fixed in python3-tracer-1.2-1.fc41.noarch . Not sure if you still want to track this in Fedora 40 -- if not, feel free to close. Thank you!
This message is a reminder that Fedora Linux 40 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 40 on 2025-05-13. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '40'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 40 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.
Fedora Linux 40 entered end-of-life (EOL) status on 2025-05-13. Fedora Linux 40 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed.