Bug 214846

Summary: Crash during startup
Product: [Fedora] Fedora Reporter: Pierre Ossman <pierre-bugzilla>
Component: aptAssignee: Axel Thimm <axel.thimm>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: extras-qa, pmatilai
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-29 19:31:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
apt-sigsegv.tar.gz none

Description Pierre Ossman 2006-11-09 18:32:02 UTC
apt crashes now and then when building the dependency tree. Removing the
downloaded repository information usually solves it. Just doing an update is
insufficient.


Program received signal SIGSEGV, Segmentation fault.

#0  pkgDepCache::CheckDep (this=0x80b9d40, Dep=
      {Dep = 0xb737cf7c, Type = pkgCache::DepIterator::DepVer, Owner =
0x80b9d90}, Type=2, Res=@0xbfad2544) at depcache.cc:287
        VS = (pkgVersioningSystem &) @0x41ce151c: {
  _vptr.pkgVersioningSystem = 0x41cdfa08, static GlobalList = 0x41ce1b00, 
  static GlobalListLen = 1, Label = 0x41cb799b "Standard .rpm"}
#1  0x41c73834 in pkgDepCache::DependencyState (this=0x80b9d40, D=@0xbfad25a4)
    at ../include/apt-pkg/depcache.h:150
        State = 3 '\003'
#2  0x41c74750 in pkgDepCache::Update (this=0x80b9d40, Prog=0xbfad26c8)
    at depcache.cc:575
        State = (unsigned char &) @0x8134c84: 0 '\0'
        D = {Dep = 0xb737cf7c, Type = pkgCache::DepIterator::DepVer, 
  Owner = 0x80b9d90}
        Group = 0 '\0'
        Done = 89
#3  0x41c74c49 in pkgDepCache::Init (this=0x80b9d40, Prog=0xbfad26c8)
    at depcache.cc:100
        Done = 39261
#4  0x41c7163c in pkgCacheFile::Open (this=0xbfad275c, Progress=@0xbfad26c8, 
    WithLock=true) at cachefile.cc:109
No locals.
#5  0x08064c9a in CacheFile::Open (this=0xbfad275c, WithLock=true)
    at apt-get.cc:100
        Prog = {<OpProgress> = {_vptr.OpProgress = 0x806d508, Current = 39262, 
    Total = 78524, Size = 39262, SubTotal = 39262, LastPercent = 100, 
    LastTime = {tv_sec = 1163096824, tv_usec = 226540}, LastOp = {
      static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, 
        _M_p = 0x80bc99c "Building Dependency Tree"}}, LastSubOp = {
      static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, 
        _M_p = 0x80bc6cc "Dependency Generation"}}, Op = {
      static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, 
        _M_p = 0x80bc8b4 "Building Dependency Tree"}}, SubOp = {
      static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, 
        _M_p = 0x80bc6cc "Dependency Generation"}}, Percent = 50.1018791, 
    MajorChange = false}, OldOp = {static npos = 4294967295, 
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> =
{<No data fields>}, <No data fields>}, 
      _M_p = 0x80bc8b4 "Building Dependency Tree"}}, NoUpdate = false, 
  NoDisplay = false, LastLen = 32}
#6  0x0805fb30 in DoDistUpgrade (CmdL=@0xbfad2afc) at apt-get.cc:113
        Cache = {<pkgCacheFile> = {Map = 0x80b5958, Cache = 0x80b9d90, 
    DCache = 0x80b9d40, Policy = 0x80b9d10}, static SortCache = 0x0, 
  List = 0x0}
#7  0x41bf82db in CommandLine::DispatchArg (this=0xbfad2afc, Map=0xbfad2a98, 
    NoMatch=true) at contrib/cmndline.cc:340
        Res = <value optimized out>
