Bug 1610456
Summary: | [hawkey] occasional segfault when interrupting (SIGINT) dnf process (may be caused by particular plugins in use, e.g. "leaves" ones in the past) | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jan Pokorný [poki] <jpokorny> | |
Component: | libdnf | Assignee: | amatej | |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 30 | CC: | amatej, dmach, jmracek, mluscon, rpm-software-management | |
Target Milestone: | --- | Keywords: | Triaged | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | libdnf-0.28.1-1.fc30 libdnf-0.28.1-1.fc29 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1684270 (view as bug list) | Environment: | ||
Last Closed: | 2019-03-31 00:04:12 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1684270 |
Description
Jan Pokorný [poki]
2018-07-31 16:37:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle. Changing version to '29'. Have hit something similar again, this time around only with {python3-,}dnf-plugins-core present, and with relatively recent packages: $ rpm -q dnf rpm libdnf librepo libsolv > dnf-4.0.10-1g5bbf4ac2.fc30.noarch > rpm-4.14.2.1-3.fc30.x86_64 > libdnf-0.24.1-1ga0afd844.fc30.x86_64 > librepo-1.9.2-1.fc30.x86_64 > libsolv-0.7.2-11g95dcddc7.fc30.x86_64 From "coredumpctl info" #0 0x00007f37338f2861 PyObject_GetIter (libpython3.7m.so.1.0) #1 0x00007f3730c56c3d query_iter (_hawkey.so) #2 0x00007f37338f2876 PyObject_GetIter (libpython3.7m.so.1.0) #3 0x00007f37339a8142 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #4 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #5 0x00007f37339a7629 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #6 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #7 0x00007f37339a7474 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #8 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #9 0x00007f37339a7474 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #10 0x00007f37338efc08 _PyEval_EvalCodeWithName (libpython3.7m.so.1.0) #11 0x00007f3733936a41 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #12 0x00007f37339a84e7 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #13 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #14 0x00007f37339a7474 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #15 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #16 0x00007f37339a7474 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #17 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #18 0x00007f37339a7629 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #19 0x00007f373393689a _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #20 0x00007f37339a7629 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #21 0x00007f37338efc08 _PyEval_EvalCodeWithName (libpython3.7m.so.1.0) #22 0x00007f3733936a41 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #23 0x00007f37339a7629 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #24 0x00007f37338efc08 _PyEval_EvalCodeWithName (libpython3.7m.so.1.0) #25 0x00007f3733936a41 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0) #26 0x00007f37339a84e7 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0) #27 0x00007f37338efc08 _PyEval_EvalCodeWithName (libpython3.7m.so.1.0) #28 0x00007f37338f0aa3 PyEval_EvalCodeEx (libpython3.7m.so.1.0) #29 0x00007f37338f0acb PyEval_EvalCode (libpython3.7m.so.1.0) #30 0x00007f3733a15a02 n/a (libpython3.7m.so.1.0) #31 0x00007f3733a175ba PyRun_FileExFlags (libpython3.7m.so.1.0) #32 0x00007f3733a188a8 PyRun_SimpleFileExFlags (libpython3.7m.so.1.0) #33 0x00007f3733a1a60c n/a (libpython3.7m.so.1.0) #34 0x00007f3733a1a86c _Py_UnixMain (libpython3.7m.so.1.0) #35 0x00007f3733b78ee3 __libc_start_main (libc.so.6) #36 0x000055d5ff74b08e _start (python3.7) The command being run (with shell quoting and regardless it's a bad specification): /usr/bin/python3 /usr/bin/dnf provides 'pkgconfig(glib-2.0)>=2' The reproducibility per [comment 0] is about the same (more towards the higher bound than the lower one). Sadly, debugger itself is currently crashing for me, retaining the coredumps for when I have more luck. But the pattern is seemingly the same as in [comment 0]. That being said, bumping to Rawhide. You can find the coredump at another (gdb targeted) [bug 1661199]. Let me know if that's not available to download for you. Also it looks like --noplugins is a definitive workaround for the time being, should anyone want to use that (I don't for now). This bug appears to have been reported against 'rawhide' during the Fedora 30 development cycle. Changing version to '30. I created a PR with the NULL test. https://github.com/rpm-software-management/libdnf/pull/694 I think it's a correct solution, because the signal interrupt in C is handled by Python signal module, after that calls into Python/C API return NULL/-1. We should always check for that and safely propagate the "error" up. Once we get back to Python the interpreter notices the signal flags (set in the mentioned Python signal module) and throws Keyboard Exception. dnf-4.2.2-1.fc30 librepo-1.9.6-1.fc30 libdnf-0.28.1-1.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-b504d6ad8f dnf-4.2.2-1.fc29 librepo-1.9.6-1.fc29 libdnf-0.28.1-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-7fbfa37585 dnf-4.2.2-1.fc30, libdnf-0.28.1-1.fc30, librepo-1.9.6-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-b504d6ad8f dnf-4.2.2-1.fc29, libdnf-0.28.1-1.fc29, librepo-1.9.6-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-7fbfa37585 dnf-4.2.2-1.fc30, libdnf-0.28.1-1.fc30, librepo-1.9.6-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report. dnf-4.2.2-1.fc29, libdnf-0.28.1-1.fc29, librepo-1.9.6-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. |