Bug 214846
Summary: | Crash during startup | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Pierre Ossman <pierre-bugzilla> | ||||
Component: | apt | Assignee: | Axel Thimm <axel.thimm> | ||||
Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | 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: |
|
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). 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. (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? Definitely before. 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. (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. 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. Got this last backtrace again today. 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. [drzeus@poseidon]$ rpm -q yum package yum is not installed That little bastard aint getting in here. 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?
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. 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 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. As a kernel dev I rarely run the fedora kernel :) Then I don't have to explain what EIO and dma enabled means. ;-) Good, one possibility eliminated. 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 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 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? 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. 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... The machine has 512 MB RAM (and 1GB swap). 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. 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)? 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. *** This bug has been marked as a duplicate of 211254 *** |
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 ()