Bug 22527

Summary: apt-shell: Dynamic MMap ran out of room
Product: Branch p5 Reporter: Ivan Zakharyaschev <imz>
Component: aptAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: QA p5 <qa-p5>
Severity: normal    
Priority: P3 CC: aen, cas, mike, radik, shakirov
Version: unspecified   
Hardware: all   
OS: Linux   
Bug Depends on: 22528    
Bug Blocks:    
Attachments:
Description Flags
/etc/apt/
none
/var/cache/apt/
none
/var/lib/apt/ none

Description Ivan Zakharyaschev 2009-12-14 06:27:27 MSK
Created attachment 4122 [details]
/etc/apt/

apt-0.5.15lorg2-alt29

I switched from branch 5.0 to Sisyphus, and ran "update". The I tried to start apt-shell, but it fails:

# cd /etc/apt/
[root@localhost apt]# git checkout sisy-internet 
Switched to branch 'sisy-internet'
[root@localhost apt]# apt-shell 
Reading Package Lists... Done
Building Dependency Tree... Done
Welcome to the APT shell. Type "help" for more information.
apt> update 
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux release
Get:1 rsync://ftp.altlinux.org i586 release [727B]
Get:2 rsync://ftp.altlinux.org noarch release [726B]
Fetched 1453B in 0s (2168B/s)
Get:1 rsync://ftp.altlinux.org i586/classic pkglist [3692kB]
Get:2 rsync://ftp.altlinux.org i586/classic release [143B] 
Get:3 rsync://ftp.altlinux.org noarch/classic pkglist [2061kB]
Get:4 rsync://ftp.altlinux.org noarch/classic release [145B]
Fetched 5753kB in 8s (643kB/s)                                                                                                                                       
Reading Package Lists... Error!
There are broken packages. Run `check' to see them.
You can try to fix them automatically with `install --fix-broken'0.
E: Dynamic MMap ran out of room
E: Error occured while processing libicfs (CollectFileProvides)
E: Problem with MergeFileProvides /var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_pkglist.classic
E: The package lists or status file could not be parsed or opened.
apt> 
[root@localhost apt]# apt-shell 
Reading Package Lists... Error!
E: Dynamic MMap ran out of room
E: Error occured while processing libicfs (CollectFileProvides)
E: Problem with MergeFileProvides /var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_pkglist.classic
E: The package lists or status file could not be parsed or opened.
[root@localhost apt]# df
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda6              11G  7.5G  3.4G  69% /
udevfs                5.0M  100K  5.0M   2% /dev
shmfs                1004M     0 1004M   0% /dev/shm
tmpfs                1004M  8.0K 1004M   1% /tmp
/dev/sda7              43G   41G  1.9G  96% /home
/dev/sda2              26G   22G  3.8G  86% /mnt/disk
/dev/sda5              11G  549M   11G   5% /var
[root@localhost apt]# free -m
             total       used       free     shared    buffers     cached
Mem:          2006        795       1210          0          1        497
-/+ buffers/cache:        297       1708
Swap:         4000          0       4000
[root@localhost apt]#
Comment 1 Ivan Zakharyaschev 2009-12-14 06:29:36 MSK
Created attachment 4123 [details]
/var/cache/apt/
Comment 2 Ivan Zakharyaschev 2009-12-14 06:38:17 MSK
Created attachment 4124 [details]
/var/lib/apt/
Comment 3 Ivan Zakharyaschev 2009-12-14 06:39:18 MSK
Removing the caches doesn't help:

[root@localhost ~]# rm /var/cache/apt/*cache* -v
rm: remove regular file `/var/cache/apt/pkgcache.bin'? y
removed `/var/cache/apt/pkgcache.bin'
rm: remove regular file `/var/cache/apt/srcpkgcache.bin'? y
removed `/var/cache/apt/srcpkgcache.bin'
[root@localhost ~]# apt-get update
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux release
Get:1 rsync://ftp.altlinux.org i586 release [727B]
Get:2 rsync://ftp.altlinux.org noarch release [726B]
Fetched 1453B in 0s (2997B/s)
Get:1 rsync://ftp.altlinux.org i586/classic pkglist [3692kB]
Get:2 rsync://ftp.altlinux.org i586/classic release [143B]
Get:3 rsync://ftp.altlinux.org noarch/classic pkglist [2061kB]
Get:4 rsync://ftp.altlinux.org noarch/classic release [145B]
Fetched 5753kB in 10s (548kB/s)                                                                                                                                      
Reading Package Lists... Error!
E: Dynamic MMap ran out of room
E: Error occured while processing libicfs (CollectFileProvides)
E: Problem with MergeFileProvides /var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_pkglist.classic
E: The package lists or status file could not be parsed or opened.
[root@localhost ~]#
Comment 4 Ivan Zakharyaschev 2009-12-14 06:45:19 MSK
Removing the lists of the CD helps:

[root@localhost ~]# rm /var/lib/apt/lists/* -vf
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_pkglist.base'
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_pkglist.contrib'
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_pkglist.disk'
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_release.base'
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_release.contrib'
removed `/var/lib/apt/lists/ALT%20Linux%204.1.1-RC%20Desktop%20(Thymus)%20build%202008-11-15_ALTLinux_base_release.disk'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_pkglist.classic'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_release'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_release.classic'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_pkglist.classic'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_release'
removed `/var/lib/apt/lists/_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_release.classic'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_pkglist.classic'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_release'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_release.classic'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_pkglist.classic'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_release'
removed `/var/lib/apt/lists/ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_release.classic'
removed `/var/lib/apt/lists/lock'
rm: cannot remove `/var/lib/apt/lists/partial': Is a directory
[root@localhost ~]# apt-get update
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux release
Get:1 rsync://ftp.altlinux.org i586 release [727B]
Get:2 rsync://ftp.altlinux.org noarch release [726B]
Fetched 1453B in 0s (3195B/s)
Err cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/base pkglist
  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/base release
Err cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/contrib pkglist
  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/contrib release
Err cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/disk pkglist
  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Ign cdrom://ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15 ALTLinux/disk release
Get:1 rsync://ftp.altlinux.org i586/classic pkglist [3692kB]
Get:2 rsync://ftp.altlinux.org i586/classic release [143B] 
Get:3 rsync://ftp.altlinux.org noarch/classic pkglist [2061kB]
Get:4 rsync://ftp.altlinux.org noarch/classic release [145B]
Fetched 5753kB in 8s (640kB/s)                                                                                                                                       
Failed to fetch cdrom:[ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15]/ALTLinux/base/pkglist.base  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Failed to fetch cdrom:[ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15]/ALTLinux/base/pkglist.contrib  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Failed to fetch cdrom:[ALT Linux 4.1.1-RC Desktop (Thymus) build 2008-11-15]/ALTLinux/base/pkglist.disk  Please use apt-cdrom to make this CD recognized by APT. apt-get update cannot be used to add new CDs
Reading Package Lists... Done
Building Dependency Tree... Done
E: Some index files failed to download, they have been ignored, or old ones used instead.
[root@localhost ~]# ls /var/lib/apt/lists/
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_pkglist.classic    ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_release
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_release            ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_release.classic
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_i586_base_release.classic    ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_pkglist.classic
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_pkglist.classic  ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_release
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_release          ftp.altlinux.org_ALTLinux_Sisyphus_noarch_base_release.classic
_home_imz_SAVED-for-me-and-everyone_Cache_Sisyphus_noarch_base_release.classic  lock
ftp.altlinux.org_ALTLinux_Sisyphus_i586_base_pkglist.classic                    partial
[root@localhost ~]# 

But this means that apt is working very close to its limits: it can't manage the lists of approx. THREE repositories as big as Sisyphus (I had a CD, a local copy of Sisyphus, and Sisyphus).
Comment 5 Michael Shigorin 2009-12-14 20:44:50 MSK
Is it a bug #16900 dup?
Comment 6 Lenar Shakirov 2011-11-04 21:14:50 MSK
(В ответ на комментарий №5)
> Is it a bug #16900 dup?

Nope, because it's fixed _only_ for Sisyphus and p6/t6, not for p5/5.1.

I'm reproduced it for p5.

2cas: can you apply this patch, please?
http://git.altlinux.org/gears/a/apt.git?p=apt.git;a=commitdiff;h=e867bd28a8f540b1e03c69210112bb55cc377569
Comment 7 Repository Robot 2011-11-07 12:02:32 MSK
apt-0.5.15lorg2-alt33.M50P.1 -> p5:

* Mon Nov 07 2011 Andrey Cherepanov <cas@altlinux> 0.5.15lorg2-alt33.M50P.1
- Increase default APT::Cache-Limit up to 48M (closes: #22527)