* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
@ 2018-10-06 8:14 ` Michael Shigorin
2018-10-06 13:57 ` Leonid Krivoshein
2018-10-15 22:54 ` Leonid Krivoshein
0 siblings, 2 replies; 8+ messages in thread
From: Michael Shigorin @ 2018-10-06 8:14 UTC (permalink / raw)
To: devel
On Fri, Oct 05, 2018 at 08:56:48PM +0000, Girar Builder pender robot wrote:
> http://git.altlinux.org/tasks/archive/done/_209/214195/logs/events.1.1.log
>
> 2018-Oct-05 20:45:59 :: task #214195 for sisyphus started by mike:
> #100 build 1.8.43-alt1 from /people/mike/packages/installer.git fetched at 2018-Oct-05 20:45:59
[...]
> 2018-Oct-05 20:56:48 :: task #214195 for sisyphus DONE
Это я вчера напоролся в очередной раз на то, что у нас после
инсталятора очень давно уже корневая файловая система вновь
установленной системы остаётся неотмонтированной -- на этот
раз опять выпало неоткатываемое состояние журнала, т.е. отказ
загрузки системы до fsck (которого в initrd, разумеется, нет).
Буду благодарен, если заинтересованные отсмотрят коммиты:
http://git.altlinux.org/people/mike/packages/?p=installer.git;a=summary
Ещё там надо бы поправить обработку ключевого слова poweroff:
https://bugzilla.altlinux.org/show_bug.cgi?id=35479
--
---- WBR, Michael Shigorin / http://altlinux.org
------ http://opennet.ru / http://anna-news.info
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 8:14 ` [devel] [#214195] DONE installer.git=1.8.43-alt1 Michael Shigorin
@ 2018-10-06 13:57 ` Leonid Krivoshein
2018-10-06 14:19 ` Michael Shigorin
2018-10-07 0:49 ` Leonid Krivoshein
2018-10-15 22:54 ` Leonid Krivoshein
1 sibling, 2 replies; 8+ messages in thread
From: Leonid Krivoshein @ 2018-10-06 13:57 UTC (permalink / raw)
To: devel
06.10.2018 11:14, Michael Shigorin пишет:
> On Fri, Oct 05, 2018 at 08:56:48PM +0000, Girar Builder pender robot wrote:
>> http://git.altlinux.org/tasks/archive/done/_209/214195/logs/events.1.1.log
>>
>> 2018-Oct-05 20:45:59 :: task #214195 for sisyphus started by mike:
>> #100 build 1.8.43-alt1 from /people/mike/packages/installer.git fetched at 2018-Oct-05 20:45:59
> [...]
>> 2018-Oct-05 20:56:48 :: task #214195 for sisyphus DONE
> Это я вчера напоролся в очередной раз на то, что у нас после
> инсталятора очень давно уже корневая файловая система вновь
> установленной системы остаётся неотмонтированной -- на этот
> раз опять выпало неоткатываемое состояние журнала, т.е. отказ
> загрузки системы до fsck (которого в initrd, разумеется, нет).
>
> Буду благодарен, если заинтересованные отсмотрят коммиты:
> http://git.altlinux.org/people/mike/packages/?p=installer.git;a=summary
>
> Ещё там надо бы поправить обработку ключевого слова poweroff:
> https://bugzilla.altlinux.org/show_bug.cgi?id=35479
>
Про юмор:
> still broken for me: catches the keyword but reboots
Не удивительно, ведь чтобы need_poweroff включился, у тебя /proc
_не_должен_ быть смонтирован (!) и ещё много чего... А если
need_poweroff таки включился, /proc здесь же отмонтируется (!), после
чего запись в /proc/sysrq-trigger не работает и много чего ещё,
например, больше ничего уже нельзя отмонтировать. :)
mount -n -t proc none /proc
mount: /proc: none already mounted or mount point busy.
А по существу:
Не похоже, что /etc/rc.d/init.d/halt из startup определяет нынче логику
выключения. Понять бы, что там с systemd, не евойные ли юниты виноваты в
некоторых странностях при отработке логики выключения. У меня, к
примеру, SWAP поверх 0-го LVM-рейда деактивируется исправно всегда. На
машинах же со SWAP'ом поверх MD-рейдов он с завидной стабильностью не
деактивируется и при каждом запуске systemd честно ждёт минуты полторы
рабочего SWAP'а, но из-за того, что не отработал mdadm -S /dev/mdX после
swapoff /dev/mdX при выключении. Вот это точно надо чинить до P9.
Наиболее часто в логах systemd вижу проблемы при отмонтировании /var/run:
Unmounting Runtime Directory...
umount: /var/run: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
var-run.mount: Mount process exited, code=exited status=32
Failed unmounting Runtime Directory.
и значительно реже:
umount: /run/user/500: not mounted
run-user-500.mount: Mount process exited, code=exited status=32
Unmounted /run/user/500.
run-user-500.mount: Unit entered failed state.
Но это на моей рабочей машине. Вот если кто знает, используется ли
systemd во время инсталляции, и как дебажить в нём размонтирование
корня, будет сподручней. Всей этой логике выключения/размонтирования в
инсталляторе не место, IMHO. А с /destination так вообще костыли для
бага -- в desktop-инсталляторе у меня ещё и рекурсивно раз 150 это всё
монтировалось. То есть не со следствием бороться надо, а искать источник
ошибки.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 13:57 ` Leonid Krivoshein
@ 2018-10-06 14:19 ` Michael Shigorin
2018-10-06 14:40 ` Leonid Krivoshein
2018-10-07 0:49 ` Leonid Krivoshein
1 sibling, 1 reply; 8+ messages in thread
From: Michael Shigorin @ 2018-10-06 14:19 UTC (permalink / raw)
To: devel
On Sat, Oct 06, 2018 at 04:57:51PM +0300, Leonid Krivoshein wrote:
> > Буду благодарен, если заинтересованные отсмотрят коммиты:
> > http://git.altlinux.org/people/mike/packages/?p=installer.git;a=summary
> > Ещё там надо бы поправить обработку ключевого слова poweroff:
> > https://bugzilla.altlinux.org/show_bug.cgi?id=35479
> Про юмор:
> > still broken for me: catches the keyword but reboots
> Не удивительно, ведь чтобы need_poweroff включился, у тебя
> /proc _не_должен_ быть смонтирован (!) и ещё много чего...
Почему? Это место как раз Глеб посмотрел (и нашёл там пару
ошибок, ага :) -- если /proc уже был смонтирован, что сейчас
_не_ так, то просто получим ещё один "на миллисекундочку"
смонтированный поверх него. Т.е. инвариант соблюдён.
> А если need_poweroff таки включился, /proc здесь же
> отмонтируется (!), после чего запись в /proc/sysrq-trigger
> не работает и много чего ещё, например, больше ничего уже
> нельзя отмонтировать. :)
По факту на момент ребута /proc остаётся смонтированным,
могу прислать вещдок. О, или сразу к баге его приложу, вот.
> А по существу:
>
> Не похоже, что /etc/rc.d/init.d/halt из startup определяет
> нынче логику выключения.
Там всё врукопашную в этом же install2-init.c.
> Вот если кто знает, используется ли systemd во время инсталляции
Нет; должно же у нас хоть что-то работать.
> А с /destination так вообще костыли для бага --
> в desktop-инсталляторе у меня ещё и рекурсивно раз 150 это всё
> монтировалось.
Это про livecd-install?
> То есть не со следствием бороться надо, а искать источник ошибки.
...и не смешивать совсем разные в одно. :)
Спасибо!
--
---- WBR, Michael Shigorin / http://altlinux.org
------ http://opennet.ru / http://anna-news.info
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 14:19 ` Michael Shigorin
@ 2018-10-06 14:40 ` Leonid Krivoshein
2018-10-07 0:12 ` Alexey V. Vissarionov
0 siblings, 1 reply; 8+ messages in thread
From: Leonid Krivoshein @ 2018-10-06 14:40 UTC (permalink / raw)
To: devel
06.10.2018 17:19, Michael Shigorin пишет:
> On Sat, Oct 06, 2018 at 04:57:51PM +0300, Leonid Krivoshein wrote:
>> Про юмор:
>> > still broken for me: catches the keyword but reboots
>> Не удивительно, ведь чтобы need_poweroff включился, у тебя
>> /proc _не_должен_ быть смонтирован (!) и ещё много чего...
> Почему? Это место как раз Глеб посмотрел (и нашёл там пару
> ошибок, ага :) -- если /proc уже был смонтирован, что сейчас
> _не_ так, то просто получим ещё один "на миллисекундочку"
> смонтированный поверх него. Т.е. инвариант соблюдён.
Не, у меня так именно с /proc не получается:
mount -n -t proc none /proc
mount: /proc: none already mounted or mount point busy.
WIFEXITED(system(...)) - да, тоже непривычно и вопреки логике.
Ну да, оно всегда будет завершаться "за миллискундочку". :)
>
>> А если need_poweroff таки включился, /proc здесь же
>> отмонтируется (!), после чего запись в /proc/sysrq-trigger
>> не работает и много чего ещё, например, больше ничего уже
>> нельзя отмонтировать. :)
> По факту на момент ребута /proc остаётся смонтированным,
> могу прислать вещдок. О, или сразу к баге его приложу, вот.
Я его уже видел:
Remains mounted: /dev
Remains mounted: /proc
Remains mounted: /destination
Remains mounted: /destination/dev
>> А по существу:
>>
>> Не похоже, что /etc/rc.d/init.d/halt из startup определяет
>> нынче логику выключения.
> Там всё врукопашную в этом же install2-init.c.
Отлично. Уже намного проще.
Вызвать /etc/rc.d/init.d/halt не вариант? В нём побольше нюансов учтено.
>
>> А с /destination так вообще костыли для бага --
>> в desktop-инсталляторе у меня ещё и рекурсивно раз 150 это всё
>> монтировалось.
> Это про livecd-install?
Угу.
>
>> То есть не со следствием бороться надо, а искать источник ошибки.
> ...и не смешивать совсем разные в одно. :)
Размонтировать корень не получится, пока не размонтируется всё остальное.
А здесь ещё может быть куча надстроек: LVM, RAID, шифрование... И не
только размонтирование.
Если они не деактивируются при выключении, отсутствие fsck в initrd
будет не самой страшной бедой.
Здесь же надо сначала понять, кто и когда съедает префикс "/mnt"...
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 14:40 ` Leonid Krivoshein
@ 2018-10-07 0:12 ` Alexey V. Vissarionov
0 siblings, 0 replies; 8+ messages in thread
From: Alexey V. Vissarionov @ 2018-10-07 0:12 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1535 bytes --]
On 2018-10-06 17:40:31 +0300, Leonid Krivoshein wrote:
>>> То есть не со следствием бороться надо, а искать источник
>>> ошибки.
>> ...и не смешивать совсем разные в одно. :)
> Размонтировать корень не получится, пока не размонтируется
> всё остальное.
Да и хрен с ним... на что нам параметр "-r" в umount дан?
> А здесь ещё может быть куча надстроек: LVM, RAID, шифрование...
RAID (насколько я понимаю, речь про CONFIG_MD_*) вообще трогать
не надо - писатели ядра намного умнее писателей костылей для
усерспейса, и поэтому все необходимые операции выполняются при
reboot(2). Шифрование, в зависимости от используемой реализации,
может как требовать плясок, но даже с ними приводить к потере
данных (dmcrypt), так и обходиться всего одним дополнительным
параметром "-d" при вызове umount (cryptoloop; несмотря на
активное противодействие со стороны RH, которые продвигают свой
devmapper, надежно работающих альтернатив ему просто нет). Про
надежность LVM я ничего говорить не буду, ибо лучше, чем кто-то
из RH, все равно не скажу: "это удобно, а для надежности есть
резервные копии".
> И не только размонтирование. Если они не деактивируются при
> выключении, отсутствие fsck в initrd будет не самой страшной
> бедой.
`umount -dranf` работает всегда и везде (разве что кроме совсем
упоротых конфигураций). Пользую. Рекомендую.
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 13:57 ` Leonid Krivoshein
2018-10-06 14:19 ` Michael Shigorin
@ 2018-10-07 0:49 ` Leonid Krivoshein
2018-10-07 8:48 ` Leonid Krivoshein
1 sibling, 1 reply; 8+ messages in thread
From: Leonid Krivoshein @ 2018-10-07 0:49 UTC (permalink / raw)
To: devel
06.10.2018 16:57, Leonid Krivoshein пишет:
> [...] с /destination так вообще костыли для бага -- в
> desktop-инсталляторе у меня ещё и рекурсивно раз 150 это всё
> монтировалось. То есть не со следствием бороться надо, а искать
> источник ошибки.
>
Уфф, долго же его искал!
commit 7b9f8e28bd8f7565a8c49c33502eaaf4290a2efe съел префикс "/mnt".
/destination появляется сразу после pivot_root, до этого в
/usr/sbin/install2 всё правильно.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-07 0:49 ` Leonid Krivoshein
@ 2018-10-07 8:48 ` Leonid Krivoshein
0 siblings, 0 replies; 8+ messages in thread
From: Leonid Krivoshein @ 2018-10-07 8:48 UTC (permalink / raw)
To: devel
07.10.2018 03:49, Leonid Krivoshein пишет:
> [...] с /destination так вообще костыли для бага -- в
> desktop-инсталляторе у меня ещё и рекурсивно раз 150 это всё
> монтировалось. То есть не со следствием бороться надо, а искать
> источник ошибки.
>
>
> Уфф, долго же его искал!
> commit 7b9f8e28bd8f7565a8c49c33502eaaf4290a2efe съел префикс "/mnt".
> /destination появляется сразу после pivot_root, до этого в
> /usr/sbin/install2 всё правильно.
>
Данный коммит не является источником искомого бага, невзирая на
комментарий. Съедание "/mnt" здесь -- это не баг, а особенность.
Напротив, стало спокойнее: никто ошибочно в /destination в параллель с
/mnt/destination ничего не пишет. Мишина отладка показывает, что баг в
другом -- killall() и umount_fs() не работают корректно в этом коде,
жёсткий umount -l /destination ситуацию немного улучшают. Предлагаю
всё-таки убрать отсюда "рукопашный" контроль выключения. Таск попробую
сегодня изобразить.
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] [#214195] DONE installer.git=1.8.43-alt1
2018-10-06 8:14 ` [devel] [#214195] DONE installer.git=1.8.43-alt1 Michael Shigorin
2018-10-06 13:57 ` Leonid Krivoshein
@ 2018-10-15 22:54 ` Leonid Krivoshein
1 sibling, 0 replies; 8+ messages in thread
From: Leonid Krivoshein @ 2018-10-15 22:54 UTC (permalink / raw)
To: devel
06.10.2018 11:14, Michael Shigorin пишет:
> [...]
> Это я вчера напоролся в очередной раз на то, что у нас после
> инсталятора очень давно уже корневая файловая система вновь
> установленной системы остаётся неотмонтированной -- на этот
> раз опять выпало неоткатываемое состояние журнала, т.е. отказ
> загрузки системы до fsck (которого в initrd, разумеется, нет).
Task #214967 должен исправить не только баг #35479 (poweroff), но и
выполнение пост-установочных скриптов последней стадии. Хвост вывода
установщика (прикреплен к багу) это отчётливо показывает -- вкрутил
недостающий баянчик. Прошу заинтересованных мейнтейнеров поревьювить
изменения. killall()/umount_fs() пока не стал трогать, но подготовил
рабочее решение для их замены тоже.
> Ещё там надо бы поправить обработку ключевого слова poweroff:
> https://bugzilla.altlinux.org/show_bug.cgi?id=35479
--
Best regards,
Leonid Krivoshein.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-10-15 22:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-06 8:14 ` [devel] [#214195] DONE installer.git=1.8.43-alt1 Michael Shigorin
2018-10-06 13:57 ` Leonid Krivoshein
2018-10-06 14:19 ` Michael Shigorin
2018-10-06 14:40 ` Leonid Krivoshein
2018-10-07 0:12 ` Alexey V. Vissarionov
2018-10-07 0:49 ` Leonid Krivoshein
2018-10-07 8:48 ` Leonid Krivoshein
2018-10-15 22:54 ` Leonid Krivoshein
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git