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

Bug#682024: apt-get: custom --solver stub crashes apt-get in glibc



Package: apt
Version: 0.9.7.1
Severity: minor
File: /usr/bin/apt-get

Dear Maintainer,

I created an external apt-cudf solver specification as per apt-cudf instructions.
My "solver" (as of yet, a stub) is:

-- minimal_progressive.py solver --
#!/usr/bin/env python

import sys

def main():
    if len(sys.argv) != 4:
        return 1
    cudf_in = open(sys.argv[1])
    cudf_out = open(sys.argv[2], 'w')
    cudf_in.read()  # read the whole piped input
    cudf_out.write('Error:')  # write something irrelevant
    return 1  # return with error

if __name__ == '__main__':
    sys.exit(main())

-- end minimal_progressive.py --

I run apt-get and get the following output (reproducible):

-- start output --

user@debian:~$ sudo apt-get -s upgrade --solver minimal_progressive

Reading package lists... Done
Building dependency tree      
Reading state information... Done
*** glibc detected *** apt-get: malloc(): memory corruption: 0x081a4ab0 ***
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x6e3f1)[0xb744c3f1]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0x711d4)[0xb744f1d4]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_malloc+0x5c)[0xb7450ddc]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_Znwj+0x25)[0xb75cd555]
[0x81a84c0]
======= Memory map: ========
08048000-08076000 r-xp 00000000 08:01 4901       /usr/bin/apt-get
08076000-08077000 r--p 0002d000 08:01 4901       /usr/bin/apt-get
08077000-08078000 rw-p 0002e000 08:01 4901       /usr/bin/apt-get
0819d000-081be000 rw-p 00000000 00:00 0          [heap]
b5000000-b5021000 rw-p 00000000 00:00 0
b5021000-b5100000 ---p 00000000 00:00 0
b5160000-b541d000 rw-p 00000000 00:00 0
b541d000-b7236000 rw-p 00000000 08:01 136112     /var/cache/apt/pkgcache.bin
b7236000-b73ad000 r--p 00000000 08:01 5068       /usr/lib/locale/locale-archive
b73ad000-b73b0000 rw-p 00000000 00:00 0
b73b0000-b73bf000 r-xp 00000000 08:01 3184       /lib/i386-linux-gnu/libbz2.so.1.0.4
b73bf000-b73c0000 rw-p 0000f000 08:01 3184       /lib/i386-linux-gnu/libbz2.so.1.0.4
b73c0000-b73d7000 r-xp 00000000 08:01 3198       /lib/i386-linux-gnu/libz.so.1.2.7
b73d7000-b73d8000 r--p 00016000 08:01 3198       /lib/i386-linux-gnu/libz.so.1.2.7
b73d8000-b73d9000 rw-p 00017000 08:01 3198       /lib/i386-linux-gnu/libz.so.1.2.7
b73d9000-b73da000 rw-p 00000000 00:00 0
b73da000-b73dc000 r-xp 00000000 08:01 42         /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b73dc000-b73dd000 r--p 00001000 08:01 42         /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b73dd000-b73de000 rw-p 00002000 08:01 42         /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
b73de000-b7534000 r-xp 00000000 08:01 56         /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b7534000-b7535000 ---p 00156000 08:01 56         /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b7535000-b7537000 r--p 00156000 08:01 56         /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b7537000-b7538000 rw-p 00158000 08:01 56         /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
b7538000-b753b000 rw-p 00000000 00:00 0
b753b000-b7557000 r-xp 00000000 08:01 18         /lib/i386-linux-gnu/libgcc_s.so.1
b7557000-b7558000 rw-p 0001b000 08:01 18         /lib/i386-linux-gnu/libgcc_s.so.1
b7558000-b757c000 r-xp 00000000 08:01 50         /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b757c000-b757d000 r--p 00023000 08:01 50         /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b757d000-b757e000 rw-p 00024000 08:01 50         /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
b757e000-b765e000 r-xp 00000000 08:01 31         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b765e000-b765f000 ---p 000e0000 08:01 31         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b765f000-b7663000 r--p 000e0000 08:01 31         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b7663000-b7664000 rw-p 000e4000 08:01 31         /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
b7664000-b766c000 rw-p 00000000 00:00 0
b766c000-b766e000 r-xp 00000000 08:01 70         /lib/i386-linux-gnu/i686/cmov/libutil-2.13.so
b766e000-b766f000 r--p 00001000 08:01 70         /lib/i386-linux-gnu/i686/cmov/libutil-2.13.so
b766f000-b7670000 rw-p 00002000 08:01 70         /lib/i386-linux-gnu/i686/cmov/libutil-2.13.so
b7670000-b7795000 r-xp 00000000 08:01 4289       /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12.0
b7795000-b7797000 r--p 00125000 08:01 4289       /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12.0
b7797000-b7799000 rw-p 00127000 08:01 4289       /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12.0
b77a3000-b77a4000 rw-p 00000000 00:00 0
b77a4000-b77ab000 r--s 00000000 08:01 12504      /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
b77ab000-b77ad000 rw-p 00000000 00:00 0
b77ad000-b77ae000 r-xp 00000000 00:00 0          [vdso]
b77ae000-b77ca000 r-xp 00000000 08:01 1239       /lib/i386-linux-gnu/ld-2.13.so
b77ca000-b77cb000 r--p 0001b000 08:01 1239       /lib/i386-linux-gnu/ld-2.13.so
b77cb000-b77cc000 rw-p 0001c000 08:01 1239       /lib/i386-linux-gnu/ld-2.13.so
bfd39000-bfd7e000 rw-p 00000000 00:00 0          [stack]

-- end output --

Despite my not following the CUDF protocol (haven't come that far yet), I don't think apt-get should exactly crash in glibc.



-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "i386";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image.*";
APT::NeverAutoRemove:: "^kfreebsd-image.*";
APT::NeverAutoRemove:: "^linux-restricted-modules.*";
APT::NeverAutoRemove:: "^linux-ubuntu-modules-.*";
APT::NeverAutoRemove:: "^gnumach$";
APT::NeverAutoRemove:: "^gnumach-image.*";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "restricted/metapackages";
APT::Never-MarkAuto-Sections:: "universe/metapackages";
APT::Never-MarkAuto-Sections:: "multiverse/metapackages";
APT::Never-MarkAuto-Sections:: "oldlibs";
APT::Never-MarkAuto-Sections:: "restricted/oldlibs";
APT::Never-MarkAuto-Sections:: "universe/oldlibs";
APT::Never-MarkAuto-Sections:: "multiverse/oldlibs";
APT::Update "";
APT::Update::Post-Invoke-Success "";
APT::Update::Post-Invoke-Success:: "/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
APT::Cache-Limit "100000000";
APT::Get "";
APT::Get::Fix-Broken "true";
APT::Remove-Depends "true";
APT::Solver "";
APT::Solver::Strict-Pinning "no";
APT::Architectures "";
APT::Architectures:: "i386";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "1";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "2";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-9n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::bzip2 "";
APT::Compressor::bzip2::Name "bzip2";
APT::Compressor::bzip2::Extension ".bz2";
APT::Compressor::bzip2::Binary "bzip2";
APT::Compressor::bzip2::Cost "3";
APT::Compressor::bzip2::CompressArg "";
APT::Compressor::bzip2::CompressArg:: "-9";
APT::Compressor::bzip2::UncompressArg "";
APT::Compressor::bzip2::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "4";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::xz::UncompressArg:: "-d";
APT::Compressor::lzma "";
APT::Compressor::lzma::Name "lzma";
APT::Compressor::lzma::Extension ".lzma";
APT::Compressor::lzma::Binary "xz";
APT::Compressor::lzma::Cost "5";
APT::Compressor::lzma::CompressArg "";
APT::Compressor::lzma::CompressArg:: "--format=lzma";
APT::Compressor::lzma::CompressArg:: "-9";
APT::Compressor::lzma::UncompressArg "";
APT::Compressor::lzma::UncompressArg:: "--format=lzma";
APT::Compressor::lzma::UncompressArg:: "-d";
APT::Compressor::::Name "";
APT::Compressor::::Extension ".";
APT::Compressor::::Binary "";
APT::Compressor::::Cost "100";
APT::Compressor::::CompressArg "";
APT::Compressor::::CompressArg:: "-9";
APT::Compressor::::UncompressArg "";
APT::Compressor::::UncompressArg:: "-d";
Dir "/";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::mirrors "mirrors/";
Dir::State::extended_states "extended_states";
Dir::State::status "/var/lib/dpkg/status";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::netrc "auth.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Etc::preferencesparts "preferences.d";
Dir::Etc::trusted "trusted.gpg";
Dir::Etc::trustedparts "trusted.gpg.d";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::solvers "";
Dir::Bin::solvers:: "/usr/lib/apt/solvers";
Dir::Bin::dpkg "/usr/bin/dpkg";
Dir::Bin::bzip2 "/bin/bzip2";
Dir::Bin::xz "/usr/bin/xz";
Dir::Media "";
Dir::Media::MountPath "/media/cdrom";
Dir::Log "var/log/apt";
Dir::Log::Terminal "term.log";
Dir::Log::History "history.log";
Dir::Ignore-Files-Silently "";
Dir::Ignore-Files-Silently:: "~$";
Dir::Ignore-Files-Silently:: "\.disabled$";
Dir::Ignore-Files-Silently:: "\.bak$";
Dir::Ignore-Files-Silently:: "\.dpkg-[a-z]+$";
Dir::Ignore-Files-Silently:: "\.save$";
Dir::Ignore-Files-Silently:: "\.orig$";
Acquire "";
Acquire::cdrom "";
Acquire::cdrom::mount "/media/cdrom";
Acquire::Languages "";
Acquire::Languages:: "en";
Acquire::Languages:: "none";
Aptitude "";
Aptitude::Get-Root-Command "sudo:/usr/bin/sudo";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/bin/apt-listchanges --apt || test $? -ne 10";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::Tools "";
DPkg::Tools::Options "";
DPkg::Tools::Options::/usr/bin/apt-listchanges "";
DPkg::Tools::Options::/usr/bin/apt-listchanges::Version "2";
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "/usr/bin/test -e /usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedesktop.PackageKit --object-path /org/freedesktop/PackageKit --timeout 1 --method org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo > /dev/null";
CommandLine "";
CommandLine::AsString "apt-config dump";

-- (no /etc/apt/preferences present) --

(but /etc/apt/preferences.d/files are present, so this is a bug in reportbug?)


-- (no /etc/apt/sources.list present) --

(but /etc/apt/sources.list.d/sources are present, so this, again, is a bug, or is reportbug purposely not asking for these?)

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (504, 'testing'), (503, 'stable'), (501, 'unstable'), (500, 'stable-updates')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-3-486
Locale: LANG=sl_SI.UTF-8, LC_CTYPE=sl_SI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt depends on:
ii  debian-archive-keyring  2012.4
ii  gnupg                   1.4.12-4+b1
ii  libapt-pkg4.12          0.9.7.1
ii  libc6                   2.13-33
ii  libgcc1                 1:4.7.1-2
ii  libstdc++6              4.7.1-2

apt recommends no packages.

Versions of packages apt suggests:
pn  apt-doc     <none>
ii  aptitude    0.6.8-1
pn  dpkg-dev    <none>
ii  python-apt  0.8.4
ii  xz-utils    5.1.1alpha+20120614-1

-- no debconf information


Reply to: