Summary: | Dynamic MMap ran out of room when Reading Package Lists | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Ivan Zakharyaschev <imz> |
Component: | apt | Assignee: | placeholder <placeholder> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | critical | ||
Priority: | P3 | CC: | aen, ar4p4d4, boyarsh, evg, glebfm, imz, lav, ldv, mike, php-coder, placeholder, rider |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 22527, 30541, 30689, 31410 |
Description
Ivan Zakharyaschev
2009-12-14 06:54:28 MSK
The problem is true for apt-0.5.15lorg2-alt30 with rpm-4.0.4-alt98.24, too. A similar situation appeared before: https://bugzilla.altlinux.org/show_bug.cgi?id=16900 . Setting APT::Cache-Limit helps -- thanks http://lists.altlinux.org/pipermail/sisyphus/2008-March/328458.html : [root@localhost ~]# apt-get -o APT::Cache-Limit=$(( 1024 * 1024 * 1024 / 2 )) 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 (3052B/s) Get:1 rsync://ftp.altlinux.org i586/classic pkglist [3712kB] Get:2 rsync://ftp.altlinux.org i586/classic release [143B] Get:3 rsync://ftp.altlinux.org noarch/classic pkglist [2065kB] Get:4 rsync://ftp.altlinux.org noarch/classic release [145B] Fetched 5777kB in 6s (915kB/s) Reading Package Lists... Done Building Dependency Tree... Done [root@localhost ~]# Probably, the default limit is too low; I haven't modified it: # fgrep -i limit -r /etc/apt/ # > I switched from branch 5.0 to Sisyphus, and ran "update".
Could you try to rpm -Uvh apt/libapt from 5.0/branch first?
Is it a bug #16900 dup? (In reply to comment #5) > Is it a bug #16900 dup? No, it isn't. Так планируется багу-то закрывать? Или как-то отразить, что выпущена сборка apt * Чтв Ноя 04 2010 Dmitry V. Levin <ldv@altlinux.org> 0.5.15lorg2-alt34 - Increased default APT::Cache-Limit up to 48M. workarounded in apt-0.5.15lorg2-alt34 FYI: There may appear a similar problem with the number of versions: https://bugzilla.altlinux.org/show_bug.cgi?id=30482 . (I haven't tried to find a solution for that one.) It happens again with the current apt and Sisyphus (on x86-64) :( Perhaps, it's time to increase the limit again? # apt-get update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [708B] Получено: 3 http://ftp.altlinux.org x86_64-i586 release [573B] Получено 2195B за 0s (46,1kB/s). Найдено http://ftp.altlinux.org x86_64/classic pkglist Найдено http://ftp.altlinux.org x86_64/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Найдено http://ftp.altlinux.org x86_64-i586/classic pkglist Найдено http://ftp.altlinux.org x86_64-i586/classic release Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке i586-libsundance10.32bit (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64-i586_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. # fgrep -i limit -r /etc/apt # rpm -q apt apt-0.5.15lorg2-alt49 # apt-repo rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic # This can be reproduced only after removing the cached stuff: [root@ovicaa ~]# rm -fv /var/cache/apt/*.bin удалён «/var/cache/apt/pkgcache.bin» удалён «/var/cache/apt/srcpkgcache.bin» [root@ovicaa ~]# apt-get update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено: 3 http://ftp.altlinux.org x86_64-i586 release [573B] Получено 2196B за 0s (7820B/s). Найдено http://ftp.altlinux.org x86_64/classic pkglist Найдено http://ftp.altlinux.org x86_64/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Найдено http://ftp.altlinux.org x86_64-i586/classic pkglist Найдено http://ftp.altlinux.org x86_64-i586/classic release Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке i586-librados2.32bit (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64-i586_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. [root@ovicaa ~]# apt-get update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено: 3 http://ftp.altlinux.org x86_64-i586 release [573B] Получено 2196B за 10s (213B/s). Найдено http://ftp.altlinux.org x86_64/classic pkglist Найдено http://ftp.altlinux.org x86_64/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Найдено http://ftp.altlinux.org x86_64-i586/classic pkglist Найдено http://ftp.altlinux.org x86_64-i586/classic release Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке i586-librados2.32bit (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64-i586_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. [root@ovicaa ~]# apt-get -o APT::Cache-Limit=$(( 64 * 1024 * 1024 )) update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено: 3 http://ftp.altlinux.org x86_64-i586 release [573B] Получено 2196B за 1s (2085B/s). Найдено http://ftp.altlinux.org x86_64/classic pkglist Найдено http://ftp.altlinux.org x86_64/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Найдено http://ftp.altlinux.org x86_64-i586/classic pkglist Найдено http://ftp.altlinux.org x86_64-i586/classic release Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке i586-librados2.32bit (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64-i586_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. [root@ovicaa ~]# apt-get -o APT::Cache-Limit=$(( 80 * 1024 * 1024 )) update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено: 3 http://ftp.altlinux.org x86_64-i586 release [573B] Получено 2196B за 0s (11,1kB/s). Найдено http://ftp.altlinux.org x86_64/classic pkglist Найдено http://ftp.altlinux.org x86_64/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Найдено http://ftp.altlinux.org x86_64-i586/classic pkglist Найдено http://ftp.altlinux.org x86_64-i586/classic release Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено [root@ovicaa ~]# Только что словил на сизифе: # apt-get update Получено: 1 http://ftp.altlinux.org x86_64 release [914B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено 1623B за 0s (6746B/s). Получено: 1 http://ftp.altlinux.org x86_64/classic pkglist [17,4MB] Получено: 2 http://ftp.altlinux.org x86_64/classic release [147B] Получено: 3 http://ftp.altlinux.org noarch/classic pkglist [4130kB] Получено: 4 http://ftp.altlinux.org noarch/classic release [147B] Получено 21,5MB за 12s (1763kB/s). Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке python-module-django1.4-tests (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/_raid_Sisyphus_noarch_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. Attention to all who care of installers: this change will double libapt memory requirements. I'm quite sure some installers are not ready for this yet. Может, необязательно по экспоненте всё же? (В ответ на комментарий №15) > Может, необязательно по экспоненте всё же? Может, необязательно... Решать проблему по-другому? Сделать запись в apt.conf либо для инсталлятора, либо для использования в уже установленной системе? Может быть, пусть maintainer-ы инсталляторов пропишут свои минимальные требования в apt.conf (если это работает). Просто им виднее, сколько им хватит. Текущему Sisyphus надо больше. Поддерживать значения для инсталляторов в месте, независимом от инсталляторов, ведь неудобно будет. Для p7 тоже надо больше, и эта цифра заметно выросла с момента появления бранча. А нельзя ли сделать этот параметр динамическим ? Я чего-то не понимаю? Почему не срабатывает лимит? И использование памяти всегда одинаковое, вне зависимости от установленного лимита. # apt-get -o APT::Cache-Limit=1024 update Get:1 http://mirror.yandex.ru x86_64 release [915B] Get:2 http://mirror.yandex.ru x86_64-i586 release [573B] Get:3 http://mirror.yandex.ru noarch release [709B] Fetched 2197B in 0s (3711B/s) Hit http://mirror.yandex.ru x86_64/classic pkglist Hit http://mirror.yandex.ru x86_64/classic release Hit http://mirror.yandex.ru x86_64-i586/classic pkglist Hit http://mirror.yandex.ru x86_64-i586/classic release Hit http://mirror.yandex.ru noarch/classic pkglist Hit http://mirror.yandex.ru noarch/classic release Reading Package Lists... Done Building Dependency Tree... Done (В ответ на комментарий №19) > Я чего-то не понимаю? > Почему не срабатывает лимит? > > И использование памяти всегда одинаковое, вне зависимости от установленного > лимита. > > # apt-get -o APT::Cache-Limit=1024 update > Get:1 http://mirror.yandex.ru x86_64 release [915B] > Get:2 http://mirror.yandex.ru x86_64-i586 release [573B] > Get:3 http://mirror.yandex.ru noarch release [709B] > Fetched 2197B in 0s (3711B/s) > Hit http://mirror.yandex.ru x86_64/classic pkglist > Hit http://mirror.yandex.ru x86_64/classic release > Hit http://mirror.yandex.ru x86_64-i586/classic pkglist > Hit http://mirror.yandex.ru x86_64-i586/classic release > Hit http://mirror.yandex.ru noarch/classic pkglist > Hit http://mirror.yandex.ru noarch/classic release > Reading Package Lists... Done > Building Dependency Tree... Done У меня в первую очередь проявлялось, когда были обновления базы. А в такой ситучации, как выше, бывало, и не выскакивала проблема. (В ответ на комментарий №18) > Для p7 тоже надо больше, и эта цифра заметно выросла с момента появления > бранча. В p7 хотелось бы иметь возможность переключиться на Sisyphus без проблем, т.е. требование такое же. надо посмотреть, может быть там выбирается максимальное значение из всех существующих? [root@riderbook ~]# rm -f /var/lib/apt/lists/mirror.yandex.ru_altlinux_Sisyphus_* [root@riderbook ~]# apt-get -o APT::Cache-Limit=1000 update Get:1 http://mirror.yandex.ru x86_64 release [915B] Get:2 http://mirror.yandex.ru x86_64-i586 release [573B] Get:3 http://mirror.yandex.ru noarch release [709B] Fetched 2197B in 0s (6718B/s) Get:1 http://mirror.yandex.ru x86_64/classic pkglist [17.4MB] Get:2 http://mirror.yandex.ru x86_64/classic release [147B] Get:3 http://mirror.yandex.ru x86_64-i586/classic pkglist [12.8MB] Get:4 http://mirror.yandex.ru x86_64-i586/classic release [152B] Get:5 http://mirror.yandex.ru noarch/classic pkglist [4154kB] Get:6 http://mirror.yandex.ru noarch/classic release [147B] Fetched 34.4MB in 26s (1287kB/s) Reading Package Lists... Done Building Dependency Tree... Done [root@riderbook ~]# после того, как хоть один раз хеши скачаются - параметр APT::Cache-Limit= уже ни на что не влияет, даже если содержимое /var/cache/apt/ будет очищено. И опытным путём выяснил, что даже если дать параметр близкий к бесконечности - объём потребляемой apt'ом памяти не увеличивается до бесконечности. Т.е. - это всё-таки похоже верхняя граница размеров кеша, не влияет ни на что. (In reply to comment #14) > Attention to all who care of installers: > this change will double libapt memory requirements. rider@ reports different conclusions from some tests. > I'm quite sure some installers are not ready for this yet. It's a pity there is no automatic testing of the installation of automatically prepared distros in virtual machines (with limited resources). Then we could quickly see the facts (which installer got broken on which machine with the new apt)... Добавлю ещё слёз: вчера встретил человечка в Боровске, который вообще к Linux не имеет никакого отношения. Оказывается, он себе поставил Simply 7 и получил как раз это сообщение об ошибке при попытке накатить обновления. Как думаете, что он сделал дальше ? Вместо того, что бы погуглить - человек менял репозитории и даже переустановил систему, и это ничего не помогало. Говорит уже собрался убунту ставить, если б меня не встретил. Ребята, вообще нашими дистрибутивами оказывается простые смертные пользуются, не только админы и программеры. Надо понимать это, когда идёт речь про исправление ошибок. Ребята, вообще нашими дистрибутивами оказывается простые смертные пользуются, не только админы и программеры. Надо понимать это. Вот и я простной смертный подвис сейчас,не знаю что делать.Решил перейти на сезиф,и вот..... root@comp-celeron-cpu-d8743f ~]# apt-repo rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus i586 classic rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic [root@comp-celeron-cpu-d8743f ~]# apt-get update Получено: 1 http://ftp.altlinux.org i586 release [915B] Получено: 2 http://ftp.altlinux.org noarch release [709B] Получено 1624B за 4s (361B/s). Найдено http://ftp.altlinux.org i586/classic pkglist Найдено http://ftp.altlinux.org i586/classic release Найдено http://ftp.altlinux.org noarch/classic pkglist Найдено http://ftp.altlinux.org noarch/classic release Чтение списков пакетов... Ошибка! E: Dynamic MMap ran out of room E: При обработке python3-module-pyxmpp2 (NewVersion1) возникла ошибка E: Ошибка с MergeList /var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_noarch_base_pkglist.classic E: Невозможно прочитать список пакетов или файл статуса. [root@comp-celeron-cpu-d8743f ~]# (В ответ на комментарий №26) > E: Dynamic MMap ran out of room http://www.altlinux.org/Apt/TroubleShooting В Сизифе сейчас уже починили так: * Вт мар 31 2015 Gleb F-Malinovskiy <glebfm@altlinux.org> 0.5.15lorg2-alt50 - Increased default APT::Cache-Limit: + up to 96M on 64bit systems. + up to 80M on 32bit systems. В Сизифе сейчас уже починили так: * Вт мар 31 2015 Gleb F-Malinovskiy <glebfm@altlinux.org> 0.5.15lorg2-alt50 - Increased default APT::Cache-Limit: + up to 96M on 64bit systems. + up to 80M on 32bit systems. |