[Bug 903551] New: zypper: terminate called after throwing an instance of 'std::out_of_range'

http://bugzilla.opensuse.org/show_bug.cgi?id=903551 Bug ID: 903551 Summary: zypper: terminate called after throwing an instance of 'std::out_of_range' Classification: openSUSE Product: openSUSE Factory Version: NO 13.2 BUGS!! Hardware: x86-64 OS: openSUSE 13.2 Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem Assignee: ma@suse.com Reporter: mpluskal@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- During zypper dup, when one of repositories had somehow corrupted metadata, following occured: Continuing might be risky. Continue anyway? [yes/no] (no): yes File './repodata/f2820a883d58529e0598989d7e177dd2fd1bec288196477ae3a8e6c8b35cd1e8-primary.xml.gz' not found on medium 'http://download.suse.de/ibs/QA:/Maintenance/openSUSE_Factory/' Abort, retry, ignore? [a/r/i/? shows all options] (a): i Retrieving repository 'tools specific to QA Maintenance (no test suites!) (openSUSE_Factory)' metadata .......................................................................................................................[error] Repository 'tools specific to QA Maintenance (no test suites!) (openSUSE_Factory)' is invalid. [QA_Maintenance|http://download.suse.de/ibs/QA:/Maintenance/openSUSE_Factory/] Valid metadata not found at specified URL Please check if the URIs defined for this repository are pointing to a valid repository. ... Retrieving package apparmor-docs-2.9.0-1.1.noarch (17/500), 0 B ( 0 B unpacked) terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::substr Aborted (core dumped) bt (from coredump): #0 0x00007f09eb7600f7 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x00007f09eb7614ca in __GI_abort () at abort.c:78 #2 0x00007f09ec046145 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #3 0x00007f09ec0442e6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:38 #4 0x00007f09ec044313 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #5 0x00007f09ec044532 in __cxxabiv1::__cxa_throw (obj=0x1e10500, tinfo=0x7f09ec2cd1d0 <typeinfo for std::out_of_range>, dest=0x7f09ec058380 <std::out_of_range::~out_of_range()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:87 #6 0x00007f09ec0956f7 in std::__throw_out_of_range (__s=__s@entry=0x7f09ecb6bd67 "basic_string::substr") at ../../../../../libstdc++-v3/src/c++11/functexcept.cc:80 #7 0x00007f09ec8a0fa6 in _M_check (__s=0x7f09ecb6bd67 "basic_string::substr", __pos=1, this=0x7fff03b6d0f0) at /usr/include/c++/4.8/bits/basic_string.h:324 #8 substr (__n=18446744073709551615, __pos=1, this=0x7fff03b6d0f0) at /usr/include/c++/4.8/bits/basic_string.h:2208 #9 zypp::media::MediaCurl::getFileUrl (this=this@entry=0x1e49d60, filename_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaCurl.cc:854 #10 0x00007f09ec8ac827 in zypp::media::MediaCurl::getFileCopy (this=0x1e49d60, filename=..., target=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaCurl.cc:880 #11 0x00007f09ec89f9a1 in zypp::media::MediaCurl::getFile (this=0x1e49d60, filename=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaCurl.cc:871 #12 0x00007f09ec881b6d in zypp::media::MediaHandler::provideFile (this=0x1e49d60, filename=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaHandler.cc:997 #13 0x00007f09ec87aed3 in zypp::media::MediaAccess::provideFile (this=0x1e35860, filename=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaAccess.cc:346 #14 0x00007f09ec8c785e in zypp::media::MediaManager::provideFile (this=this@entry=0x7fff03b6d55e, accessId=accessId@entry=4, filename=...) at /usr/src/debug/libzypp-14.29.4/zypp/media/MediaManager.cc:693 #15 0x00007f09eca0b250 in operator() (file=..., media=4, this=0x7fff03b6d8f0) at /usr/src/debug/libzypp-14.29.4/zypp/MediaSetAccess.cc:114 #16 boost::detail::function::void_function_ref_invoker2<zypp::ProvideFileOperation, void, unsigned int, zypp::filesystem::Pathname const&>::invoke (function_obj_ptr=..., a0=4, a1=...) at /usr/include/boost/function/function_template.hpp:188 #17 0x00007f09eca0888a in operator() (a1=..., a0=4, this=0x7fff03b6d900) at /usr/include/boost/function/function_template.hpp:767 #18 zypp::MediaSetAccess::provide(boost::function<void (unsigned int, zypp::filesystem::Pathname const&)>, zypp::OnMediaLocation const&, zypp::base::Flags<zypp::MediaSetAccess::ProvideFileOption>, zypp::filesystem::Pathname con&) (this=this@entry=0x332d210, op=..., resource=..., options=..., deltafile=...) at /usr/src/debug/libzypp-14.29.4/zypp/MediaSetAccess.cc:210 #19 0x00007f09eca09b5e in zypp::MediaSetAccess::provideFile (this=this@entry=0x332d210, resource=..., options=..., deltafile=...) at /usr/src/debug/libzypp-14.29.4/zypp/MediaSetAccess.cc:160 #20 0x00007f09ec9e3a66 in zypp::Fetcher::Impl::provideToDest (this=this@entry=0x1e16cc0, media=..., resource=..., dest_dir=..., deltafile=...) at /usr/src/debug/libzypp-14.29.4/zypp/Fetcher.cc:552 #21 0x00007f09ec9e7181 in zypp::Fetcher::Impl::start(zypp::filesystem::Pathname const&, zypp::MediaSetAccess&, boost::function<bool (zypp::ProgressData const&)> const&) (this=0x1e16cc0, dest_dir=..., media=..., progress_receiver=...) at /usr/src/debug/libzypp-14.29.4/zypp/Fetcher.cc:799 #22 0x00007f09ec9e79e0 in zypp::Fetcher::start(zypp::filesystem::Pathname const&, zypp::MediaSetAccess&, boost::function<bool (zypp::ProgressData const&)> const&) (this=this@entry=0x7fff03b6e4a0, dest_dir=..., media=..., progress_receiver=...) at /usr/src/debug/libzypp-14.29.4/zypp/Fetcher.cc:916 #23 0x00007f09ec90503c in zypp::repo::RepoMediaAccess::provideFile (this=0x1da4270, repo_r=..., loc_r=..., policy_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/repo/RepoProvideFile.cc:309 #24 0x00007f09ec8fc4da in zypp::repo::PackageProvider::Impl::doProvidePackage (this=this@entry=0x1e3ed80) at /usr/src/debug/libzypp-14.29.4/zypp/repo/PackageProvider.cc:206 #25 0x00007f09ec9013db in zypp::repo::RpmPackageProvider::doProvidePackage (this=0x1e3ed80) at /usr/src/debug/libzypp-14.29.4/zypp/repo/PackageProvider.cc:384 #26 0x00007f09ec8fd512 in zypp::repo::PackageProvider::Impl::providePackage (this=0x1e3ed80) at /usr/src/debug/libzypp-14.29.4/zypp/repo/PackageProvider.cc:266 #27 0x00007f09ec8ffa31 in zypp::repo::PackageProvider::providePackage (this=this@entry=0x7fff03b6f7c0) at /usr/src/debug/libzypp-14.29.4/zypp/repo/PackageProvider.cc:489 #28 0x00007f09ec950adb in zypp::target::RepoProvidePackage::operator() (this=0x1da4238, pi=..., fromCache_r=<optimized out>) at /usr/src/debug/libzypp-14.29.4/zypp/target/CommitPackageCache.cc:95 #29 0x00007f09ec96668c in boost::detail::function::function_obj_invoker2<zypp::target::RepoProvidePackage, zypp::AutoDispose<zypp::filesystem::Pathname const>, zypp::PoolItem const&, bool>::invoke (function_obj_ptr=..., a0=..., a1=<optimized out>) at /usr/include/boost/function/function_template.hpp:132 #30 0x00007f09ec951cf6 in operator() (a1=false, a0=..., this=<optimized out>) at /usr/include/boost/function/function_template.hpp:767 #31 zypp::target::CommitPackageCache::Impl::sourceProvidePackage (this=<optimized out>, pi=...) at /usr/src/debug/libzypp-14.29.4/zypp/target/CommitPackageCacheImpl.h:82 #32 0x00007f09ec95352a in zypp::target::CommitPackageCacheReadAhead::get (this=0x1da4210, citem_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/target/CommitPackageCacheReadAhead.cc:179 #33 0x00007f09ec9510a2 in zypp::target::CommitPackageCache::get (this=this@entry=0x7fff03b6fe20, citem_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/target/CommitPackageCache.cc:133 #34 0x00007f09ec964613 in zypp::target::TargetImpl::commit (this=0xb7bbf0, pool_r=..., policy_rX=...) at /usr/src/debug/libzypp-14.29.4/zypp/target/TargetImpl.cc:1409 #35 0x00007f09ecaa258d in zypp::zypp_detail::ZYppImpl::commit (this=0xa8b2a0, policy_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/zypp_detail/ZYppImpl.cc:145 #36 0x00007f09eca9b1c2 in zypp::ZYpp::commit (this=<optimized out>, policy_r=...) at /usr/src/debug/libzypp-14.29.4/zypp/ZYpp.cc:99 #37 0x00000000004d218f in solve_and_commit (zypper=...) at /usr/src/debug/zypper-1.11.14/src/solve-commit.cc:763 #38 0x0000000000459ccc in Zypper::doCommand (this=this@entry=0xa791f0) at /usr/src/debug/zypper-1.11.14/src/Zypper.cc:4689 #39 0x000000000046789d in Zypper::safeDoCommand (this=0xa791f0) at /usr/src/debug/zypper-1.11.14/src/Zypper.cc:1042 #40 0x0000000000435af3 in Zypper::main (this=0xa791f0, argc=argc@entry=2, argv=argv@entry=0x7fff03b72248) at /usr/src/debug/zypper-1.11.14/src/Zypper.cc:188 #41 0x0000000000434df1 in main (argc=2, argv=0x7fff03b72248) at /usr/src/debug/zypper-1.11.14/src/main.cc:111 -- You are receiving this mail because: You are on the CC list for the bug.

http://bugzilla.opensuse.org/show_bug.cgi?id=903551 --- Comment #1 from Martin Pluskal <mpluskal@suse.com> --- from zypper log: ... 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] PackageProvider.cc(providePackage):259 provide Package (61467)apparmor-docs-2.9.0-1.1.noarch(download.opensuse.org-oss_1) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] DeltaCandidates.cc(deltaRpms):82 package: (61467)apparmor-docs-2.9.0-1.1.noarch(download.opensuse.org-oss_1) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] RepoProvideFile.cc(provideFile):252 [0]{0 B|NoCheckSum} 2014-11-01 15:25:33 <1> daredevil(20089) [zypp:fetcher++] Fetcher.cc(addCachePath):319 Adding fetcher cache: '/var/cache/zypp/packages/download.opensuse.org-oss_1'. 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] RepoProvideFile.cc(provideFile):271 Added cache path /var/cache/zypp/packages/download.opensuse.org-oss_1 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] RepoProvideFile.cc(provideFile):302 Providing file of repo 'download.opensuse.org-oss_1' from http://download.opensuse.org/factory/repo/oss/ 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] RepoProvideFile.cc(setVerifierForRepo):199 Repository 'download.opensuse.org-oss_1' has 1 medias 2014-11-01 15:25:33 <1> daredevil(20089) [zypp:fetcher] Fetcher.cc(downloadAndReadIndexList):723 No indexes to read. 2014-11-01 15:25:33 <1> daredevil(20089) [zypp:fetcher] Fetcher.cc(provideFromCache):350 start fetcher with 1 cache directories. 2014-11-01 15:25:33 <1> daredevil(20089) [zypp:fetcher++] Fetcher.cc(provideFromCache):357 File '/var/cache/zypp/packages/download.opensuse.org-oss_1' exist, testing checksum NoCheckSum 2014-11-01 15:25:33 <1> daredevil(20089) [zypp:fetcher] Fetcher.cc(provideToDest):547 Not found in cache, downloading 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaSetAccess.cc(rewriteUrl):400 Rewriting url http://download.opensuse.org/factory/repo/oss/ 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaAccess.cc(open):117 Trying scheme 'http' 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaCurl.cc(MediaCurl):459 MediaCurl::MediaCurl(http://download.opensuse.org/factory/repo/oss/, ) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaMultiCurl.cc(MediaMultiCurl):1158 MediaMultiCurl::MediaMultiCurl(http://download.opensuse.org/factory/repo/oss/, ) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaAccess.cc(open):197 Opened: http(http://download.opensuse.org/factory/repo/oss/ not attached; localRoot "") 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaManager.cc(open):277 Opened new media access using id 5 to http://download.opensuse.org/factory/repo/oss/ 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaSetAccess.cc(provide):203 Going to try to provide file from media number 0 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaManager.cc(attach):413 attach(id=5) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaHandler.cc(createAttachPoint):371 Created default attach point /var/adm/mount/AP_0xkj0dGs 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaCurl.cc(setupEasy):719 Proxy: not explicitly set 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaCurl.cc(setupEasy):720 Proxy: libcurl may look into the environment 2014-11-01 15:25:33 <1> daredevil(20089) [zypp] MediaHandler.cc(attach):674 Attached: http://download.opensuse.org/factory/repo/oss/ attached; localRoot "/var/adm/mount/AP_0xkj0dGs" 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaManager.cc(checkDesired):109 checkDesired(5): desired (report by zypp::media::NoVerifier) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaManager.cc(checkDesired):112 checkDesired(5): desired (cached) 2014-11-01 15:25:33 <1> daredevil(20089) [zypp++] MediaManager.cc(checkDesired):112 checkDesired(5): desired (cached) -- You are receiving this mail because: You are on the CC list for the bug.

http://bugzilla.opensuse.org/show_bug.cgi?id=903551 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|Basesystem |libzypp Assignee|ma@suse.com |zypp-maintainers@forge.prov | |o.novell.com -- You are receiving this mail because: You are on the CC list for the bug.

http://bugzilla.opensuse.org/show_bug.cgi?id=903551 Michael Andres <ma@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Michael Andres <ma@suse.com> --- That's another variant of the buggy code in MediaCurl::getFileUrl which was removed in in libzypp-14.30.1 fixing bug #901590. In contrary to #901590 the case here enters the 'else if' case and crashes. Fixed in libzypp-14.30.1 *** This bug has been marked as a duplicate of bug 901590 *** -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com