#8  0x0805d4d7 in main (argc=2, argv=0x80b9d90) at apt-get.cc:3312
        URLLst = {<std::_Vector_base<std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>,std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >> = {
    _M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No data
fields>}, _M_start = 0x8065640, _M_finish = 0x0, 
      _M_end_of_storage = 0x8066948}}, <No data fields>}
        Args = {{ShortOpt = 104 'h', LongOpt = 0x806695a "help", 
    ConfName = 0x806695a "help", Flags = 0}, {ShortOpt = 118 'v', 
    LongOpt = 0x80669fa "version", ConfName = 0x80669fa "version", Flags = 0}, 
  {ShortOpt = 86 'V', LongOpt = 0x806731a "verbose-versions", 
    ConfName = 0x8066b40 "APT::Get::Show-Versions", Flags = 0}, {
    ShortOpt = 113 'q', LongOpt = 0x8066954 "quiet", 
    ConfName = 0x8066954 "quiet", Flags = 2}, {ShortOpt = 113 'q', 
    LongOpt = 0x806732b "silent", ConfName = 0x8066954 "quiet", Flags = 2}, {
    ShortOpt = 100 'd', LongOpt = 0x8067332 "download-only", 
    ConfName = 0x806695f "APT::Get::Download-Only", Flags = 0}, {
    ShortOpt = 98 'b', LongOpt = 0x8067340 "compile", 
    ConfName = 0x8066d74 "APT::Get::Compile", Flags = 0}, {ShortOpt = 98 'b', 
    LongOpt = 0x8066cb1 "build", ConfName = 0x8066d74 "APT::Get::Compile", 
    Flags = 0}, {ShortOpt = 115 's', LongOpt = 0x8067348 "simulate", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 115 's', LongOpt = 0x8067351 "just-print", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 115 's', LongOpt = 0x806735c "recon", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 115 's', LongOpt = 0x8067362 "dry-run", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 115 's', LongOpt = 0x806736a "no-act", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 121 'y', LongOpt = 0x806740c "yes", 
    ConfName = 0x806698a "APT::Get::Assume-Yes", Flags = 0}, {
    ShortOpt = 121 'y', LongOpt = 0x8067371 "assume-yes", 
    ConfName = 0x806698a "APT::Get::Assume-Yes", Flags = 0}, {
    ShortOpt = 102 'f', LongOpt = 0x806737c "fix-broken", 
    ConfName = 0x806699f "APT::Get::Fix-Broken", Flags = 0}, {
    ShortOpt = 117 'u', LongOpt = 0x8067387 "show-upgraded", 
    ConfName = 0x8066f1a "APT::Get::Show-Upgraded", Flags = 0}, {
    ShortOpt = 109 'm', LongOpt = 0x8067395 "ignore-missing", 
    ConfName = 0x8066f93 "APT::Get::Fix-Missing", Flags = 0}, {
    ShortOpt = 68 'D', LongOpt = 0x80673a4 "remove-deps", 
    ConfName = 0x806726a "APT::Remove-Depends", Flags = 0}, {
    ShortOpt = 116 't', LongOpt = 0x80673b0 "target-release", 
    ConfName = 0x80673bf "APT::Default-Release", Flags = 1}, {
    ShortOpt = 116 't', LongOpt = 0x80673d4 "default-release", 
    ConfName = 0x80673bf "APT::Default-Release", Flags = 1}, {
    ShortOpt = 0 '\0', LongOpt = 0x8066fbe "download", 
    ConfName = 0x8066f50 "APT::Get::Download", Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x80673e4 "fix-missing", 
    ConfName = 0x8066f93 "APT::Get::Fix-Missing", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x80673f0 "ignore-hold", 
    ConfName = 0x80671c2 "APT::Ignore-Hold", Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x80672ed "upgrade", ConfName = 0x8066ee4 "APT::Get::upgrade", 
    Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x8067406 "force-yes", 
    ConfName = 0x80673fc "APT::Get::force-yes", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067410 "print-uris", 
    ConfName = 0x8066c49 "APT::Get::Print-URIs", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x806741b "diff-only", 
    ConfName = 0x8066c13 "APT::Get::Diff-Only", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067425 "tar-only", 
    ConfName = 0x806742e "APT::Get::tar-Only", Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x8067441 "purge", ConfName = 0x8066ef6 "APT::Get::Purge", 
    Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x8067447 "list-cleanup", 
    ConfName = 0x8066e54 "APT::Get::List-Cleanup", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067216 "reinstall", 
    ConfName = 0x8066f06 "APT::Get::ReInstall", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067454 "trivial-only", 
    ConfName = 0x8066f63 "APT::Get::Trivial-Only", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x806720f "remove", 
    ConfName = 0x8067048 "APT::Get::Remove", Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x8067461 "only-source", 
    ConfName = 0x8066bdd "APT::Get::Only-Source", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x806746d "arch-only", 
    ConfName = 0x8067115 "APT::Get::Arch-Only", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067477 "check-only", 
    ConfName = 0x8067059 "APT::Get::Check-Only", Flags = 0}, {
    ShortOpt = 99 'c', LongOpt = 0x8067482 "config-file", ConfName = 0x0, 
    Flags = 17}, {ShortOpt = 111 'o', LongOpt = 0x806748e "option", 
    ConfName = 0x0, Flags = 33}, {ShortOpt = 0 '\0', LongOpt = 0x0, 
    ConfName = 0x0, Flags = 0}}
        Cmds = {{Match = 0x80672d1 "update", 
    Handler = 0x8057f90 <DoUpdate(CommandLine&)>}, {
    Match = 0x80672ed "upgrade", 
    Handler = 0x8062ef0 <DoUpgrade(CommandLine&)>}, {
    Match = 0x8067218 "install", 
    Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {
    Match = 0x8067216 "reinstall", 
    Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {
    Match = 0x806720f "remove", 
    Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {
    Match = 0x80672d8 "dist-upgrade", 
    Handler = 0x805f990 <DoDistUpgrade(CommandLine&)>}, {
    Match = 0x80672e5 "dselect-upgrade", 
    Handler = 0x805f5a0 <DoDSelectUpgrade(CommandLine&)>}, {
    Match = 0x80672f5 "build-dep", 
    Handler = 0x805dbf0 <DoBuildDep(CommandLine&)>}, {
    Match = 0x8067303 "clean", Handler = 0x8053fc0 <DoClean(CommandLine&)>}, {
    Match = 0x80672ff "autoclean", 
    Handler = 0x8053a20 <DoAutoClean(CommandLine&)>}, {
    Match = 0x8067309 "check", Handler = 0x80539b0 <DoCheck(CommandLine&)>}, {
    Match = 0x8067466 "source", Handler = 0x80515b0 <DoSource(CommandLine&)>}, 
  {Match = 0x806730f "moo", Handler = 0x804cdb0 <DoMoo(CommandLine&)>}, {
    Match = 0x806695a "help", Handler = 0x804cde0 <ShowHelp(CommandLine&)>}, {
    Match = 0x8067313 "script", Handler = 0x805da30 <DoScript(CommandLine&)>}, 
  {Match = 0x0, Handler = 0}}
        CmdL = {ArgList = 0xbfad27f0, Conf = 0x8070178, FileList = 0x8074120}
        LuaCache = {<LuaCacheControl> = {_vptr.LuaCacheControl = 0x8069600}, 
  Cache = 0x0}
        Consume = -0.056946537447075701
#9  0x41f72e5c in __libc_start_main (main=0x805d070 <main>, argc=2, 
    ubp_av=0xbfad2bd4, init=0x806688c <__libc_csu_init>, 
    fini=0x8066884 <__libc_csu_fini>, rtld_fini=0x4159c4a0 <_dl_fini>, 
    stack_end=0xbfad2bcc) at libc-start.c:222
        result = <value optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1107910644, 1096449184, 0, 
        -1079170136, -919384598, 929646747}, mask_was_saved = 0}}, priv = {
    pad = {0x0, 0x0, 0x415a12d0, 0x41f72d8d}, data = {prev = 0x0, 
      cleanup = 0x0, canceltype = 1096422096}}}
        not_first_call = <value optimized out>
#10 0x0804cb91 in _start ()

Comment 1 Axel Thimm 2006-11-09 20:09:22 UTC
Could you try rebuilding from the src.rpm?

Rawhide is currently going through a fast development pace (that's normal at the
beginning of a new development cycle), and it both breaks often and/or requires
fresh rebuilds. If y rebuild sovles your issues I'll schedule one for rawhide
(but expect that to possibly break again later in the developmenmt cycle).

Comment 2 Pierre Ossman 2006-11-09 20:17:41 UTC
It has actually been up to this for some time, I just haven't gotten around to
filing a bug.

The next time I get a borked set of archives, I'll give it a go.

Comment 3 Axel Thimm 2006-11-10 01:12:43 UTC
(In reply to comment #2)
> It has actually been up to this for some time, I just haven't gotten around to
> filing a bug.

Does that mean it also affects FC6? E.g. what time scale is "for some time",
before or after FC6 was released?

Comment 4 Pierre Ossman 2006-11-10 05:40:53 UTC
Definitely before.

Comment 5 Panu Matilainen 2006-11-10 06:51:07 UTC
Next time it happens, please tar up the contents of /var/cache/apt, /var/lib/apt
and /etc/apt and push it somewhere I can grab it (it can be pretty big so don't
attach to bugzilla :)

BTW have you gotten tracebacks of the crash before? It would help a bit to know
if it always crashes in the same spot or not.

Comment 6 Pierre Ossman 2006-11-10 08:20:55 UTC
(In reply to comment #5)
> Next time it happens, please tar up the contents of /var/cache/apt, /var/lib/apt
> and /etc/apt and push it somewhere I can grab it (it can be pretty big so don't
> attach to bugzilla :)

Will do.

> 
> BTW have you gotten tracebacks of the crash before? It would help a bit to know
> if it always crashes in the same spot or not.

Afraid not. It usually happens when in the middle of something else, so I
haven't had time to do any proper debugging.

Comment 7 Pierre Ossman 2006-11-15 15:09:54 UTC
Created attachment 141267 [details]
apt-sigsegv.tar.gz

Ok, it just happened again. Here's the relevant files and a backtrace:

Reading Package Lists... 0%
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208993056 (LWP 5417)]
0x4e6cb213 in strlen () from /lib/libc.so.6
Current language:  auto; currently c
(gdb) bt full
#0  0x4e6cb213 in strlen () from /lib/libc.so.6
	mallstream = (FILE *) 0x0
	tr_old_memalign_hook = (void *(*)(size_t, size_t, const void *)) 0
	tr_old_malloc_hook = (void *(*)(size_t, const void *)) 0
	tr_old_realloc_hook = (void *(*)(void *, size_t, const void *)) 0
	lock = 0
	mallenv = "MALLOC_TRACE"
	malloc_trace_buffer = 0x0
	tr_old_free_hook = (void (*)(void *, const void *)) 0
	mallwatch = (void *) 0x0
#1  0x4ebfcec6 in std::string::compare () from /usr/lib/libstdc++.so.6
No symbol table info available.
#2  0x4f9846f1 in rpmRepomdIndex::FindInCache (this=0x80b9cf8,
Cache=@0xbf83712c) at /usr/include/c++/4.1.1/bits/basic_string.h:2200
	St = {st_dev = 13799997511530422144, __pad1 = 0, st_ino = 1163497975,
st_mode = 0, st_nlink = 1163575566, st_uid = 0, st_gid = 0, st_rdev =
5631152740, __pad2 = 28904, st_size = 1335377191, 
  st_blksize = -1081904936, st_blocks = 134978808, st_atim = {tv_sec =
1111925818, tv_nsec = 1321533428}, st_mtim = {tv_sec = 0, tv_nsec = 134961496},
st_ctim = {tv_sec = -1081904920, 
    tv_nsec = 1321342205}, __unused4 = 7, __unused5 = 3182320632}
	FileName = {static npos = 4294967295, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, 
    _M_p = 0x80b9e4c
"/var/lib/apt/lists/download.fedora.redhat.com_pub_fedora_linux_core_development_i386_os_repodata_primary.xml"}}

