https://bugzilla.novell.com/show_bug.cgi?id=764741
https://bugzilla.novell.com/show_bug.cgi?id=764741#c0
Summary: zypper often segfaulting / aborting on exit
Classification: openSUSE
Product: openSUSE 12.2
Version: Factory
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: libzypp
AssignedTo: zypp-maintainers@forge.provo.novell.com
ReportedBy: seife@novell.slipkontur.de
QAContact: qa-bugs@suse.de
Found By: Third Party Developer/Partner
Blocker: ---
current Factory, zypper quite often segfaults on exit or aborts due to "glibc
detected double free"
Most of the time, retrying the previous command a second time works.
Running zypper under valgrind shows lots of invalid memory accesses, so
something seems wrong in the code.
susi:~ # valgrind zypper up
==7908== Memcheck, a memory error detector
==7908== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==7908== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==7908== Command: zypper up
==7908==
Loading repository data...
==7908== Invalid read of size 8
==7908== at 0x50EBFD2: zypp::detail::RepositoryIterator::increment()
(Repository.cc:319)
==7908== by 0x511F9A3: zypp::sat::Pool::reposFind(std::string const&) const
(iterator_facade.hpp:523)
==7908== by 0x511FA58: zypp::sat::Pool::reposInsert(std::string const&)
(Pool.cc:105)
==7908== by 0x5120A2C:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, std::string
const&) (Pool.cc:149)
==7908== by 0x5120E23:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, zypp::RepoInfo
const&) (Pool.cc:162)
==7908== by 0x50E2468: zypp::RepoManager::loadFromCache(zypp::RepoInfo
const&, boost::function const&)
(RepoManager.cc:1408)
==7908== by 0x474119: load_repo_resolvables(Zypper&) (repos.cc:3184)
==7908== by 0x475404: load_resolvables(Zypper&) (repos.cc:3115)
==7908== by 0x44EF51: Zypper::doCommand() (Zypper.cc:4125)
==7908== by 0x455E17: Zypper::safeDoCommand() (Zypper.cc:860)
==7908== by 0x433B58: Zypper::main(int, char**) (Zypper.cc:132)
==7908== by 0x4334BB: main (main.cc:109)
==7908== Address 0xc41a260 is 0 bytes after a block of size 16 alloc'd
==7908== at 0x4C292B8: calloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==7908== by 0x519AE34: solv_calloc (util.c:73)
==7908== by 0x518929C: repo_create (repo.c:48)
==7908== by 0x5136986: zypp::sat::detail::PoolImpl::_createRepo(std::string
const&) (PoolImpl.cc:277)
==7908== by 0x511FA75: zypp::sat::Pool::reposInsert(std::string const&)
(Pool.cc:109)
==7908== by 0x5120A2C:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, std::string
const&) (Pool.cc:149)
==7908== by 0x5120E23:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, zypp::RepoInfo
const&) (Pool.cc:162)
==7908== by 0x50E2468: zypp::RepoManager::loadFromCache(zypp::RepoInfo
const&, boost::function const&)
(RepoManager.cc:1408)
==7908== by 0x474119: load_repo_resolvables(Zypper&) (repos.cc:3184)
==7908== by 0x475404: load_resolvables(Zypper&) (repos.cc:3115)
==7908== by 0x44EF51: Zypper::doCommand() (Zypper.cc:4125)
==7908== by 0x455E17: Zypper::safeDoCommand() (Zypper.cc:860)
==7908==
Reading installed packages...
==7908== Invalid read of size 8
==7908== at 0x50EBFD2: zypp::detail::RepositoryIterator::increment()
(Repository.cc:319)
==7908== by 0x511F9A3: zypp::sat::Pool::reposFind(std::string const&) const
(iterator_facade.hpp:523)
==7908== by 0x511FA58: zypp::sat::Pool::reposInsert(std::string const&)
(Pool.cc:105)
==7908== by 0x511FB8A: zypp::sat::Pool::systemRepo() (Pool.cc:142)
==7908== by 0x500446D: zypp::target::TargetImpl::load() (TargetImpl.cc:988)
==7908== by 0x46D034: load_target_resolvables(Zypper&) (repos.cc:3231)
==7908== by 0x475467: load_resolvables(Zypper&) (repos.cc:3117)
==7908== by 0x44EF51: Zypper::doCommand() (Zypper.cc:4125)
==7908== by 0x455E17: Zypper::safeDoCommand() (Zypper.cc:860)
==7908== by 0x433B58: Zypper::main(int, char**) (Zypper.cc:132)
==7908== by 0x4334BB: main (main.cc:109)
==7908== Address 0xce9d148 is 0 bytes after a block of size 88 alloc'd
==7908== at 0x4C2ACCE: realloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==7908== by 0x519AD4D: solv_realloc (util.c:52)
==7908== by 0x518930B: repo_create (repo.c:51)
==7908== by 0x5136986: zypp::sat::detail::PoolImpl::_createRepo(std::string
const&) (PoolImpl.cc:277)
==7908== by 0x511FA75: zypp::sat::Pool::reposInsert(std::string const&)
(Pool.cc:109)
==7908== by 0x5120A2C:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, std::string
const&) (Pool.cc:149)
==7908== by 0x5120E23:
zypp::sat::Pool::addRepoSolv(zypp::filesystem::Pathname const&, zypp::RepoInfo
const&) (Pool.cc:162)
==7908== by 0x50E2468: zypp::RepoManager::loadFromCache(zypp::RepoInfo
const&, boost::function const&)
(RepoManager.cc:1408)
==7908== by 0x474119: load_repo_resolvables(Zypper&) (repos.cc:3184)
==7908== by 0x475404: load_resolvables(Zypper&) (repos.cc:3115)
==7908== by 0x44EF51: Zypper::doCommand() (Zypper.cc:4125)
==7908== by 0x455E17: Zypper::safeDoCommand() (Zypper.cc:860)
==7908==
etc.pp.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.