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

Bug#549312: segfault from apt cdrom method



I have now built apt-0.7.23.1 from source with symbols (DEB_BUILD_OPTIONS="nostrip noopt") on another i386 machine which was segfaulting. I installed the resulting apt_0.7.23.1_i386.deb (which involved a downgrade on this testing machine).

Debug::Acquire::cdrom "true"; was turned on.

I then ran aptitude with an /etc/apt/sources.list with just the dvd entries and installed some octave packages. I attached to the /usr/lib/apt/cdrom process with gdb before inserting the dvd's requested.

No segfaults, and gdb reported no problems although it (gdb) did not
report termination, even after the cdrom method was no longer shown on htop (a variant of top):

(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0xffffe424 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb7439fad in select () from /lib/i686/cmov/libc.so.6
#2  0xb76716a6 in WaitFd (Fd=0, write=false, timeout=0)
    at contrib/fileutl.cc:362
#3  0xb769fd2f in pkgAcqMethod::Run (this=0xbfa3c3f4, Single=false)
    at acquire-method.cc:341
#4  0x0804c31a in main () at cdrom.cc:280

------------------------------------------------------------------------------

So no apparent bugs in cdrom. *However* aptitude did report problems, as for example:-

----------------------------------------------------------------
dpkg: error processing /dvd//pool/main/s/suitesparse/libamd2.2.0_3.4.0-1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/libi/libibverbs/libibverbs1_1.1.2-1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/o/openmpi/libopenmpi1.3_1.3.3-1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/a/arpack/libarpack2_2.1+parpack96.dfsg-2+b1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/s/suitesparse/libcamd2.2.0_3.4.0-1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/s/suitesparse/libccolamd2.7.1_3.4.0-1_i386.deb (--unpack):
 cannot access archive: No such file or directory
dpkg: error processing /dvd//pool/main/s/suitesparse/libcholmod1.7.1_3.4.0-1_i386.deb (--unpack):
----------------------------------------------------------------
which seem to be coming from dpkg. (I see similar failures on other machines).

The mystery deepens. I have not seen segfaults recently (last in logs on Oct 18) but the apt/aptitude/dpkg system still has problems accessing the dvd (whether a real dvd drive or an iso image loop mounted on /dvd).
Obviously the iso images have been checked.

I have never seen problems with dpkg -i /dev/pool/blah/whatever/* when I have manually mounted the disc or loopmounted-file on /dvd.

All small clues to a bug hiding somewhere in there.

I could try building the source without "noopt", but it doesn't look like that will bring back the segfault.

I always have great problems working out when my packages were updated
which makes it hard to see what changed when that might have a bearing on these problems. (One thing rpm gets right...) I just look at /var/log/aptitude | ../apt/ logs: is there a better way?

Summary: looks like the bug is still present, but has manifested in a
surprisingly different form probably with an package update yet to be identified. The fact the cdrom-method segfaulted is clearly an issue
although it looks like it will be harder to reproduce than I had hoped.
And there is another presumbly related bug present as well....

ael



Reply to: