Bug 1771219 - [abrt] dnf: lr_downloadtarget_new(): python3.7 killed by SIGABRT
Summary: [abrt] dnf: lr_downloadtarget_new(): python3.7 killed by SIGABRT
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 31
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lukáš Hrázký
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:72dff664aa0c624640249fd6b82...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-12 01:43 UTC by Hoshyar Karimi
Modified: 2020-04-18 00:07 UTC (History)
9 users (show)

Fixed In Version: dnf-4.2.21-1.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-18 00:07:01 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: _var_log_dnf.log (395.31 KB, text/plain)
2019-11-12 01:43 UTC, Hoshyar Karimi
no flags Details
File: backtrace (160.67 KB, text/plain)
2019-11-12 01:43 UTC, Hoshyar Karimi
no flags Details
File: core_backtrace (17.62 KB, text/plain)
2019-11-12 01:43 UTC, Hoshyar Karimi
no flags Details
File: cpuinfo (2.34 KB, text/plain)
2019-11-12 01:43 UTC, Hoshyar Karimi
no flags Details
File: dnf-makecache.log (748 bytes, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: dso_list (13.84 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: environ (5.42 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: limits (1.29 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: maps (84.38 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: mountinfo (2.59 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: open_fds (2.17 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details
File: proc_pid_status (1.32 KB, text/plain)
2019-11-12 01:44 UTC, Hoshyar Karimi
no flags Details

Description Hoshyar Karimi 2019-11-12 01:43:47 UTC
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

Comment 1 Hoshyar Karimi 2019-11-12 01:43:53 UTC
Created attachment 1635121 [details]
File: _var_log_dnf.log

Comment 2 Hoshyar Karimi 2019-11-12 01:43:56 UTC
Created attachment 1635122 [details]
File: backtrace

Comment 3 Hoshyar Karimi 2019-11-12 01:43:58 UTC
Created attachment 1635123 [details]
File: core_backtrace

Comment 4 Hoshyar Karimi 2019-11-12 01:43:59 UTC
Created attachment 1635124 [details]
File: cpuinfo

Comment 5 Hoshyar Karimi 2019-11-12 01:44:01 UTC
Created attachment 1635125 [details]
File: dnf-makecache.log

Comment 6 Hoshyar Karimi 2019-11-12 01:44:03 UTC
Created attachment 1635126 [details]
File: dso_list

Comment 7 Hoshyar Karimi 2019-11-12 01:44:04 UTC
Created attachment 1635127 [details]
File: environ

Comment 8 Hoshyar Karimi 2019-11-12 01:44:06 UTC
Created attachment 1635128 [details]
File: limits

Comment 9 Hoshyar Karimi 2019-11-12 01:44:08 UTC
Created attachment 1635129 [details]
File: maps

Comment 10 Hoshyar Karimi 2019-11-12 01:44:10 UTC
Created attachment 1635130 [details]
File: mountinfo

Comment 11 Hoshyar Karimi 2019-11-12 01:44:12 UTC
Created attachment 1635131 [details]
File: open_fds

Comment 12 Hoshyar Karimi 2019-11-12 01:44:13 UTC
Created attachment 1635132 [details]
File: proc_pid_status

Comment 13 Pavla Kratochvilova 2019-11-19 07:26:21 UTC
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.

Comment 14 Lukáš Hrázký 2020-01-17 16:09:52 UTC
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?

Comment 15 Lukáš Hrázký 2020-01-20 14:21:35 UTC
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

Comment 16 Fedora Update System 2020-04-02 12:50:12 UTC
FEDORA-2020-d51dbe83a9 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-d51dbe83a9

Comment 17 Fedora Update System 2020-04-03 20:49:48 UTC
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.

Comment 18 Fedora Update System 2020-04-18 00:07:01 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.