Bug 52376

Summary: Apt-get в контейнере зависает при установке или удалении любых пакетов
Product: Branch p11 Reporter: pfe
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: UNCONFIRMED --- QA Contact: qa-p11 <qa-p11>
Severity: normal    
Priority: P5 CC: amakeenk, iv, vt
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description pfe 2024-12-09 17:37:12 MSK
В контейнере alt:p11 на хостовой системе Fedora 41 при попытке установки или удаления любых пакетов apt-get зависает на несколько минут или даже десятков минут.

time apt-get -y install wget
...
62.96user 214.97system 4:40.62elapsed 99%CPU (0avgtext+0avgdata 153644maxresident)k

Эта ситуация описана в тикете на GitHub https://github.com/moby/moby/issues/23137#issuecomment-359097008

При подключении strace к процессу /usr/lib/apt/apt-get выводится то же самое сообщение, что и в тикете - постоянно бежит поток сообщений с увеличивающимся номером:
...
fcntl(358603852, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603853, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603854, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603855, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603856, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603857, F_GETFD)               = -1 EBADF (Bad file descriptor)
fcntl(358603858, F_GETFD^C)               = -1 EBADF (Bad file descriptor)
strace: Process 54 detached

Указанный в тикете рецепт также помогает, при установке ulimit -n 1024 команды в apt-get начинают выполняться без видимой задержки. Изначально значение ulimit -n такое:

[root@87bd392e1c46 /]# ulimit -n
1073741816

Проблема также воспризводится для alt:p10.

Проблема не воспризводится, если в качестве хостовой системя для Docker используется Ubuntu 24.04 LTS.

ИНформация о Fedora 41, в которой проблема воспроизводится:
# uname -a
Linux *** 6.11.10-300.fc41.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Nov 23 00:51:20 UTC 2024 x86_64 GNU/Linux

Есть подозрение, что ошибка в apt-get.
Comment 1 Ivan A. Melnikov 2024-12-09 18:03:02 MSK
(In reply to pfe from comment #0)
> Эта ситуация описана в тикете на GitHub
> https://github.com/moby/moby/issues/23137#issuecomment-359097008

Описаная в тикете проблема относится к RPM. В апстриме RPM она была исправлена так:

https://github.com/rpm-software-management/rpm/pull/444

Возможно, имеет смысл бекпотировать это в наш RPM.