#3  0x4f9f0150 in CheckValidity (CacheFile=<value optimized out>,
Start={_M_current = 0x80b9d40}, End={_M_current = 0x80b9d68},
OutMap=0xbf8374bc) at pkgcachegen.cc:654
	ReInstall = <value optimized out>
	CacheF = {_vptr.FileFd = 0x806d768, iFd = 8, Flags = 1, FileName =
{static npos = 4294967295, 
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> =
{<No data fields>}, <No data fields>}, _M_p = 0x80b9a7c
"/var/cache/apt/pkgcache.bin"}}}
	Cache = {_vptr.pkgCache = 0x4fa48ea8, CacheFile = {static npos =
4294967295, _M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
      _M_p = 0x806d4dc ""}}, Map = @0x80b5958, HeaderP = 0xb71c0000, PkgP =
0xb71c0000, VerFileP = 0xb71c0000, PkgFileP = 0xb71c0000, VerP = 0xb71c0000,
ProvideP = 0xb71c0000, DepP = 0xb71c0000, 
  StringItemP = 0xb71c0000, StrP = 0xb71c0000 "�v�\230\006", VS =
0x4fa4a51c}
#4  0x4f9f1599 in pkgMakeStatusCache (List=@0xbf837394, Progress=@0xbf837428,
OutMap=0xbf8374bc, AllowMem=false) at pkgcachegen.cc:789
	Files = {<std::_Vector_base<pkgIndexFile*,std::allocator<pkgIndexFile*>
>> = {
    _M_impl = {<std::allocator<pkgIndexFile*>> =
{<__gnu_cxx::new_allocator<pkgIndexFile*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x80b9d40, _M_finish = 0x80b9d68, 
      _M_end_of_storage = 0x80b9d88}}, <No data fields>}
	CacheFile = {static npos = 4294967295, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, 
    _M_p = 0x80b9a7c "/var/cache/apt/pkgcache.bin"}}
	SrcCacheFile = {static npos = 4294967295, _M_dataplus =
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data
fields>}, <No data fields>}, 
    _M_p = 0x80b9d1c "/var/cache/apt/srcpkgcache.bin"}}
	Writeable = true
	CurrentSize = <value optimized out>
	TotalSize = <value optimized out>
#5  0x4f9da451 in pkgCacheFile::BuildCaches (this=0xbf8374bc,
Progress=@0xbf837428, WithLock=false) at cachefile.cc:74
	List = {SrcList =
{<std::_Vector_base<pkgIndexFile*,std::allocator<pkgIndexFile*> >> = {
      _M_impl = {<std::allocator<pkgIndexFile*>> =
{<__gnu_cxx::new_allocator<pkgIndexFile*>> = {<No data fields>}, <No data
fields>}, _M_start = 0x80bccb8, _M_finish = 0x80bccdc, 
	_M_end_of_storage = 0x80bccf8}}, <No data fields>}, VendorList =
{<std::_Vector_base<const pkgSourceList::Vendor*,std::allocator<const
pkgSourceList::Vendor*> >> = {
      _M_impl = {<std::allocator<const pkgSourceList::Vendor*>> =
{<__gnu_cxx::new_allocator<const pkgSourceList::Vendor*>> = {<No data fields>},
<No data fields>}, _M_start = 0x80b59b0, 
	_M_finish = 0x80b59b4, _M_end_of_storage = 0x80b59b4}}, <No data
fields>}}
	Res = <value optimized out>
#6  0x4f9da574 in pkgCacheFile::Open (this=0xbf8374bc, Progress=@0xbf837428,
WithLock=true) at cachefile.cc:94
No locals.
#7  0x08064c9a in CacheFile::Open (this=0xbf8374bc, WithLock=true) at
apt-get.cc:100
	Prog = {<OpProgress> = {_vptr.OpProgress = 0x806d508, Current = 0,
Total = 1, Size = 1, SubTotal = 1, LastPercent = 0, LastTime = {tv_sec = 0,
tv_usec = 0}, LastOp = {static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, _M_p = 0x80bc6cc "Reading Package
Lists"}}, LastSubOp = {static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, _M_p = 0x806d4dc ""}}, Op = {static
npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, _M_p = 0x80bc6cc "Reading Package
Lists"}}, SubOp = {static npos = 4294967295, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>>
= {<No data fields>}, <No data fields>}, _M_p = 0x806d4dc ""}}, Percent = 0,
MajorChange = true}, OldOp = {
    static npos = 4294967295, _M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p
= 0x80bc6cc "Reading Package Lists"}}, 
  NoUpdate = false, NoDisplay = false, LastLen = 28}
#8  0x080539de in DoCheck (CmdL=@0xbf83785c) at apt-get.cc:2411
	Cache = {<pkgCacheFile> = {Map = 0x0, Cache = 0x0, DCache = 0x0, Policy
= 0x0}, static SortCache = 0x0, List = 0x0}
#9  0x4f9612db in CommandLine::DispatchArg (this=0xbf83785c, Map=0xbf837820,
NoMatch=true) at contrib/cmndline.cc:340
	Res = <value optimized out>
#10 0x0805d4d7 in main (argc=2, argv=Cannot access memory at address 0x4
) at apt-get.cc:3312
	URLLst = {<std::_Vector_base<std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>,std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >> = {
    _M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No
data fields>}, _M_start = 0x8065640, _M_finish = 0x0, _M_end_of_storage =
0x8066948}}, <No data fields>}
	Args = {{ShortOpt = 104 'h', LongOpt = 0x806695a "help", ConfName =
0x806695a "help", Flags = 0}, {ShortOpt = 118 'v', LongOpt = 0x80669fa
"version", ConfName = 0x80669fa "version", Flags = 0}, {
    ShortOpt = 86 'V', LongOpt = 0x806731a "verbose-versions", ConfName =
0x8066b40 "APT::Get::Show-Versions", Flags = 0}, {ShortOpt = 113 'q', LongOpt =
0x8066954 "quiet", ConfName = 0x8066954 "quiet", 
    Flags = 2}, {ShortOpt = 113 'q', LongOpt = 0x806732b "silent", ConfName =
0x8066954 "quiet", Flags = 2}, {ShortOpt = 100 'd', LongOpt = 0x8067332
"download-only", 
    ConfName = 0x806695f "APT::Get::Download-Only", Flags = 0}, {ShortOpt = 98
'b', LongOpt = 0x8067340 "compile", ConfName = 0x8066d74 "APT::Get::Compile",
Flags = 0}, {ShortOpt = 98 'b', 
    LongOpt = 0x8066cb1 "build", ConfName = 0x8066d74 "APT::Get::Compile",
Flags = 0}, {ShortOpt = 115 's', LongOpt = 0x8067348 "simulate", ConfName =
0x8066977 "APT::Get::Simulate", Flags = 0}, {
    ShortOpt = 115 's', LongOpt = 0x8067351 "just-print", ConfName = 0x8066977
"APT::Get::Simulate", Flags = 0}, {ShortOpt = 115 's', LongOpt = 0x806735c
"recon", ConfName = 0x8066977 "APT::Get::Simulate", 
    Flags = 0}, {ShortOpt = 115 's', LongOpt = 0x8067362 "dry-run", ConfName =
0x8066977 "APT::Get::Simulate", Flags = 0}, {ShortOpt = 115 's', LongOpt =
0x806736a "no-act", 
    ConfName = 0x8066977 "APT::Get::Simulate", Flags = 0}, {ShortOpt = 121 'y',
LongOpt = 0x806740c "yes", ConfName = 0x806698a "APT::Get::Assume-Yes", Flags =
0}, {ShortOpt = 121 'y', 
    LongOpt = 0x8067371 "assume-yes", ConfName = 0x806698a
"APT::Get::Assume-Yes", Flags = 0}, {ShortOpt = 102 'f', LongOpt = 0x806737c
"fix-broken", ConfName = 0x806699f "APT::Get::Fix-Broken", 
    Flags = 0}, {ShortOpt = 117 'u', LongOpt = 0x8067387 "show-upgraded",
ConfName = 0x8066f1a "APT::Get::Show-Upgraded", Flags = 0}, {ShortOpt = 109
'm', LongOpt = 0x8067395 "ignore-missing", 
    ConfName = 0x8066f93 "APT::Get::Fix-Missing", Flags = 0}, {ShortOpt = 68
'D', LongOpt = 0x80673a4 "remove-deps", ConfName = 0x806726a
"APT::Remove-Depends", Flags = 0}, {ShortOpt = 116 't', 
    LongOpt = 0x80673b0 "target-release", ConfName = 0x80673bf
"APT::Default-Release", Flags = 1}, {ShortOpt = 116 't', LongOpt = 0x80673d4
"default-release", ConfName = 0x80673bf "APT::Default-Release", 
    Flags = 1}, {ShortOpt = 0 '\0', LongOpt = 0x8066fbe "download", ConfName =
0x8066f50 "APT::Get::Download", Flags = 0}, {ShortOpt = 0 '\0', LongOpt =
0x80673e4 "fix-missing", 
    ConfName = 0x8066f93 "APT::Get::Fix-Missing", Flags = 0}, {ShortOpt = 0
'\0', LongOpt = 0x80673f0 "ignore-hold", ConfName = 0x80671c2
"APT::Ignore-Hold", Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x80672ed "upgrade", ConfName = 0x8066ee4 "APT::Get::upgrade",
Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x8067406 "force-yes", ConfName =
0x80673fc "APT::Get::force-yes", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067410 "print-uris", ConfName = 0x8066c49
"APT::Get::Print-URIs", Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x806741b
"diff-only", 
    ConfName = 0x8066c13 "APT::Get::Diff-Only", Flags = 0}, {ShortOpt = 0 '\0',
LongOpt = 0x8067425 "tar-only", ConfName = 0x806742e "APT::Get::tar-Only",
Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x8067441 "purge", ConfName = 0x8066ef6 "APT::Get::Purge", Flags
= 0}, {ShortOpt = 0 '\0', LongOpt = 0x8067447 "list-cleanup", ConfName =
0x8066e54 "APT::Get::List-Cleanup", Flags = 0}, {
    ShortOpt = 0 '\0', LongOpt = 0x8067216 "reinstall", ConfName = 0x8066f06
"APT::Get::ReInstall", Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x8067454
"trivial-only", 
    ConfName = 0x8066f63 "APT::Get::Trivial-Only", Flags = 0}, {ShortOpt = 0
'\0', LongOpt = 0x806720f "remove", ConfName = 0x8067048 "APT::Get::Remove",
Flags = 0}, {ShortOpt = 0 '\0', 
    LongOpt = 0x8067461 "only-source", ConfName = 0x8066bdd
"APT::Get::Only-Source", Flags = 0}, {ShortOpt = 0 '\0', LongOpt = 0x806746d
"arch-only", ConfName = 0x8067115 "APT::Get::Arch-Only", Flags = 0}, 
  {ShortOpt = 0 '\0', LongOpt = 0x8067477 "check-only", ConfName = 0x8067059
"APT::Get::Check-Only", Flags = 0}, {ShortOpt = 99 'c', LongOpt = 0x8067482
"config-file", ConfName = 0x0, Flags = 17}, {
    ShortOpt = 111 'o', LongOpt = 0x806748e "option", ConfName = 0x0, Flags =
33}, {ShortOpt = 0 '\0', LongOpt = 0x0, ConfName = 0x0, Flags = 0}}
	Cmds = {{Match = 0x80672d1 "update", Handler = 0x8057f90
<DoUpdate(CommandLine&)>}, {Match = 0x80672ed "upgrade", Handler = 0x8062ef0
<DoUpgrade(CommandLine&)>}, {Match = 0x8067218 "install", 
    Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {Match = 0x8067216
"reinstall", Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {Match = 0x806720f
"remove", 
    Handler = 0x805fb90 <DoInstall(CommandLine&)>}, {Match = 0x80672d8
"dist-upgrade", Handler = 0x805f990 <DoDistUpgrade(CommandLine&)>}, {Match =
0x80672e5 "dselect-upgrade", 
    Handler = 0x805f5a0 <DoDSelectUpgrade(CommandLine&)>}, {Match = 0x80672f5
"build-dep", Handler = 0x805dbf0 <DoBuildDep(CommandLine&)>}, {Match =
0x8067303 "clean", 
    Handler = 0x8053fc0 <DoClean(CommandLine&)>}, {Match = 0x80672ff
"autoclean", Handler = 0x8053a20 <DoAutoClean(CommandLine&)>}, {Match =
0x8067309 "check", Handler = 0x80539b0 <DoCheck(CommandLine&)>}, 
  {Match = 0x8067466 "source", Handler = 0x80515b0 <DoSource(CommandLine&)>},
{Match = 0x806730f "moo", Handler = 0x804cdb0 <DoMoo(CommandLine&)>}, {Match =
0x806695a "help", 
    Handler = 0x804cde0 <ShowHelp(CommandLine&)>}, {Match = 0x8067313 "script",
Handler = 0x805da30 <DoScript(CommandLine&)>}, {Match = 0x0, Handler = 0}}
	CmdL = {ArgList = 0xbf837550, Conf = 0x8070178, FileList = 0x8074120}
	LuaCache = {<LuaCacheControl> = {_vptr.LuaCacheControl = 0x8069600},
Cache = 0x0}
	Consume = 0
#11 0x4e674e5c in __libc_start_main (main=0x805d070 <main>, argc=2,
ubp_av=0xbf837934, init=0x806688c <__libc_csu_init>, fini=0x8066884
<__libc_csu_fini>, rtld_fini=0x4e650490 <_dl_fini>, 
    stack_end=0xbf83792c) at libc-start.c:222
	result = <value optimized out>
	unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1316585460, 1315290272, 0,
-1081902840, -928730976, 960529969}, mask_was_saved = 0}}, priv = {pad = {0x0,
0x0, 0x804cb70, 0x4e674d8d}, data = {
      prev = 0x0, cleanup = 0x0, canceltype = 134531952}}}
	not_first_call = <value optimized out>
#12 0x0804cb91 in _start ()
No symbol table info available.

Comment 8 Pierre Ossman 2006-11-17 11:28:23 UTC
Got this last backtrace again today.

Comment 9 Panu Matilainen 2006-11-20 14:34:32 UTC
Right. I haven't had a chance to look at the tarball in any detail yet (thanks
anyway :) but neither of these backtraces says anything but "some sort of
corruption in the cache" to me. 

This may be wildly off the mark, but are you running yum-updatesd on the system?
If so, can you try disabling that, run "rpm --rebuilddb" (just in case) and see
if apt still keeps crashing. There appears to be quite a few cases of rpmdb
corruption on FC6 + beyond which is *possibly* caused by yum-3.x behavior of
opening and closing the rpmdb a LOT, opening up possibilities for race
conditions on rpmdb access etc. The above backtraces don't look like rpmdb
corruption at first sight and thus probably not related at all, but I'd like to
be sure.

Comment 10 Pierre Ossman 2006-11-20 15:22:54 UTC
[drzeus@poseidon]$ rpm -q yum
package yum is not installed

That little bastard aint getting in here.

Comment 11 Axel Thimm 2006-11-22 13:07:50 UTC
I've added Jeff Johnson to the Cc.

On the smart mailing list on issues with rpmdb he mentioned:
> I'm unaware of any yum-free problem reports that have not been tracked to
> hardware deficiencies (-1.2798 turned on dma for certain laptop ide drives).

Do you run this on a laptop?


Comment 12 Pierre Ossman 2006-11-22 13:11:47 UTC
Yes, this is a laptop. But I'm a bit skeptical as I haven't seen any other kind
of corruption. Also, I've changed drives not too long ago and the problem remains.

Comment 13 Jeff Johnson 2006-11-22 13:17:03 UTC
One has to insure that the __db* files are intact to keep the "little bastard" out:
    rm -f /var/lib/rpm/__db*

FWIW -- if you have damaged __db* caches -- doing --rebuilddb -vv can do more harm
than good. There are very few (converting from db4 to sqlite3 the only case that comes
to mind) where --rebuilddb is necessary.

Meanwhile
    Reading Package Lists... 0%
    Program received signal SIGSEGV, Segmentation fault.
looks much more like damaged metadata than anything to do with rpm,
there's certainly no rpmlib symbols in the backtrace that I can see (but
info returned from an rpmdb may still be at fault).

hth

Comment 14 Jeff Johnson 2006-11-22 13:20:50 UTC
Check bugzilla for "DB_PANIC runrecovery", there was a reasably credible claim
that disk I/O on a laptop was the cause of problems that was fixed by using the 1st
FC7 kernel that was released.

Comment 15 Pierre Ossman 2006-11-22 13:30:01 UTC
As a kernel dev I rarely run the fedora kernel :)

Comment 16 Jeff Johnson 2006-11-22 13:33:49 UTC
Then I don't have to explain what EIO and dma enabled means. ;-)

Good, one possibility eliminated.

Comment 17 Axel Thimm 2006-11-25 15:21:15 UTC
For reference here are some bugs in rpm/yum of which this may be a duplicate:

bug #203233
bug #206275
bug #211254
bug #212504
bug #213963
bug #214129


Comment 18 Axel Thimm 2006-11-25 16:21:13 UTC
On Sat, Nov 25, 2006 at 10:38:16AM -0500, Jeff Johnson wrote:
> On Nov 25, 2006, at 10:21 AM, bugzilla wrote:
> >Please do not reply directly to this email. All additional
> >comments should be made in the comments box of this bug report.

> While I understand that you are trying to get bugs fixed by
> correlating problem reports, the truth is that you're not even close
> to being accurate.

Perhaps much closer than you being polite?

> The apt segfault is liklely to be apt related, there are no rpmlib
> symbols in the traceback, and the backtrace indicates that apt is
> reading its own metadata, not an rpmdb, afaict.
> 
> Useless correlatiions between bug reports are FUD imho.
> 
> But ask Panu his opinon if you don't want to believe me.
> 
> Solutions to problems, not inaccurate bug correlations, are what is  
> needed.

Did it ever occur to you that the way you interact with people may
give a rather arrogant impression of your person? I've been trying to
play nice with you all these years and am really getting sick of your
hammering around.

Back to the topic, if I strip all the personal attributions what you
say is that you are missing direct rpmlib involvement in apt's
backtrace. That you would get in bugs immediately striking through to
the next higher layer. But as the rpm/db4 guru you know that rpmdb
bugs usually slowly propagate until they surface - in fact you are suggesting
that this is the mechanism yum silently breaks smart or apt. Since I'm a long
year apt user myself all rpmdb breakage of the past (like the
legendary RH8.0/9) has been noticed by a corrupted cache by apt due to
wrong assertions when looking at rpmdb.

> Sure, almost anything might correlate with rpm segfaults, have at if
> you insist.

Feel free to push anything away from rpm to yum, apt and smart. Alone
from checking the dates of the initial bug reports one would need to
seek a conspiracy theory involving of all three depsolvers to justify
that.

> 73 de Jeff


Comment 19 Pierre Ossman 2006-11-25 19:46:42 UTC
Jeff, please find something more worthwhile to do with your time than to bitch
about how the world is against you. Seriously, it's getting old.

Alex, do any of those bugs have tests so I can determine if it's the same issue?

Comment 20 Jeff Johnson 2006-11-25 20:09:29 UTC
That mail was sent privately to Axel.

Other e-mails from me and axel have been omitted.

AFAICT, this problem is rather different than the other bugs mentioned.

But I'm seeking a solution, which requires a reproducer, not an argument. I did not ask to be CC'd
to this bug.



Comment 21 Panu Matilainen 2006-11-26 12:34:01 UTC
Pierre, how much memory does the system in question have? In bug #211254 there's
a somewhat similar traceback at rpmPkgListIndex::FindInCache whereas yours is in
rpmRepomdListIndex::FindInCache, and there the most problematic box has less
memory (256MB) than others (>= 512MB).

Basically just trying to figure out if there's a pattern here somewhere...

Comment 22 Pierre Ossman 2006-11-26 19:00:34 UTC
The machine has 512 MB RAM (and 1GB swap).

Comment 23 Panu Matilainen 2006-11-26 21:21:14 UTC
Righty right, I managed to reproduce the second backtrace here. The steps:
- install fresh FC6-i386, pretty much default installation
- boot with mem=256M, disable swap
- # apt-get update
- # apt-get dist-upgrade
- the dist-upgrade died in middle of transaction after first package upgrade
- consecutive apt-get dist-upgrade runs produce the very same segfault and
traceback as in comment #7

After rebuilding apt cache it's not segfaulting anymore but dist-upgrade with
over hundred packages keeps exiting "normally" after just one package upgrade.
After re-enabling swap dist-upgrade appears to continue normally now.

So yes, something definately fishy going on and it would appear to be related to
tight memory situations.

Comment 24 Axel Thimm 2006-11-27 02:23:11 UTC
Panu, do you think this bug and bug #211254 are duplicates? If so, should we put
them together in one (which one should we prefer)?

Comment 25 Panu Matilainen 2006-11-29 07:17:23 UTC
Yeah, I do think they're duplicates (the backtraces are practically identical
except for repomd vs rpm repository usage). And I think we can rule out accusing
yum doing gazillions of rpmdb reopenings as the cause since that doesn't happen
in the fc5 version of yum.

Comment 26 Axel Thimm 2006-11-29 19:31:16 UTC

*** This bug has been marked as a duplicate of 211254 ***