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

Bug#120311: apt-cache segfaults on malformed status-file



On Thu, Sep 12, 2002 at 05:00:05PM -0600, Jason Gunthorpe wrote:
> Your diff shows that you have defeated the error reporting mechanism, you
> need to drop the return statement you added to have it work properly.

Sorry, I didn't grasp that I was "defeating" it.

> Once you know what your particular error is then you can try to fix that. 
> Since you say it runs OK as a normal user it sounds like something bad has
> happened to your cache files in /var/cache/apt/*.bin and erasing them will
> surely make it run again. 

Nothing bad had happened to them:

zuul:/tmp/branden/apt-0.5.4# LD_LIBARY_PATH=/tmp/branden/apt-0.5.4/build/bin gdb /tmp/branden/apt-0.5.4/build/bin/apt-cache
GNU gdb 2002-08-18-cvs
Copyright 2002 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 "i386-linux"...
(gdb) set args show autoconf
(gdb) break apt-cache.cc:1388
Breakpoint 1 at 0x805316c: file apt-cache.cc, line 1388.
(gdb) run
Starting program: /tmp/branden/apt-0.5.4/build/bin/apt-cache show autoconf

Breakpoint 1, main (argc=3, argv=0xbffffd24) at apt-cache.cc:1388
1388          delete Map;
(gdb) next
1392       if (_error->empty() == false)
(gdb)
1394          bool Errors = _error->PendingError();
(gdb)
85         inline bool PendingError() {return PendingFlag;};
(gdb)
1395          _error->DumpErrors();
(gdb)
E: Unable to write mmap - msync (28 No space left on device)
1396          return Errors == true?100:0;
(gdb)
0x080534d5      1400    }
(gdb)
0x4017c0bf in __libc_start_main () from /lib/libc.so.6
(gdb)
Single stepping until exit from function __libc_start_main,
which has no line number information.

Program exited with code 0144.
(gdb) quit
zuul:/tmp/branden/apt-0.5.4# df -h /var
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5            1012M 1012M     0 100% /var

What business does apt-cache have trying to rebuild the cache if I run it
as root?  All I did was ask it to read something.

-- 
G. Branden Robinson                |    I must despise the world which does
Debian GNU/Linux                   |    not know that music is a higher
branden@debian.org                 |    revelation than all wisdom and
http://people.debian.org/~branden/ |    philosophy. -- Ludwig van Beethoven

Attachment: pgpeh3BftHriv.pgp
Description: PGP signature


Reply to: