Bug 31925 - Не даёт залогиниться с ошибкой libgcc_s.so.1 must be installed for pthread_cancel to work
Summary: Не даёт залогиниться с ошибкой libgcc_s.so.1 must be installed for pthread_ca...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: vsftpd (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL: https://bugzilla.redhat.com/show_bug....
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-27 20:31 MSK by Vitaly Lipatov
Modified: 2020-12-19 22:06 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2016-03-27 20:31:03 MSK
$ ftp vbox
Connected to vbox (192.168.0.23).
220 Welcome to Etersoft VirtualBox FTP service.
Name (vbox:lav): anonymous

331 Please specify the password.
Password:
libgcc_s.so.1 must be installed for pthread_cancel to work
Login failed.
421 Service not available, remote server has closed connection

При отслеживании vsftpd через strace:
[pid 16997] open("/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 4</lib64/libgcc_s.so.1>
[pid 16997] read(4</lib64/libgcc_s.so.1>, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240,\0\0\0\0\0\0"..., 832) = 832
[pid 16997] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 16997] mmap(NULL, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 16997] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 16997] mmap(NULL, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 16997] close(4</lib64/libgcc_s.so.1>) = 0

Проблема вызвана недостатком доступной процессу виртуальной памяти:
https://bugzilla.redhat.com/show_bug.cgi?id=913519

В качестве решения предлагается:
+-#define VSFTP_AS_LIMIT          100UL * 1024 * 1024
++#define VSFTP_AS_LIMIT          200UL * 1024 * 1024

Обходной способ: запустить сервис nscd, что уберёт подключение библиотек, ответственных за получение пользователей.
Comment 1 Dmitry V. Levin 2020-12-19 22:06:55 MSK
This was fixed in 3.0.3-alt1.