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

Bug#657439: marked as done (apt: "MMap ran out of room" is bad. Please auto-adjust "Cache-limit")



Your message dated Thu, 26 Jan 2012 11:35:30 +0100
with message-id <CAAZ6_fCata6yyRSs-uSQXhrCQoR0VvGLeEqywrKeF9ck0P8vAg@mail.gmail.com>
and subject line Re: Bug#657439: apt: "MMap ran out of room" is bad. Please auto-adjust "Cache-limit"
has caused the Debian Bug report #657439,
regarding apt: "MMap ran out of room" is bad. Please auto-adjust "Cache-limit"
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
657439: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657439
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: apt
Version: 0.8.15.9
Severity: wishlist

Dear Maintainer,
*** Please consider answering these questions, where appropriate ***

   * What led up to the situation?
I ran "apt-get upgrade"

   * What exactly did you do (or not do) that was effective (or
     ineffective)?
The crash message suggested how to fix it. But this ought to be automatic.

   * What was the outcome of this action?
E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. Current value: 32505856. (man 5 apt.conf)
Reading package lists... Error!
E: Unable to increase the size of the MMap as the limit of 32000000 bytes is already reached. E: Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. Current value: 32505856. (man 5 apt.conf)
E: Error occurred while processing darkplaces (NewVersion2)
E: Problem with MergeList /var/lib/apt/lists/ftp.fi.debian.org_debian_dists_unstable_main_binary-amd64_Packages
E: The package lists or status file could not be parsed or opened.

   * What outcome did you expect instead?
The system upgrading itself.

*** End of the template - remove these lines ***
As a programmer, I understand what happened. But it seems like a design bug to me.

There is a mmap limit in the config, and the admin is told how to increase it
when the limit disrupts the system.

This limit seems to have no use - because the admin has no real choice here. He MUST
increase the limit, or stop using "apt-get upgrade". So the code might as
well do this automatically: Set the mmap limit based on the size of
files to process. If that is not feasible, use a loop that double the
limit and retry processing until it works. This approach may of course
end badly on a memory constrained system, but that just means apt-get
cannot be used on such a system.

Telling users to make mandatory changes that can
be done programmatically is not user-friendly.

Unless there is a hidden risk - but a system that will crash from memory overuse will crash anyway - it won't matter if it is
a program or the user that increase the limit.

I solved my problem by doubling the limit, but I don't know
if that will be enough forever, or what the maximum limit
on this machine is. I don't have "better information" than
the software has.

-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "amd64";
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::Cache-Limit "64000000";
APT::Architectures "";
APT::Architectures:: "amd64";
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::dpkg "/usr/bin/dpkg";
Dir::Media "";
Dir::Media::MountPath "/media/apt";
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";
Acquire::Languages:: "da";
Acquire::Languages:: "nb";
Unattended-Upgrade "";
Unattended-Upgrade::Origins-Pattern "";
Unattended-Upgrade::Origins-Pattern:: "origin=Debian,archive=stable,label=Debian-Security";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums --generate=nocheck -sp /var/cache/apt/archives; fi"; DPkg::Post-Invoke:: "which dzhandle >/dev/null && dzhandle restart-pending-instances || true";
CommandLine "";
CommandLine::AsString "apt-config dump";

-- /etc/apt/preferences --

Package:*
Pin: release a=stable
Pin-Priority:800

Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release a=unstable
Pin-Priority: 800

Package: *
Pin: release a=experimental
Pin-Priority: 700

Package: *
Pin: release o=Debian
Pin-Priority: -10

-- /etc/apt/sources.list --

#
# deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official amd64 NETINST Binary-1 20070820-20:16]/ etch contrib main

#deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official amd64 NETINST Binary-1 20070820-20:16]/ etch contrib main

#Debian
deb http://ftp.fi.debian.org/debian/ stable main contrib non-free
deb http://ftp.fi.debian.org/debian/ testing main contrib non-free
deb http://ftp.fi.debian.org/debian/ unstable main contrib non-free
#deb http://ftp.fi.debian.org/debian/ experimental main contrib non-free

#deb-src http://ftp.fi.debian.org/debian/ etch main
#Debian multimedia
#deb http://www.debian-multimedia.org stable main non-free
#deb http://www.debian-multimedia.org testing main non-free
#deb http://www.debian-multimedia.org sid main non-free
#deb http://www.debian-multimedia.org experimental main

#deb http://security.debian.org/ etch/updates main contrib
#deb-src http://security.debian.org/ etch/updates main contrib

#initng:
#deb http://debian.space-based.de/debs/ experimental main

#libdvdcss
#deb http://download.videolan.org/pub/videolan/debian sid main

#Stable nvidia drivers no longer in the usual repositories
#deb http://snapshot.debian.net/archive pool nvidia-graphics-drivers
#deb-src http://snapshot.debian.net/archive pool nvidia-graphics-drivers


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (800, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages apt depends on:
ii  debian-archive-keyring  2010.08.28
ii  gnupg                   1.4.11-3
ii  libc6                   2.13-24
ii  libgcc1                 1:4.6.2-11
ii  libstdc++6              4.6.2-11
ii  zlib1g                  1:1.2.3.4.dfsg-3

apt recommends no packages.

Versions of packages apt suggests:
ii  apt-doc     <none>
ii  aptitude    0.6.4-1.2
ii  bzip2       1.0.6-1
ii  dpkg-dev    1.16.1.2
ii  lzma        <none>
ii  python-apt  0.8.0
ii  synaptic    0.75.4

-- debconf-show failed



--- End Message ---
--- Begin Message ---
Hi,

On Thu, Jan 26, 2012 at 11:11, Helge Hafting <helge.hafting@hist.no> wrote:
> I solved my problem by doubling the limit, but I don't know
> if that will be enough forever, or what the maximum limit
> on this machine is. I don't have "better information" than
> the software has.

you have better information, as you are in the better position to decide how
much memory APT should take. Especially as you have chosen to decide
how big this limit should be. Remove the APT::Cache-Limit from your settings
completely and APT will happily eat as much RAM as it needs to - in the hope
that you have enough RAM available.
The manpage will tell you more about these options.

I am therefore closing this bug, even through i have to grant that previously
this setting was (mis)used sometimes to work around some limits, but these
limits are gone since squeeze - and workarounds can be expected to cause
problems later on, but overriding (possibly) valid user settings isn't
a good way to workaround the used workarounds.


Best regards

David Kalnischkies


--- End Message ---

Reply to: