On 11/13/19 4:03 PM, PGNet Dev wrote:
> On 11/13/19 2:39 PM, Daniel Stenberg wrote:
>> If this crash is at least semi-reliably reproduced in your environment
> 
> 100%, on all machines tested so far.
> 
> Unfortunately, I've not yet found any OTHER reports from others'
> 
>> then maybe you can try building a libcurl from source with the debug symbols 
>> still present and see if you can get some specifics out of this crash?
>> With a debug version, possibly you could even catch the crash in a debugger 
>> and get a full stack trace to show us!

This catches the zypper+libcurl crash ...

Installed debug symbols for curl*, zypper*, etc.

        rpm -qa | egrep -i "^curl|^libcurl|^zypp|^libzypp"
                curl-7.67.0-lp151.272.1.x86_64
+               curl-debuginfo-7.67.0-lp151.272.1.x86_64
                libcurl4-7.67.0-lp151.272.1.x86_64
+               libcurl4-debuginfo-7.67.0-lp151.272.1.x86_64
                libcurl-devel-7.67.0-lp151.272.1.x86_64
                libzypp-17.15.0-lp151.2.3.2.x86_64
+               libzypp-debuginfo-17.15.0-lp151.2.3.2.x86_64
                libzypp-devel-17.15.0-lp151.2.3.2.x86_64
                zypper-1.14.30-lp151.2.3.1.x86_64
+               zypper-debuginfo-1.14.30-lp151.2.3.1.x86_64
                zypper-log-1.14.30-lp151.2.3.1.noarch

Checking

        curl -V
                curl 7.67.0 (x86_64-suse-linux-gnu) libcurl/7.67.0 
OpenSSL/1.1.0i-fips zlib/1.2.11 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) 
libssh/0.9.2/openssl/zlib nghttp2/1.39.2
                Release-Date: 2019-11-06
                Protocols: dict file ftp ftps gopher http https imap imaps ldap 
ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
                Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos 
Largefile libz Metalink NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets

        ldd `which zypper` | grep -i curl
                libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f7ce9bd4000)

set env ZYPP_MEDIA_CURL_DEBUG 2
zypper clean --all OS15-oss
zypper ref OS15-oss
        Retrieving repository 'OS15-oss' metadata 
-----------------[\]Segmentation fault (core dumped)

coredumpctl list
        TIME                            PID   UID   GID SIG COREFILE  EXE
        Wed 2019-11-13 17:31:24 PST    4842     0     0  11 present   
/usr/bin/zypper

cd /var/lib/systemd/coredump/
ls
        core.zypper.0.3d6e4a4406ce4819a0eefd05a1853b9e.4842.1573695083000000.lz4
unlz4 core.zypper.0.3d6e4a4406ce4819a0eefd05a1853b9e.4842.1573695083000000.lz4

echo "set pagination off" > ~/.gdbinit
gdb zypper 
/var/lib/systemd/coredump/core.zypper.0.3d6e4a4406ce4819a0eefd05a1853b9e.4842.1573695083000000

        GNU gdb (GDB; openSUSE Leap 15.1) 8.3.1
        Reading symbols from zypper...
        Reading symbols from 
/usr/lib/debug/usr/bin/zypper-1.14.30-lp151.2.3.1.x86_64.debug...
        [New LWP 4842]
        [Thread debugging using libthread_db enabled]
        Using host libthread_db library "/lib64/libthread_db.so.1".
        Core was generated by `zypper ref OS15-oss'.
        Program terminated with signal SIGSEGV, Segmentation fault.
        #0  Curl_splay (i=..., t=0x563d07704238) at splay.c:55
        55      splay.c: No such file or directory.

        (gdb) bt
        #0  Curl_splay (i=..., t=0x563d07704238) at splay.c:55
        #1  0x00007f8adcc91a33 in Curl_splayinsert (i=..., t=<optimized out>, 
node=node@entry=0x563d076b7698) at splay.c:111
        #2  0x00007f8adcc8a204 in Curl_expire (data=data@entry=0x563d076b63d0, 
milli=milli@entry=0, id=id@entry=EXPIRE_RUN_NOW) at multi.c:3050
        #3  0x00007f8adcc8a348 in curl_multi_add_handle (multi=0x563d07699b60, 
data=0x563d076b63d0) at multi.c:469
        #4  0x00007f8ade7dcf57 in zypp::media::multifetchworker::run 
(this=0x563d07677370) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaMultiCurl.cc:763
        #5  0x00007f8ade7e17a0 in zypp::media::multifetchrequest::run 
(this=this@entry=0x7ffefd0a8cb0, urllist=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaMultiCurl.cc:864
        #6  0x00007f8ade7e27f8 in zypp::media::MediaMultiCurl::multifetch 
(this=this@entry=0x563d074d2960, filename=..., fp=0x563d076d6530, 
urllist=urllist@entry=0x7ffefd0a8f00, report=report@entry=0x7ffefd0a931f, 
blklist=<optimized out>, blklist@entry=0x7ffefd0a91b0, filesize=<optimized 
out>) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaMultiCurl.cc:1560
        #7  0x00007f8ade7e3be8 in zypp::media::MediaMultiCurl::multifetch 
(filesize=..., blklist=0x7ffefd0a91b0, report=0x7ffefd0a931f, 
urllist=0x7ffefd0a8f00, fp=<optimized out>, filename=..., this=0x563d074d2960) 
at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaMultiCurl.h:56
        #8  zypp::media::MediaMultiCurl::doGetFileCopy (this=0x563d074d2960, 
filename=..., target=..., report=..., expectedFileSize_r=..., options=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaMultiCurl.cc:1442
        #9  0x00007f8ade7d9704 in zypp::media::MediaCurl::getFileCopy 
(this=0x563d074d2960, filename=..., target=..., expectedFileSize_r=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaCurl.cc:981
        #10 0x00007f8ade7cc920 in zypp::media::MediaCurl::getFile 
(this=0x563d074d2960, filename=..., expectedFileSize_r=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaCurl.cc:964
        #11 0x00007f8ade7a63cd in zypp::media::MediaHandler::provideFile 
(this=this@entry=0x563d074d2960, filename=..., expectedFileSize_r=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaHandler.cc:1014
        #12 0x00007f8ade7a013a in zypp::media::MediaAccess::provideFile 
(this=<optimized out>, filename=..., expectedFileSize=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaAccess.cc:346
        #13 0x00007f8ade7eeea1 in zypp::media::MediaManager::provideFile 
(this=this@entry=0x7ffefd0a983f, accessId=accessId@entry=2, filename=..., 
expectedFileSize=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/media/MediaManager.cc:636
        #14 0x00007f8ade96f3f4 in zypp::ProvideFileOperation::operator() 
(file=..., media=2, this=0x7ffefd0a9b10) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/MediaSetAccess.cc:118
        #15 
boost::detail::function::void_function_ref_invoker2<zypp::ProvideFileOperation, 
void, unsigned int, zypp::filesystem::Pathname const&>::invoke 
(function_obj_ptr=..., a0=2, a1=...) at 
/usr/include/boost/function/function_template.hpp:194
        #16 0x00007f8ade96bb51 in boost::function2<void, unsigned int, 
zypp::filesystem::Pathname const&>::operator() (a1=..., a0=2, 
this=0x7ffefd0a9af0) at /usr/include/boost/function/function_template.hpp:759
        #17 zypp::MediaSetAccess::provide(boost::function<void (unsigned int, 
zypp::filesystem::Pathname const&)>, zypp::OnMediaLocation const&, 
zypp::base::Flags<zypp::MediaSetAccess::ProvideFileOption>, 
zypp::filesystem::Pathname const&) (this=this@entry=0x7ffefd0aa880, op=..., 
resource=..., options=..., deltafile=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/MediaSetAccess.cc:260
        #18 0x00007f8ade96ce2f in zypp::MediaSetAccess::provideFile 
(this=this@entry=0x7ffefd0aa880, resource=..., options=..., deltafile=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/MediaSetAccess.cc:165
        #19 0x00007f8ade93d073 in zypp::Fetcher::Impl::provideToDest 
(this=this@entry=0x563d0756c2b0, media_r=..., destDir_r=..., jobp_r=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/Fetcher.cc:519
        #20 0x00007f8ade93dd54 in 
zypp::Fetcher::Impl::start(zypp::filesystem::Pathname const&, 
zypp::MediaSetAccess&, boost::function<bool (zypp::ProgressData const&)> 
const&) (this=this@entry=0x563d0756c2b0, dest_dir=..., media=..., 
progress_receiver=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/Fetcher.cc:797
        #21 0x00007f8ade93f3d3 in 
zypp::Fetcher::start(zypp::filesystem::Pathname const&, zypp::MediaSetAccess&, 
boost::function<bool (zypp::ProgressData const&)> const&) 
(this=this@entry=0x563d0747b740, dest_dir=..., media=..., 
progress_receiver=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/Fetcher.cc:876
        #22 0x00007f8ade8588d2 in 
zypp::repo::yum::Downloader::download(zypp::MediaSetAccess&, 
zypp::filesystem::Pathname const&, boost::function<bool (zypp::ProgressData 
const&)> const&) (this=this@entry=0x563d0747b740, media=..., dest_dir=..., 
progressrcv=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/repo/yum/Downloader.cc:196
        #23 0x00007f8ade9cd857 in 
zypp::RepoManager::Impl::refreshMetadata(zypp::RepoInfo const&, 
zypp::RepoManager::RawMetadataRefreshPolicy, boost::function<bool 
(zypp::ProgressData const&)> const&) (this=this@entry=0x563d074f5c60, info=..., 
policy=policy@entry=zypp::RepoManager::RefreshForced, progress=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/RepoManager.cc:1178
        #24 0x00007f8ade9ce551 in 
zypp::RepoManager::refreshMetadata(zypp::RepoInfo const&, 
zypp::RepoManager::RawMetadataRefreshPolicy, boost::function<bool 
(zypp::ProgressData const&)> const&) (this=this@entry=0x563d0754ba20, info=..., 
policy=policy@entry=zypp::RepoManager::RefreshForced, progressrcv=...) at 
/usr/src/debug/libzypp-17.15.0-lp151.2.3.2.x86_64/zypp/RepoManager.cc:2569
        #25 0x0000563d050390c1 in refresh_raw_metadata (zypper=..., repo=..., 
force_download=force_download@entry=false) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/repos.cc:295
        #26 0x0000563d050bca44 in RefreshRepoCmd::refreshRepository 
(zypper=..., repo=..., flags_r=flags_r@entry=...) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/commands/repos/refresh.cc:155
        #27 0x0000563d050bd888 in RefreshRepoCmd::refreshRepositories 
(zypper=..., flags_r=..., repos_r=...) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/commands/repos/refresh.cc:260
        #28 0x0000563d050bf6db in RefreshRepoCmd::execute (this=0x563d07492300, 
zypper=..., positionalArgs_r=...) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/commands/repos/refresh.cc:142
        #29 0x0000563d0506b142 in ZypperBaseCommand::run (this=0x563d07492300, 
zypper=...) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/commands/basecommand.cc:255
        #30 0x0000563d0500ac10 in Zypper::doCommand 
(this=this@entry=0x563d054679c0 <Zypper::instance()::_instance>, 
cmdArgc=cmdArgc@entry=3, cmdArgv=cmdArgv@entry=0x7ffefd0abf88, firstFlag=1) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/Zypper.cc:679
        #31 0x0000563d04fe4f59 in Zypper::main (this=0x563d054679c0 
<Zypper::instance()::_instance>, argc=3, argv=0x7ffefd0abf88) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/Zypper.cc:217
        #32 0x0000563d04fe4529 in main (argc=3, argv=0x7ffefd0abf88) at 
/usr/src/debug/zypper-1.14.30-lp151.2.3.1.x86_64/src/main.cc:137
        (gdb)


note,

  curl_multi_add_handle() @
    
https://github.com/openSUSE/libzypp/blob/02a52477c0378127d0c13e4797826ee1367936ac/zypp/media/MediaMultiCurl.cc#L763



If there's more specific detail that can/should be gotten, pls specify what/how 
to grab it.
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to