Bug#726055: libapt-pkg.so.4.12: segmentation fault in pkgDPkgPM::ProcessDpkgStatusLine
Package: libapt-pkg4.12
Version: 0.9.12
Severity: normal
File: /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
Hi *,
I am getting a reproducible segmentation fault in
/usr/lib/i386-linux-gnu/libapt-pkg.so.4.12 in
pkgDPkgPM::ProcessDpkgStatusLine.
I first got a segfault today on one machine, but did not capture any
more information on this, since a second start of apt-get did not
produce the same crash.
But now in my workstation this is happening as well an every single time
I start "apt-get dist-upgrade" again. It happens also on every machine
where the package "cpuid=20130610-2" is installed and msr-tools=1.3-1 are
upgraded or newly installed.
Those two packages have a file conflict /usr/share/man/man1/cpuid.1.gz,
which prompts dpkg to output
dpkg: error processing /var/cache/apt/archives/msr-tools_1.3-1_i386.deb (--unpack):
trying to overwrite '/usr/share/man/man1/cpuid.1.gz', which is also in package cpuid 20130610-2
which seemingly triggers the segmentation fault.
The line from the kernel log is
[ 3954.102323] apt-get[14525]: segfault at fffffff4 ip 00000000f768036b sp 00000000ffa8bd20 error 5 in libapt-pkg.so.4.12.0[f758f000+13d000]
and the backtrace from gdb while dist-upgrading is:
Reading changelogs... Done
(Reading database ... 603255 files and directories currently installed.)
Preparing to replace msr-tools 1.2-3 (using .../msr-tools_1.3-1_i386.deb) ...
Unpacking replacement msr-tools ...
dpkg: error processing /var/cache/apt/archives/msr-tools_1.3-1_i386.deb (--unpack):
trying to overwrite '/usr/share/man/man1/cpuid.1.gz', which is also in package cpuid 20130610-2
Program received signal SIGSEGV, Segmentation fault.
0xf7f5436b in pkgDPkgPM::ProcessDpkgStatusLine(int, char*) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
(gdb) bt full
#0 0xf7f5436b in pkgDPkgPM::ProcessDpkgStatusLine(int, char*) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#1 0xf7f56dcb in pkgDPkgPM::DoDpkgStatusFd(int, int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#2 0xf7f590d5 in pkgDPkgPM::Go(int) () from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#3 0xf7ed2c11 in pkgPackageManager::DoInstallPostFork(int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#4 0xf7ed2c63 in pkgPackageManager::DoInstall(int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#5 0xf7e3c3e0 in InstallPackages(CacheFile&, bool, bool, bool) ()
from /usr/lib/i386-linux-gnu/libapt-private.so.0.0
No symbol table info available.
#6 0x0805166c in ?? ()
No symbol table info available.
#7 0xf7e9e47e in CommandLine::DispatchArg(CommandLine::Dispatch*, bool) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#8 0x0804feab in ?? ()
No symbol table info available.
#9 0xf7b488c5 in __libc_start_main (main=0x804fc40, argc=2, ubp_av=0xffffd724, init=0x8060a70,
fini=0x8060ae0, rtld_fini=0xf7fec0c0 <_dl_fini>, stack_end=0xffffd71c) at libc-start.c:260
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-137519104, 0, 0, 0, -449961298, 1938949822},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x2, 0x805003f}, data = {prev = 0x0,
cleanup = 0x0, canceltype = 2}}}
not_first_call = <optimized out>
#10 0x08050060 in ?? ()
No symbol table info available.
The backtrace while "apt-get install msr-tools" from a different system
looks like this:
(Reading database ... 125343 files and directories currently installed.)
Unpacking msr-tools (from .../msr-tools_1.3-1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/msr-tools_1.3-1_i386.deb (--unpack):
trying to overwrite '/usr/share/man/man1/cpuid.1.gz', which is also in package cpuid 20130610-2
Program received signal SIGSEGV, Segmentation fault.
0xf7f7836b in pkgDPkgPM::ProcessDpkgStatusLine(int, char*) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
(gdb) bt full
#0 0xf7f7836b in pkgDPkgPM::ProcessDpkgStatusLine(int, char*) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#1 0xf7f7adcb in pkgDPkgPM::DoDpkgStatusFd(int, int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#2 0xf7f7d0d5 in pkgDPkgPM::Go(int) () from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#3 0xf7ef6c11 in pkgPackageManager::DoInstallPostFork(int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#4 0xf7ef6c63 in pkgPackageManager::DoInstall(int) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#5 0xf7e603e0 in InstallPackages(CacheFile&, bool, bool, bool) ()
from /usr/lib/i386-linux-gnu/libapt-private.so.0.0
No symbol table info available.
#6 0xf7e629e2 in DoInstall(CommandLine&) () from /usr/lib/i386-linux-gnu/libapt-private.so.0.0
No symbol table info available.
#7 0xf7ec247e in CommandLine::DispatchArg(CommandLine::Dispatch*, bool) ()
from /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12
No symbol table info available.
#8 0x0804feab in ?? ()
No symbol table info available.
#9 0xf7b6c8c5 in __libc_start_main (main=0x804fc40, argc=3, ubp_av=0xffffd7c4, init=0x8060a70,
fini=0x8060ae0, rtld_fini=0xf7fec0c0 <_dl_fini>, stack_end=0xffffd7bc) at libc-start.c:260
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-137371648, 0, 0, 0, -1201572088, 710808344},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x3, 0x805003f}, data = {prev = 0x0,
cleanup = 0x0, canceltype = 3}}}
not_first_call = <optimized out>
#10 0x08050060 in ?? ()
No symbol table info available.
Unfortunately there is no libapt-pkg-dbg package available, so the
backtrace is a bit non-informative.
Grüße,
Sven.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (600, 'unstable'), (500, 'experimental'), (400, 'testing')
Architecture: i386 (x86_64)
Foreign Architectures: amd64
Kernel: Linux 3.10-3-amd64 (SMP w/12 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libapt-pkg4.12:i386 depends on:
ii libbz2-1.0 1.0.6-5
ii libc6 2.17-93
ii libgcc1 1:4.8.1-10
ii libstdc++6 4.8.1-10
ii multiarch-support 2.17-93
ii zlib1g 1:1.2.8.dfsg-1
libapt-pkg4.12:i386 recommends no packages.
libapt-pkg4.12:i386 suggests no packages.
-- no debconf information
Reply to: