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

Bug#401263: apt-get segfaults when building dependency tree



There is a similar issue with apt-get that occurs during an
installation of Debian on the NSLU2 which is an arm based device.
During the installation process, apt fails, and the following log
messages are written to /var/log/syslog:

Dec  2 00:18:18 base-installer: info: Available initramfs
generator(s): 'initramfs-tools'
Dec  2 00:18:19 apt-install: Reading package lists...
Dec  2 00:18:19 apt-install:
Dec  2 00:18:19 apt-install: Building dependency tree...
Dec  2 00:18:24 apt-install:
Dec  2 00:18:24 apt-install: You might want to run `apt-get -f
install' to correct these:
Dec  2 00:18:24 apt-install: The following packages have unmet dependencies:
Dec  2 00:18:24 apt-install:   initramfs-tools: Depends: klibc-utils
(>= 1.4.19-2) but it is not going to be installed
Dec  2 00:18:24 apt-install:                    Depends: busybox (>=
1:1.01-3) but it is not going to be installed or
Dec  2 00:18:24 apt-install:
busybox-cvs-static (>= 20040623-1) but it is not installable
Dec  2 00:18:24 apt-install:                    Depends: udev (>=
0.086-1) but it is not going to be installed
Dec  2 00:18:24 apt-install:   libtext-charwidth-perl: Depends:
perlapi-5.8.8 but it is not installable
Dec  2 00:18:24 apt-install:   libtext-iconv-perl: Depends:
perlapi-5.8.8 but it is not installable
Dec  2 00:18:24 apt-install:   netbase: Depends: openbsd-inetd but it
is not installable or
Dec  2 00:18:24 apt-install:                     inet-superserver
Dec  2 00:18:24 base-installer: error: exiting on error
base-installer/kernel/failed-package-install

At this point, the problem looks like an issue with the repository,
but running 'apt-get -f install' manually shows that apt-get segfaults
while building the dependency tree.

~ # chroot /target/
sh-3.1# mount -t proc none /proc
sh-3.1# apt-get -f install
Reading package lists... Done
Segmentation faulty tree... 50%

Martin Michlmayr has found that after manually installing a deb,
apt-get works again [1].

Below is a backtrace of apt-get before the segfault. I rebuilt apt
with debugging information.

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... 50%
Program received signal SIGSEGV, Segmentation fault.
0x4008b864 in pkgDepCache::CheckDep (this=0x3f020, Dep=
     {Dep = 0x407f0a68, Type = pkgCache::DepIterator::DepVer, Owner =
0x3ec38}, Type=1, Res=@0xbeb37030) at depcache.cc:157
157     depcache.cc: No such file or directory.
       in depcache.cc
(gdb) backtrace
#0  0x4008b864 in pkgDepCache::CheckDep (this=0x3f020, Dep=
     {Dep = 0x407f0a68, Type = pkgCache::DepIterator::DepVer, Owner =
0x3ec38}, Type=1, Res=@0xbeb37030) at depcache.cc:157
#1  0x40090fb0 in pkgDepCache::CheckDep (this=0x3f020, Dep=
     {Dep = 0x407f0a68, Type = pkgCache::DepIterator::DepVer, Owner =
0x3ec38}, Type=1) at ../build/include/apt-pkg/depcache.h:142
#2  0x4008be58 in pkgDepCache::DependencyState (this=0x3f020, D=@0xbeb37088)
   at depcache.cc:360
#3  0x4008f74c in pkgDepCache::Update (this=0x3f020, Prog=0xbeb37340)
   at depcache.cc:431
#4  0x400902b8 in pkgDepCache::Init (this=0x3f020, Prog=0xbeb37340)
   at depcache.cc:91
#5  0x400c9284 in pkgCacheFile::Open (this=0xbeb378c8, Progress=@0xbeb37340,
   WithLock=true) at cachefile.cc:101
#6  0x0002e39c in CacheFile::Open (this=0xbeb378c8, WithLock=true)
   at apt-get.cc:96
#7  0x0002e4e4 in CacheFile::OpenForInstall (this=0xbeb378c8) at apt-get.cc:107
#8  0x00023114 in DoInstall (CmdL=@0xbeb37df4) at apt-get.cc:1415
#9  0x40072e80 in CommandLine::DispatchArg (this=0xbeb37df4, Map=0xbeb37d84,
   NoMatch=true) at contrib/cmndline.cc:337
#10 0x00011050 in main (argc=3, argv=0xbeb37e74) at apt-get.cc:2606
(gdb)

I am only too happy to help debug this problem, so please let me know
what else you need in terms of output, etc.

sh-3.1# cat /etc/apt/sources.list
deb http://debian.osuosl.org/debian/ etch main

sh-3.1# uname -a
Linux LKG7CD8B5 2.6.18-3-ixp4xx #2 Tue Nov 21 13:23:11 UTC 2006
armv5tel GNU/Linux

sh-3.1# dpkg -s libc6 | grep ^Version
Version: 2.3.6.ds1-8

sh-3.1# apt-get -V
apt 0.6.46.3 for linux arm compiled on Nov 30 2006 23:11:20

Gordon

[1] http://lists.debian.org/debian-boot/2006/11/msg01207.html

--
Gordon Farquharson



Reply to: