[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Corrupt dpkg database? No kernels found



On Nov 30, 10:00 am, "Gordon Farquharson" <gordonfarquhar...@gmail.com>
wrote:

> Unless anybody can come up with any other ideas or suggestions, my next
> step is to recompile apt-get with debugging information.

A bit of progress last night - I managed to compile apt-get with
debugging symbols after finding
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306937. A big thank
you to Andreas Henriksson for posting the patch on the day that I
needed it (was that a coincidence ?). Here is the output from gdb:

sh-3.1# gdb apt-get
GNU gdb 6.5-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "arm-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) run -f install
Starting program: /usr/bin/apt-get -f install
Reading package lists... Done
Building dependency tree... Done
Correcting dependencies...
Program received signal SIGSEGV, Segmentation fault.
0x4008d100 in pkgDepCache::Update (this=0x3f020, D=
      {Dep = 0x41fef230, Type = pkgCache::DepIterator::DepRev, Owner =
0x3ec38}) at depcache.cc:464
464     depcache.cc: No such file or directory.
        in depcache.cc
(gdb)

and in depcache.cc:

    455 // DepCache::Update - Update the deps list of a package
        /*{{{*/
    456 //
---------------------------------------------------------------------
    457 /* This is a helper for update that only does the dep portion
of the scan.
    458    It is mainly ment to scan reverse dependencies. */
    459 void pkgDepCache::Update(DepIterator D)
    460 {
    461    // Update the reverse deps
    462    for (;D.end() != true; D++)
    463    {
    464       unsigned char &State = DepState[D->ID];
    465       State = DependencyState(D);
    466

BTW, I had to switch to apt 0.6.46.3 from unstable because the patch
didn't apply nicely to 0.6.46.2 from testing.

This is as far as I have got for this evening.

Gordon



Reply to: