Bug 1693643 - dnf crashed when trying to install debug packages
Summary: dnf crashed when trying to install debug packages
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: librepo
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Mracek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-03-28 12:01 UTC by Lukas Slebodnik
Modified: 2019-04-15 12:18 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-04-15 12:18:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lukas Slebodnik 2019-03-28 12:01:21 UTC
Description of problem:
It crashed when downloading repo related files.

Version-Release number of selected component (if applicable):
sh#  rpm -qf /usr/lib64/librepo.so.0 /usr/lib64/libdnf.so.2 /usr/bin/dnf
librepo-1.9.6-1.fc31.x86_64
libdnf-0.28.1-1.fc31.x86_64
dnf-4.2.2-1.fc31.noarch

Steps to Reproduce:
1. dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource

Actual results:
sh# dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource -e9 -d9
timer: config: 4 ms
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.2
Command: dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource -e9 -d9 
Installroot: /
Releasever: 31
cachedir: /var/cache/dnf
Base command: install
Extra commands: ['install', '--enablerepo=rawhide-debuginfo', '--enablerepo=rawhide-modular-debuginfo', 'libtar-debuginfo', 'libtar-debugsource', '-e9', '-d9']
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
repo: using cache for: rawhide-modular
not found other for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found deltainfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found updateinfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
rawhide-modular: using metadata from Wed 27 Mar 2019 03:40:38 AM EDT.
repo: downloading from remote: rawhide-modular-debuginfo
Segmentation fault (core dumped)

Expected results:
No crash

Additional info:
           PID: 34282 (dnf)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 11 (SEGV)
     Timestamp: Thu 2019-03-28 07:57:27 EDT (2min 16s ago)
  Command Line: /usr/bin/python3 /usr/bin/dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource -e9 -d9
    Executable: /usr/bin/python3.7
 Control Group: /user.slice/user-0.slice/session-4.scope
          Unit: session-4.scope
         Slice: user-0.slice
       Session: 4
     Owner UID: 0 (root)
       Boot ID: 87ae1ac35e4b4069ad8b61030a96f117
    Machine ID: 2317e08f83f846d29679a7aa9ebdb2f2
      Hostname: intel-canoepass-09.testrelm.test
       Storage: /var/lib/systemd/coredump/core.dnf.0.87ae1ac35e4b4069ad8b61030a96f117.34282.1553774247000000.lz4
       Message: Process 34282 (dnf) of user 0 dumped core.
                
                Stack trace of thread 34282:
                #0  0x00007fb0dab7e180 Curl_splay (libcurl.so.4)
                #1  0x00007fb0dab7e436 Curl_splayremovebyaddr (libcurl.so.4)
                #2  0x00007fb0dab77042 Curl_expire_clear (libcurl.so.4)
                #3  0x00007fb0dab617db Curl_close (libcurl.so.4)
                #4  0x00007fb0dab6f509 curl_easy_cleanup (libcurl.so.4)
                #5  0x00007fb0db445a1b prepare_next_transfer (librepo.so.0)
                #6  0x00007fb0db447a2a lr_download (librepo.so.0)
                #7  0x00007fb0db449590 lr_download_single_cb (librepo.so.0)
                #8  0x00007fb0db45a423 lr_yum_download_repo (librepo.so.0)
                #9  0x00007fb0db45ac85 lr_yum_download_remote (librepo.so.0)
                #10 0x00007fb0db44e6cd lr_handle_perform (librepo.so.0)
                #11 0x00007fb0db5a7fa9 _ZN6libdnf4Repo4Impl15lrHandlePerformEP9_LrHandleRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb (libdnf.so.2)
                #12 0x00007fb0db5aa2b3 _ZN6libdnf4Repo4Impl5fetchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEOSt10unique_ptrI9_LrHandleSt14default_deleteISB_EE (libdnf.so.2)
                #13 0x00007fb0db5aae24 _ZN6libdnf4Repo4Impl4loadEv (libdnf.so.2)
                #14 0x00007fb0d9eb28ab _wrap_Repo_load (_repo.so)
                #15 0x00007fb0dc78ea01 _PyMethodDef_RawFastCallKeywords (libpython3.7m.so.1.0)
                #16 0x00007fb0dc78eb33 _PyCFunction_FastCallKeywords (libpython3.7m.so.1.0)
                #17 0x00007fb0dc7c7d72 n/a (libpython3.7m.so.1.0)
                #18 0x00007fb0dc80e572 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0)
                #19 0x00007fb0dc7b46e2 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0)
                #20 0x00007fb0dc7c7c5f n/a (libpython3.7m.so.1.0)
                #21 0x00007fb0dc80e572 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0)
                #22 0x00007fb0dc7b46e2 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0)
                #23 0x00007fb0dc7c7c5f n/a (libpython3.7m.so.1.0)
                #24 0x00007fb0dc80e572 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0)
                #25 0x00007fb0dc7b46e2 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0)
                #26 0x00007fb0dc7c7c5f n/a (libpython3.7m.so.1.0)
                #27 0x00007fb0dc8098b3 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0)
                #28 0x00007fb0dc7b3601 _PyEval_EvalCodeWithName (libpython3.7m.so.1.0)
                #29 0x00007fb0dc7b4880 _PyFunction_FastCallKeywords (libpython3.7m.so.1.0)
                #30 0x00007fb0dc7c7c5f n/a (libpython3.7m.so.1.0)
                #31 0x00007fb0dc80a5a0 _PyEval_EvalFrameDefault (libpython3.7m.so.1.0)

