[devel] Обновление до Samba-4.7 (проблема с tty-ask-password-agent)
Evgeny Sinelnikov
sin на altlinux.org
Пн Мар 26 15:25:42 MSK 2018
Здравствуйте,
В общем, проблему удалось локализовать. К такому странному эффекту у
нас приводит опция --foreground, которая прописана в новых
service-файлах.
commit e90e3d7efb555dc430ba47c433c96f4f4835f33f
Author: Andreas Schneider <asn at samba.org>
Date: Fri Nov 10 09:32:27 2017 +0100
systemd: Start processes in forground and without a process group
We should not double fork in notify mode or systemd think something
during startup will be wrong and send SIGTERM to the process. So
sometimes the daemon will not start up correctly.
systemd will also handle the process group.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13129
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
(cherry picked from commit 8b6f58194da7e849cdb9d20712dff49b17a93a77)
diff --git a/packaging/systemd/samba.service b/packaging/systemd/samba.service
index 824f89c..1b64c3b 100644
--- a/packaging/systemd/samba.service
+++ b/packaging/systemd/samba.service
@@ -8,7 +8,7 @@ NotifyAccess=all
PIDFile=/run/samba.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
-ExecStart=/usr/sbin/samba $SAMBAOPTIONS
+ExecStart=/usr/sbin/samba --foreground --no-process-group $SAMBAOPTIONS
ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
Причина фантомного запуска systemd-tty-ask-password-agent,
предположительно, связана с дефолтным поведением systemd, при наличии
открытых файловых дескрипторов (тут нужно внимательнее посмотреть на
поведение опции --foreground, такое поведение должно быть только с
опцией --interactive).
Планирую убрать опцию --foreground, а --no-process-group оставить.
26 марта 2018 г., 1:51 пользователь Evgeny Sinelnikov
<sin at altlinux.org> написал:
> Здравствуйте,
>
> я подготовил сборку samba-4.7.6:
> #201848 TESTED #3 [test-only] sisyphus libtalloc.git=2.1.12-alt1%ubt
> libtdb.git=1.3.15-alt1%ubt libtevent.git=0.9.36-alt1%ubt
> libldb.git=1.3.2-alt1%ubt samba.git=4.7.6-alt1%ubt
> samba-DC.git=dc/4.7.6-alt1%ubt openchange.git=2.4-alt23.zentyal23%ubt
> sssd.git=1.16.1-alt2%ubt freeipa.git=4.6.3-alt4%ubt
>
> но столкнулся со странной проблемой при обновлении (на текущей
> samba-4.6.14 я такой проблемы не наблюдаю) - при старте samba (которая
> успешно запускается) через systemctl процесс systemd где-то подвисает:
> root 1329 0.0 0.3 49048 5164 ? Ss 00:09 0:00
> /usr/sbin/sshd -D
> root 16841 0.0 0.4 85592 6236 ? Ss 00:24 0:00 \_
> sshd: vagrant [priv]
> vagrant 16845 0.1 0.3 85592 4820 ? S 00:24 0:00 |
> \_ sshd: vagrant at pts/0
> vagrant 16846 0.1 0.3 19464 5476 pts/0 Ss 00:24 0:00 |
> \_ -bash
> root 16956 0.0 0.2 49224 3644 pts/0 S+ 00:26 0:00 |
> \_ sudo apt-get dist-upgrade
> root 16957 16.8 10.5 213056 156756 pts/0 S+ 00:26 0:03 |
> \_ apt-get dist-upgrade
> root 16980 0.0 0.1 8464 2524 pts/0 S+ 00:26 0:00 |
> \_ /bin/sh /tmp/.private/root/rpm-tmp.4NuIOg 2
> root 16981 0.0 0.1 8464 2408 pts/0 S+ 00:26 0:00 |
> \_ /bin/sh /usr/sbin/post_service samba
> root 16997 0.0 0.3 66800 5632 pts/0 S+ 00:26 0:00 |
> \_ systemctl try-restart samba.service
>
> При повторном рестарте вручную видно следующую картину:
> root 1329 0.0 0.3 49048 5164 ? Ss 00:09 0:00
> /usr/sbin/sshd -D
> root 16841 0.0 0.4 85592 6236 ? Ss 00:24 0:00 \_
> sshd: vagrant [priv]
> vagrant 16845 0.0 0.3 85592 4820 ? S 00:24 0:00 |
> \_ sshd: vagrant at pts/0
> vagrant 16846 0.0 0.3 19464 5476 pts/0 Ss 00:24 0:00 |
> \_ -bash
> root 18160 0.0 0.2 49224 3668 pts/0 S+ 00:34 0:00 |
> \_ sudo systemctl restart samba
> root 18161 0.0 0.3 66800 5612 pts/0 S+ 00:34 0:00 |
> \_ systemctl restart samba
> root 18162 0.0 0.2 65044 3156 pts/0 S+ 00:34 0:00 |
> \_ /sbin/systemd-tty-ask-password-agent --watch
>
> Ошибка эта воспроизводится в различных конфигурациях и дистрибутивах:
> - https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1456789
> - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774153
> - https://github.com/NixOS/nixpkgs/issues/2584
>
> У нас что-то подобное тоже проявляется:
> https://bugzilla.altlinux.org/show_bug.cgi?id=34298
>
> Очевидно тут ещё вот что - проблема проявляется только в новой версии.
> А значит в ней есть какая-то важная особенность. В чём она состоит я
> пока не разобрался.
>
>
> PS: Есть по сборке несколько моментов, которые нужно учесть, но сейчас
> речь не о них:
> - версии libtevent-0.9.36 и ldb-1.3.2 (стоит ли её использовать вместо
> ldb-1.2.3? С ходу я ничего крамольного по ABI не встретил и решил
> потестировать);
> - сборку с нативным Kerberos я отложил до следующего релиза alt2,
> чтобы ловить регрессии по частям.
>
> --
> Sin (Sinelnikov Evgeny)
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки Devel