* 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