Comment 1 Lukas Slebodnik 2019-03-28 12:02:53 UTC
sh# valgrind dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource
==34223== Memcheck, a memory error detector
==34223== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==34223== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==34223== Command: /usr/bin/dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource
==34223== 
Fedora - Modular Rawhide - Debug                                                                                                                           0.0  B/s |   0  B     00:30    
Failed to synchronize cache for repo 'rawhide-modular-debuginfo'
==34223== Conditional jump or move depends on uninitialised value(s)
==34223==    at 0x4AEE7C3: PyBool_FromLong (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x8B5A2A2: SWIG_From_bool (repoPYTHON_wrap.cxx:4013)
==34223==    by 0x8B5A2A2: _wrap_Repo_isExpired (repoPYTHON_wrap.cxx:10915)
==34223==    by 0x4B16A00: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B16B32: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B4FD71: ??? (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B96571: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B3C6E1: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B4FC5E: ??? (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B96571: _PyEval_EvalFrameDefault (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B3B600: _PyEval_EvalCodeWithName (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B3C87F: _PyFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==34223==    by 0x4B4FC5E: ??? (in /usr/lib64/libpython3.7m.so.1.0)
==34223== 
Error: Failed to synchronize cache for repo 'rawhide-modular-debuginfo'
==34223== 
==34223== HEAP SUMMARY:
==34223==     in use at exit: 4,318,451 bytes in 35,723 blocks
==34223==   total heap usage: 820,532 allocs, 784,809 frees, 5,077,145,206 bytes allocated
==34223== 
==34223== LEAK SUMMARY:
==34223==    definitely lost: 304 bytes in 7 blocks
==34223==    indirectly lost: 0 bytes in 0 blocks
==34223==      possibly lost: 1,515,453 bytes in 10,412 blocks
==34223==    still reachable: 2,802,614 bytes in 25,303 blocks
==34223==                       of which reachable via heuristic:
==34223==                         newarray           : 1,536 bytes in 16 blocks
==34223==         suppressed: 0 bytes in 0 blocks
==34223== Rerun with --leak-check=full to see details of leaked memory
==34223== 
==34223== For counts of detected and suppressed errors, rerun with: -v
==34223== Use --track-origins=yes to see where uninitialised values come from
==34223== ERROR SUMMARY: 8 errors from 2 contexts (suppressed: 0 from 0)

Comment 2 Lukas Slebodnik 2019-03-28 12:07:55 UTC
sh# LD_PRELOAD=/usr/lib64/libasan.so.5 dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource -e9 -d9
timer: config: 7 ms
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.2.2
Command: dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource -e9 -d9 
Installroot: /
Releasever: 31
cachedir: /var/cache/dnf
Base command: install
Extra commands: ['install', '--enablerepo=rawhide-debuginfo', '--enablerepo=rawhide-modular-debuginfo', 'libtar-debuginfo', 'libtar-debugsource', '-e9', '-d9']
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
Unknown configuration value: failovermethod=priority in /etc/yum.repos.d/fedora-updates-modular.repo; Configuration: OptionBinding with id "failovermethod" does not exist
repo: using cache for: rawhide-modular
not found other for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found deltainfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found updateinfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
rawhide-modular: using metadata from Wed 27 Mar 2019 03:40:38 AM EDT.
repo: downloading from remote: rawhide-modular-debuginfo
AddressSanitizer:DEADLYSIGNALbug                                               [   ===                                                                   ] ---  B/s |   0  B     --:-- ETA
=================================================================
==34316==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fef96247180 bp 0x61400000a330 sp 0x7ffe46608cb0 T0)
==34316==The signal is caused by a READ memory access.
==34316==Hint: address points to the zero page.
    #0 0x7fef9624717f  (/lib64/libcurl.so.4+0x4117f)
    #1 0x7fef96247435  (/lib64/libcurl.so.4+0x41435)
    #2 0x7fef96240041  (/lib64/libcurl.so.4+0x3a041)
    #3 0x7fef9622a7da  (/lib64/libcurl.so.4+0x247da)
    #4 0x7fef96238508 in curl_easy_cleanup (/lib64/libcurl.so.4+0x32508)
    #5 0x7fef96b0ea1a in prepare_next_transfer /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/downloader.c:1454
    #6 0x7fef96b0ea1a in prepare_next_transfers /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/downloader.c:1688
    #7 0x7fef96b10a29 in lr_download /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/downloader.c:2572
    #8 0x7fef96b1258f in lr_download_single_cb /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/downloader.c:2781
    #9 0x7fef96b23422 in lr_yum_download_repo /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/yum.c:952
    #10 0x7fef96b23c84 in lr_yum_download_remote /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/yum.c:1344
    #11 0x7fef96b23c84 in lr_yum_perform /usr/src/debug/librepo-1.9.6-1.fc31.x86_64/librepo/yum.c:1420
    #12 0x7fef96b176cc in lr_handle_perform (/lib64/librepo.so.0+0x156cc)
    #13 0x7fef96c70fa8 in libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /usr/src/debug/libdnf-0.28.1-1.fc31.x86_64/libdnf/repo/Repo.cpp:1005
    #14 0x7fef96c732b2 in 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> >&&) /usr/src/debug/libdnf-0.28.1-1.fc31.x86_64/libdnf/repo/Repo.cpp:1222
    #15 0x7fef96c73e23 in libdnf::Repo::Impl::load() /usr/src/debug/libdnf-0.28.1-1.fc31.x86_64/libdnf/repo/Repo.cpp:1288
    #16 0x7fef955868aa in _wrap_Repo_load /usr/src/debug/libdnf-0.28.1-1.fc31.x86_64/build-py3/bindings/python/CMakeFiles/_repo.dir/repoPYTHON_wrap.cxx:10316
    #17 0x7fef9af3ba00 in _PyMethodDef_RawFastCallKeywords (/lib64/libpython3.7m.so.1.0+0x102a00)
    #18 0x7fef9af3bb32 in _PyCFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x102b32)
    #19 0x7fef9af74d71  (/lib64/libpython3.7m.so.1.0+0x13bd71)
    #20 0x7fef9afbb571 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x182571)
    #21 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #22 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #23 0x7fef9afbb571 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x182571)
    #24 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #25 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #26 0x7fef9afbb571 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x182571)
    #27 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #28 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #29 0x7fef9afb68b2 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d8b2)
    #30 0x7fef9af60600 in _PyEval_EvalCodeWithName (/lib64/libpython3.7m.so.1.0+0x127600)
    #31 0x7fef9af6187f in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x12887f)
    #32 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #33 0x7fef9afb759f in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17e59f)
    #34 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #35 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #36 0x7fef9afb68b2 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d8b2)
    #37 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #38 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #39 0x7fef9afb68b2 in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d8b2)
    #40 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #41 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #42 0x7fef9afb680f in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d80f)
    #43 0x7fef9af616e1 in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x1286e1)
    #44 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #45 0x7fef9afb680f in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d80f)
    #46 0x7fef9af60600 in _PyEval_EvalCodeWithName (/lib64/libpython3.7m.so.1.0+0x127600)
    #47 0x7fef9af6187f in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x12887f)
    #48 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #49 0x7fef9afb680f in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17d80f)
    #50 0x7fef9af60600 in _PyEval_EvalCodeWithName (/lib64/libpython3.7m.so.1.0+0x127600)
    #51 0x7fef9af6187f in _PyFunction_FastCallKeywords (/lib64/libpython3.7m.so.1.0+0x12887f)
    #52 0x7fef9af74c5e  (/lib64/libpython3.7m.so.1.0+0x13bc5e)
    #53 0x7fef9afb759f in _PyEval_EvalFrameDefault (/lib64/libpython3.7m.so.1.0+0x17e59f)
    #54 0x7fef9af60600 in _PyEval_EvalCodeWithName (/lib64/libpython3.7m.so.1.0+0x127600)
    #55 0x7fef9af615b8 in PyEval_EvalCodeEx (/lib64/libpython3.7m.so.1.0+0x1285b8)
    #56 0x7fef9af615da in PyEval_EvalCode (/lib64/libpython3.7m.so.1.0+0x1285da)
    #57 0x7fef9b03a70e  (/lib64/libpython3.7m.so.1.0+0x20170e)
    #58 0x7fef9b03ab16 in PyRun_FileExFlags (/lib64/libpython3.7m.so.1.0+0x201b16)
    #59 0x7fef9b04104c in PyRun_SimpleFileExFlags (/lib64/libpython3.7m.so.1.0+0x20804c)
    #60 0x7fef9b0432c3  (/lib64/libpython3.7m.so.1.0+0x20a2c3)
    #61 0x7fef9b04366b in _Py_UnixMain (/lib64/libpython3.7m.so.1.0+0x20a66b)
    #62 0x7fef9b1abf72 in __libc_start_main (/lib64/libc.so.6+0x26f72)
    #63 0x55caae2a308d in _start (/usr/bin/python3.7+0x108d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib64/libcurl.so.4+0x4117f) 
==34316==ABORTING

Comment 3 Lukas Slebodnik 2019-03-28 21:57:30 UTC
Seems to be some issue with librepo and/or zchunk-libs

repo: using cache for: rawhide-modular
not found other for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found deltainfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
not found updateinfo for: Fedora - Modular Rawhide - Developmental packages for the next Fedora release
rawhide-modular: using metadata from Wed 27 Mar 2019 03:40:38 AM EDT.
repo: downloading from remote: rawhide-modular-debuginfo
==24691== Invalid read of size 1                                               [            ===                                                          ] ---  B/s |   0  B     --:-- ETA
==24691==    at 0x7F054E4: sigpipe_ignore (sigpipe.h:47)
==24691==    by 0x7F054E4: curl_easy_cleanup (easy.c:764)
==24691==    by 0x7644A1A: prepare_next_transfer (downloader.c:1454)
==24691==    by 0x7644A1A: prepare_next_transfers (downloader.c:1688)
==24691==    by 0x7646A29: lr_download (downloader.c:2572)
==24691==    by 0x764858F: lr_download_single_cb (downloader.c:2781)
==24691==    by 0x7659422: lr_yum_download_repo (yum.c:952)
==24691==    by 0x7659C84: lr_yum_download_remote (yum.c:1344)
==24691==    by 0x7659C84: lr_yum_perform (yum.c:1420)
==24691==    by 0x764D6CC: lr_handle_perform (handle.c:1220)
==24691==    by 0x75E3FA8: libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (Repo.cpp:1005)
==24691==    by 0x75E62B2: 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> >&&) (Repo.cpp:1222)
==24691==    by 0x75E6E23: libdnf::Repo::Impl::load() (Repo.cpp:1288)
==24691==    by 0x8B598AA: ??? (in /usr/lib64/python3.7/site-packages/libdnf/_repo.so)
==24691==    by 0x4B16A00: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==24691==  Address 0xb099ebc is 12 bytes after a block of size 192 in arena "client"
==24691== 
==24691== Invalid read of size 8
==24691==    at 0x7F0D021: Curl_expire_clear (multi.c:3032)
==24691==    by 0x7EF77DA: Curl_close (url.c:328)
==24691==    by 0x7F05508: curl_easy_cleanup (easy.c:765)
==24691==    by 0x7644A1A: prepare_next_transfer (downloader.c:1454)
==24691==    by 0x7644A1A: prepare_next_transfers (downloader.c:1688)
==24691==    by 0x7646A29: lr_download (downloader.c:2572)
==24691==    by 0x764858F: lr_download_single_cb (downloader.c:2781)
==24691==    by 0x7659422: lr_yum_download_repo (yum.c:952)
==24691==    by 0x7659C84: lr_yum_download_remote (yum.c:1344)
==24691==    by 0x7659C84: lr_yum_perform (yum.c:1420)
==24691==    by 0x764D6CC: lr_handle_perform (handle.c:1220)
==24691==    by 0x75E3FA8: libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (Repo.cpp:1005)
==24691==    by 0x75E62B2: 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> >&&) (Repo.cpp:1222)
==24691==    by 0x75E6E23: libdnf::Repo::Impl::load() (Repo.cpp:1288)
==24691==  Address 0xb099388 is 0 bytes after a block of size 8 free'd
==24691==    at 0x4839A0C: free (vg_replace_malloc.c:540)
==24691==    by 0x76BEE5C: g_free (in /usr/lib64/libglib-2.0.so.0.6000.0)
==24691==    by 0x7657AB9: lr_yum_switch_to_zchunk.isra.0.part.0 (yum.c:211)
==24691==    by 0x7658D31: lr_yum_switch_to_zchunk (yum.c:177)
==24691==    by 0x7658D31: prepare_repo_download_targets (yum.c:751)
==24691==    by 0x76593EC: lr_yum_download_repo (yum.c:947)
==24691==    by 0x7659C84: lr_yum_download_remote (yum.c:1344)
==24691==    by 0x7659C84: lr_yum_perform (yum.c:1420)
==24691==    by 0x764D6CC: lr_handle_perform (handle.c:1220)
==24691==    by 0x75E3FA8: libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (Repo.cpp:1005)
==24691==    by 0x75E62B2: 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> >&&) (Repo.cpp:1222)
==24691==    by 0x75E6E23: libdnf::Repo::Impl::load() (Repo.cpp:1288)
==24691==    by 0x8B598AA: ??? (in /usr/lib64/python3.7/site-packages/libdnf/_repo.so)
==24691==    by 0x4B16A00: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==24691==  Block was alloc'd at
==24691==    at 0x483880B: malloc (vg_replace_malloc.c:309)
==24691==    by 0x76BED68: g_malloc (in /usr/lib64/libglib-2.0.so.0.6000.0)
==24691==    by 0x76D8E23: g_strdup (in /usr/lib64/libglib-2.0.so.0.6000.0)
==24691==    by 0x7656793: lr_strv_dup (util.c:442)
==24691==    by 0x764B329: lr_handle_setopt (handle.c:478)
==24691==    by 0x75DDC2C: handleSetOpt<char const**> (Repo.cpp:134)
==24691==    by 0x75DDC2C: libdnf::Repo::Impl::lrHandleInitBase() (Repo.cpp:564)
==24691==    by 0x75E0C75: libdnf::Repo::Impl::lrHandleInitRemote(char const*, bool) (Repo.cpp:601)
==24691==    by 0x75E6E15: libdnf::Repo::Impl::load() (Repo.cpp:1288)
==24691==    by 0x8B598AA: ??? (in /usr/lib64/python3.7/site-packages/libdnf/_repo.so)
==24691==    by 0x4B16A00: _PyMethodDef_RawFastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==24691==    by 0x4B16B32: _PyCFunction_FastCallKeywords (in /usr/lib64/libpython3.7m.so.1.0)
==24691==    by 0x4B4FD71: ??? (in /usr/lib64/libpython3.7m.so.1.0)
==24691==
==24691== Invalid read of size 8
==24691==    at 0x7F14180: Curl_splay (splay.c:51)
==24691==    by 0x7F14435: Curl_splayremovebyaddr (splay.c:238)
==24691==    by 0x7F0D041: Curl_expire_clear (multi.c:3032)
==24691==    by 0x7EF77DA: Curl_close (url.c:328)
==24691==    by 0x7F05508: curl_easy_cleanup (easy.c:765)
==24691==    by 0x7644A1A: prepare_next_transfer (downloader.c:1454)
==24691==    by 0x7644A1A: prepare_next_transfers (downloader.c:1688)
==24691==    by 0x7646A29: lr_download (downloader.c:2572)
==24691==    by 0x764858F: lr_download_single_cb (downloader.c:2781)
==24691==    by 0x7659422: lr_yum_download_repo (yum.c:952)
==24691==    by 0x7659C84: lr_yum_download_remote (yum.c:1344)
==24691==    by 0x7659C84: lr_yum_perform (yum.c:1420)
==24691==    by 0x764D6CC: lr_handle_perform (handle.c:1220)
==24691==    by 0x75E3FA8: libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (Repo.cpp:1005)
==24691==  Address 0x6720a080728 is not stack'd, malloc'd or (recently) free'd
==24691== 
==24691== 
==24691== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==24691==  Access not within mapped region at address 0x6720A080728
==24691==    at 0x7F14180: Curl_splay (splay.c:51)
==24691==    by 0x7F14435: Curl_splayremovebyaddr (splay.c:238)
==24691==    by 0x7F0D041: Curl_expire_clear (multi.c:3032)
==24691==    by 0x7EF77DA: Curl_close (url.c:328)
==24691==    by 0x7F05508: curl_easy_cleanup (easy.c:765)
==24691==    by 0x7644A1A: prepare_next_transfer (downloader.c:1454)
==24691==    by 0x7644A1A: prepare_next_transfers (downloader.c:1688)
==24691==    by 0x7646A29: lr_download (downloader.c:2572)
==24691==    by 0x764858F: lr_download_single_cb (downloader.c:2781)
==24691==    by 0x7659422: lr_yum_download_repo (yum.c:952)
==24691==    by 0x7659C84: lr_yum_download_remote (yum.c:1344)
==24691==    by 0x7659C84: lr_yum_perform (yum.c:1420)
==24691==    by 0x764D6CC: lr_handle_perform (handle.c:1220)
==24691==    by 0x75E3FA8: libdnf::Repo::Impl::lrHandlePerform(_LrHandle*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (Repo.cpp:1005)
==24691==  If you believe this happened as a result of a stack
==24691==  overflow in your program's main thread (unlikely but
==24691==  possible), you can try to increase the size of the
==24691==  main thread stack using the --main-stacksize= flag.
==24691==  The main thread stack size used in this run was 8388608.
==24691== 
==24691== HEAP SUMMARY:
==24691==     in use at exit: 37,555,278 bytes in 141,148 blocks
==24691==   total heap usage: 548,284 allocs, 407,136 frees, 4,500,688,543 bytes allocated
==24691== 
==24691== LEAK SUMMARY:
==24691==    definitely lost: 770 bytes in 14 blocks
==24691==    indirectly lost: 195,084 bytes in 398 blocks
==24691==      possibly lost: 4,689,679 bytes in 47,011 blocks
==24691==    still reachable: 32,669,441 bytes in 93,723 blocks
==24691==                       of which reachable via heuristic:
==24691==                         newarray           : 1,536 bytes in 16 blocks
==24691==         suppressed: 0 bytes in 0 blocks
==24691== Rerun with --leak-check=full to see details of leaked memory
==24691== 
==24691== For counts of detected and suppressed errors, rerun with: -v
==24691== Use --track-origins=yes to see where uninitialised values come from
==24691== ERROR SUMMARY: 8 errors from 4 contexts (suppressed: 0 from 0)
Segmentation fault

Comment 4 Lukas Slebodnik 2019-03-28 21:58:41 UTC
Workaround is downgrade both of them

[root@host ~]# dnf downgrade -y -C https://kojipkgs.fedoraproject.org//packages/librepo/1.9.5/1.fc31/x86_64/librepo-1.9.5-1.fc31.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/zchunk/1.0.4/1.fc31/x86_64/zchunk-libs-1.0.4-1.fc31.x86_64.rpm
Last metadata expiration check: 0:05:59 ago on Thu 28 Mar 2019 05:43:14 PM EDT.
librepo-1.9.5-1.fc31.x86_64.rpm                                                                                                                             99 kB/s |  86 kB     00:00    
zchunk-libs-1.0.4-1.fc31.x86_64.rpm                                                                                                                         83 kB/s |  46 kB     00:00    
Dependencies resolved.
===========================================================================================================================================================================================
 Package                                      Architecture                            Version                                          Repository                                     Size
===========================================================================================================================================================================================
Downgrading:
 librepo                                      x86_64                                  1.9.5-1.fc31                                     @commandline                                   86 k
 zchunk-libs                                  x86_64                                  1.0.4-1.fc31                                     @commandline                                   46 k

Transaction Summary
===========================================================================================================================================================================================
Downgrade  2 Packages

Total size: 132 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                   1/1 
  Downgrading      : zchunk-libs-1.0.4-1.fc31.x86_64                                                                                                                                   1/4 
  Downgrading      : librepo-1.9.5-1.fc31.x86_64                                                                                                                                       2/4 
  Cleanup          : librepo-1.9.6-1.fc31.x86_64                                                                                                                                       3/4 
  Cleanup          : zchunk-libs-1.1.0-1.fc31.x86_64                                                                                                                                   4/4 
  Running scriptlet: zchunk-libs-1.1.0-1.fc31.x86_64                                                                                                                                   4/4 
  Verifying        : librepo-1.9.5-1.fc31.x86_64                                                                                                                                       1/4 
  Verifying        : librepo-1.9.6-1.fc31.x86_64                                                                                                                                       2/4 
  Verifying        : zchunk-libs-1.0.4-1.fc31.x86_64                                                                                                                                   3/4 
  Verifying        : zchunk-libs-1.1.0-1.fc31.x86_64                                                                                                                                   4/4 

Downgraded:
  librepo-1.9.5-1.fc31.x86_64                                                                zchunk-libs-1.0.4-1.fc31.x86_64                                                               

Complete!

[root@host ~]# dnf install --enablerepo=rawhide-debuginfo --enablerepo=rawhide-modular-debuginfo libtar-debuginfo libtar-debugsource
Fedora - Modular Rawhide - Debug                                                                                                                           3.2 kB/s | 4.8 kB     00:01    
Fedora - Rawhide - Developmental packages for the next Fedora release                                                                                       20 kB/s |  14 kB     00:00    
Fedora - Rawhide - Debug                                                                                                                                   2.1 MB/s |  28 MB     00:13    
rawhide-koji-basearch                                                                                                                                       10 kB/s | 3.8 kB     00:00    
Dependencies resolved.
===========================================================================================================================================================================================
 Package                                          Architecture                         Version                                       Repository                                       Size
===========================================================================================================================================================================================
Installing:
 libtar-debuginfo                                 x86_64                               1.2.20-17.fc30                                rawhide-debuginfo                                54 k
 libtar-debugsource                               x86_64                               1.2.20-17.fc30                                rawhide-debuginfo                                31 k

Transaction Summary
===========================================================================================================================================================================================
Install  2 Packages

Total download size: 85 k
Installed size: 282 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libtar-debugsource-1.2.20-17.fc30.x86_64.rpm                                                                                                         42 kB/s |  31 kB     00:00    
(2/2): libtar-debuginfo-1.2.20-17.fc30.x86_64.rpm                                                                                                           68 kB/s |  54 kB     00:00    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                       69 kB/s |  85 kB     00:01     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                   1/1 
  Installing       : libtar-debugsource-1.2.20-17.fc30.x86_64                                                                                                                          1/2 
  Installing       : libtar-debuginfo-1.2.20-17.fc30.x86_64                                                                                                                            2/2 
  Running scriptlet: libtar-debuginfo-1.2.20-17.fc30.x86_64                                                                                                                            2/2 
  Verifying        : libtar-debuginfo-1.2.20-17.fc30.x86_64                                                                                                                            1/2 
  Verifying        : libtar-debugsource-1.2.20-17.fc30.x86_64                                                                                                                          2/2 

Installed:
  libtar-debuginfo-1.2.20-17.fc30.x86_64                                                      libtar-debugsource-1.2.20-17.fc30.x86_64                                                     

Complete!

Comment 5 Lukas Slebodnik 2019-04-02 19:41:20 UTC
It would be good if you could take a look.

Comment 6 Jaroslav Mracek 2019-04-15 12:18:15 UTC
We believe that the issue is fixed in librepo-0:1.9.6-2.fc31.x86_64. Please if you could reproduce the issue with the latest version of librepo, reopen the bug.


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