ALT Linux Team development discussions
 help / color / mirror / Atom feed
* 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