Bug 29514 - поднять размеры внутренних буферов для поддержки репозитория autoimports.
: поднять размеры внутренних буферов для поддержки репозитория autoimports.
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/apt)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
: 30482
  Show dependency tree
 
Reported: 2013-10-24 00:29 by
Modified: 2014-11-18 14:44 (History)


Attachments
hsh.log.i586 (2.72 KB, application/octet-stream)
2013-10-29 17:19, viy
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2013-10-24 00:29:03
под i586 (но не x86_64) при подключении репозиториев mgaimport и autoimports 
apt отказывается работать с сообщением
E: Wow, you exceeded the number of versions this APT is capable of.

попробовал на всякий APT::Cache-Limit 200000000; - не помог.
------- Comment #1 From 2013-10-24 01:52:14 -------
Число версий превысило предельное значение 2^16-1 (unsigned short ID в
структуре pkgCache::Version), без увеличения типа ID (со сменой soname у
libapt) проблема не решается.  В качестве альтернативы могу предложить
отказаться от идеи подключать все мыслимые репозитории одновременно.
------- Comment #2 From 2013-10-24 02:39:58 -------
там по другому никак - mgaimport не замкнутый репозиторий,
его unmets можно удоволетворить только подключением одновременно
и Сизифа, и autoimports. Это и есть минимальное необходимое число репозиториев
:(
меньше некуда.

> В качестве альтернативы могу предложить
> отказаться от идеи подключать все мыслимые репозитории одновременно.
не подходит - не удастся сформировать сборочное окружение из-за unmets :(

со сменой soname у libapt - не так страшно? если заранее,
легче грабли оттестировать и выполоть.
------- Comment #3 From 2013-10-24 02:53:07 -------
кроме того, в mgaimport всего 1000 пакетов.
Это означает, что еще чуть-чуть и простое подключение autoimports 
к Сизифу будет ронять apt :(
------- Comment #4 From 2013-10-25 20:22:24 -------
(В ответ на комментарий №3)
> кроме того, в mgaimport всего 1000 пакетов.
> Это означает, что еще чуть-чуть и простое подключение autoimports 
> к Сизифу будет ронять apt :(

так как есть запас, то не обязательно ее выкладывать сразу в Сизиф,
главное, чтобы была официальная сборка. Я ее установлю на всех
виртуальных машинах, и это позволит мне продолжить работу.
А в Сизиф можно и немного позже.
------- Comment #5 From 2013-10-28 01:25:36 -------
Можно попробовать "поменять внутренности" таким образом:

--- a/apt/apt-pkg/pkgcache.h
+++ b/apt/apt-pkg/pkgcache.h
@@ -278,8 +278,8 @@ struct pkgCache::Version

    map_ptrloc Size;              // These are the .deb size
    map_ptrloc InstalledSize;
-   unsigned short Hash;
-   unsigned short ID;
+   unsigned long Hash;
+   unsigned int ID;
    unsigned char Priority;
 };

Возможно, после этого закончится еще какой-нибудь ресурс.
------- Comment #6 From 2013-10-29 17:19:53 -------
Created an attachment (id=5981) [details]
hsh.log.i586
------- Comment #7 From 2013-10-29 17:41:11 -------
Установил в host систему (autoextra, x86_64) патченный apt,
только там на всякий сделал int Hash вместо long Hash.
-   unsigned short Hash;
-   unsigned short ID;
+   unsigned int Hash;
+   unsigned int ID;
5 минут, полет нормальный.
Можно в production ;)
------- Comment #8 From 2013-10-30 17:20:18 -------
а когда будет официальный commit с soname change?
ABI ведь таки изменился, например, у меня лоально synaptic стал segfault'иться.
------- Comment #9 From 2014-03-07 22:24:18 -------
(В ответ на комментарий №8)
> а когда будет официальный commit с soname change?

Плюсую. Очень неудобно зоопарк поддерживать.
------- Comment #10 From 2014-03-11 00:36:32 -------
(In reply to comment #9)
> (В ответ на комментарий №8)
> > а когда будет официальный commit с soname change?
> 
> Плюсую. Очень неудобно зоопарк поддерживать.

Кто будет тестировать (авто?)пересобранные пакеты?
------- Comment #11 From 2014-03-11 00:54:55 -------
(В ответ на комментарий №10)
> Кто будет тестировать (авто?)пересобранные пакеты?

не совсем понял вопрос. Имеется в виду autoimports?
------- Comment #12 From 2014-03-11 01:30:09 -------
(In reply to comment #11)
> (В ответ на комментарий №10)
> > Кто будет тестировать (авто?)пересобранные пакеты?
> 
> не совсем понял вопрос. Имеется в виду autoimports?

Допустим, сейчас подзадание, в котором apt с увеличенными целочисленными типами
в этой структурке и увеличенным soname, соберется.  Что дальше?
------- Comment #13 From 2014-03-11 01:36:03 -------
apt с этим патчем у мены уже полгода работает, проблем быть не должно.
------- Comment #14 From 2014-03-11 02:00:45 -------
(In reply to comment #13)
> apt с этим патчем у мены уже полгода работает, проблем быть не должно.

Этому патчу еще и 5 месяцев не исполнилось, какие там полгода. :)

В task #116138 хорошо бы добавить несколько пакетов.
------- Comment #15 From 2014-03-11 02:15:43 -------
добавил, можно перезапускать:
 400:dir=/people/viy/packages/python-module-apt.git
 400:tag_name=0.5.15cnc6-alt5.1
 400:tag_id=b217272cd80d6e3c1a416deac3cc6aed3ae4cdd3
 400:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org>
 400:userid=viy
 500:dir=/people/viy/packages/synaptic.git
 500:tag_name=0.58-alt14.1
 500:tag_id=cebe93fcd5204c910281c692d335864395edccc0
 500:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org>
 500:userid=viy
 600:dir=/people/viy/packages/aptitude.git
 600:tag_name=0.4.5-alt6.1
 600:tag_id=fa35846df6d94c4f0a89571496694b51d69bda5e
 600:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org>
 600:userid=viy
 700:dir=/people/viy/packages/apt-indicator.git
 700:tag_name=0.2.10-alt1.1
 700:tag_id=df81fd0a8a6011251f567ae324aed8544cb1f901
 700:tag_author=Igor Vlasenko (ALT Linux Sisyphus) <viy@altlinux.org>
 700:userid=viy
------- Comment #16 From 2014-03-11 17:32:54 -------
apt-0.5.15lorg2-alt44 -> sisyphus:

* Tue Mar 11 2014 Dmitry V. Levin <ldv@altlinux> 0.5.15lorg2-alt44
- libapt: enlarged integer types in pkgCache::Version (closes: #29514).
------- Comment #17 From 2014-03-11 18:18:06 -------
Спасибо!