Version-Release number of selected component: dnf-4.2.9-5.fc31 Additional info: reporter: libreport-2.10.1 backtrace_rating: 4 cgroup: 0::/user.slice/user-1000.slice/user/gnome-terminal-server.service cmdline: /usr/bin/python3 /usr/bin/dnf provides chsh crash_function: lr_downloadtarget_new executable: /usr/bin/python3.7 journald_cursor: s=e1b35e0687c04bbf8653e3faa960fe06;i=3c25;b=af37f68b14d242fe8644c67643ab3764;m=7bb0983e;t=5971c29db8c35;x=b77af9dc6e54dc2f kernel: 5.3.8-300.fc31.x86_64 rootdir: / runlevel: N 5 type: CCpp uid: 1000 Truncated backtrace: Thread no. 1 (10 frames) #4 lr_downloadtarget_new at /usr/src/debug/librepo-1.10.5-1.fc31.x86_64/librepo/cleanup.h:89 #5 lr_yum_download_url at /usr/src/debug/librepo-1.10.5-1.fc31.x86_64/librepo/yum.c:571 #6 lr_handle_prepare_metalink at /usr/src/debug/librepo-1.10.5-1.fc31.x86_64/librepo/handle.c:963 #7 lr_handle_prepare_internal_mirrorlist at /usr/src/debug/librepo-1.10.5-1.fc31.x86_64/librepo/handle.c:1084 #9 lr_handle_perform at /usr/src/debug/librepo-1.10.5-1.fc31.x86_64/librepo/handle.c:1209 #10 libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) at /usr/src/debug/libdnf-0.35.3-6.fc31.x86_64/libdnf/repo/Repo.cpp:931 #11 libdnf::Repo::Impl::fetch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<_LrHandle, std::default_delete<_LrHandle> >&&) at /usr/include/c++/9/bits/unique_ptr.h:352 #12 libdnf::Repo::Impl::load() at /usr/src/debug/libdnf-0.35.3-6.fc31.x86_64/libdnf/repo/Repo.cpp:1273 #13 _wrap_Repo_load(PyObject*, PyObject*) at /usr/src/debug/libdnf-0.35.3-6.fc31.x86_64/build-py3/bindings/python/CMakeFiles/_repo.dir/repoPYTHON_wrap.cxx:9831 #14 _PyMethodDef_RawFastCallKeywords at /usr/src/debug/python3-3.7.5-1.fc31.x86_64/Objects/call.c:648
Created attachment 1635121 [details] File: _var_log_dnf.log
Created attachment 1635122 [details] File: backtrace
Created attachment 1635123 [details] File: core_backtrace
Created attachment 1635124 [details] File: cpuinfo
Created attachment 1635125 [details] File: dnf-makecache.log
Created attachment 1635126 [details] File: dso_list
Created attachment 1635127 [details] File: environ
Created attachment 1635128 [details] File: limits
Created attachment 1635129 [details] File: maps
Created attachment 1635130 [details] File: mountinfo
Created attachment 1635131 [details] File: open_fds
Created attachment 1635132 [details] File: proc_pid_status
Thank you for the report. Are you able to reproduce it? Can you please provide output of the command with valgrind? Even if there is no crash, it can provide useful insight. Also, can you attach your dnf configuration (/etc/dnf/dnf.conf and files in /etc/yum.repos.d/) and list of installed packages ($ dnf repoquery --installed)? Before sharing this, ensure that no private information (like repository/proxy passwords) are included. Thank you for any help.
There are two asserts on input arguments in lr_downloadtarget_new(). It seems one of them is failing and the abort() is rather unhelpful in debugging the issue. However, the asserts failing likely means a logic error in the program, which seems like it should be somewhat deterministically reproducible in this case. Faeze, did this only happens once ar are you able to reproduce this?
I've managed to find the issue by examining the attached backtrace. The fd argument to lr_downloadtarget_new() was zero and the assert was checking for fd > 0. Zero is a valid value, albeit unlikely, since zero is usually stdin. PR: https://github.com/rpm-software-management/librepo/pull/182
FEDORA-2020-d51dbe83a9 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-d51dbe83a9
FEDORA-2020-d51dbe83a9 has been pushed to the Fedora 31 testing repository. In short time you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-d51dbe83a9` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-d51dbe83a9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2020-d51dbe83a9 has been pushed to the Fedora 31 stable repository. If problem still persists, please make note of it in this bug report.