Bug 44108

Summary: Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке iso образа по сети целиком
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: make-initrd-bootchainAssignee: Leonid Krivoshein <klark>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: antohami, klark
Version: unstable   
Hardware: all   
OS: Linux   

Description Антон Мидюков 2022-10-21 13:38:35 MSK
Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке iso образа по сети целиком.
Для воспроизведения проблемы задаём method загрузки http, указываем неверный stagename, грузим нераспакованный iso. После загрузки iso, bootchain завершается критической ошибкой и ничего более не происходит.
Ожидаемое поведение: bootchain выдаёт критическую ошибку и происходит перезагрузка.
Comment 1 Leonid Krivoshein 2022-10-23 02:31:26 MSK
(Ответ для Антон Мидюков на комментарий #0)
> Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке
> iso образа по сети целиком.
Не совсем так, она обрабатывается. Предлагаю прицепить chaind.log с bc_debug.

> Ожидаемое поведение: bootchain выдаёт критическую ошибку и происходит
> перезагрузка.
В коде огромное число ошибок, которые приводят к такому же результату. В принципе, я согласен, что интереснее тут было бы увидеть диалог. Лишь в нескольких местах проверяется доступность диалогов и они выводятся -- только там, где такие же диалоги выдавал пропагатор. А, например, в init-bottom диалогов уже не было. Тут напрашивается некий системный условно-диалоговый вызов fatal().
Comment 2 Антон Мидюков 2022-10-24 06:56:22 MSK
(Ответ для Leonid Krivoshein на комментарий #1)
> (Ответ для Антон Мидюков на комментарий #0)
> > Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке
> > iso образа по сети целиком.
> Не совсем так, она обрабатывается. Предлагаю прицепить chaind.log с bc_debug.
>

Оно обрабатывается, вот только ошибки в логе не видать, если загрузиться без bc_debug. С bc_debug выдаёт в лог сообщение:
squashfs: second stage file not found: 'live'
cahind: [0] Handler failed (rc=1, try=1)
chaind: RUN: touch /.initrd/bootchain/passed/squashfs
chaind: remainig steps after breaking loop: squashfs,liveboot,rootfs
chaind: daemon terminated incorrectly (rc=1)

Хотелось бы увидеть это на /dev/console.

> > Ожидаемое поведение: bootchain выдаёт критическую ошибку и происходит
> > перезагрузка.
> В коде огромное число ошибок, которые приводят к такому же результату. В
> принципе, я согласен, что интереснее тут было бы увидеть диалог. Лишь в
> нескольких местах проверяется доступность диалогов и они выводятся -- только
> там, где такие же диалоги выдавал пропагатор. А, например, в init-bottom
> диалогов уже не было. Тут напрашивается некий системный условно-диалоговый
> вызов fatal().

Напрашивается текстовая ошибка с предложением перезагрузить или запустить rdshell.
Comment 3 Антон Мидюков 2023-05-03 12:51:23 MSK
Сейчас ситуация стала лучше, когда bootchain аварийно завершился, не найдя сквош, make-initrd сразу выбрасывает в rdshell, так как ждать нечего.
Comment 4 Leonid Krivoshein 2023-05-03 19:47:55 MSK
(Ответ для Антон Мидюков на комментарий #3)
> Сейчас ситуация стала лучше, когда bootchain аварийно завершился, не найдя
> сквош, make-initrd сразу выбрасывает в rdshell, так как ждать нечего.
А никакого диалога при этом не возникло? Каково ожидаемое поведение?
Comment 5 Антон Мидюков 2023-05-03 19:56:02 MSK
(Ответ для Leonid Krivoshein на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #3)
> > Сейчас ситуация стала лучше, когда bootchain аварийно завершился, не найдя
> > сквош, make-initrd сразу выбрасывает в rdshell, так как ждать нечего.
> А никакого диалога при этом не возникло? Каково ожидаемое поведение?

Не возникло, так как "некий системный условно-диалоговый вызов fatal()" не реализован в bootchain. Было бы хорошо, если бы такой был. Но и текущее поведение с rdshell определённо лучше, чем было. Теперь проблема не столь критична.
Comment 6 Repository Robot 2023-05-05 23:06:25 MSK
make-initrd-bootchain-0.1.5-alt15 -> sisyphus:

 Fri May 05 2023 Leonid Krivoshein <klark@altlinux> 0.1.5-alt15
 - interactive: introduce new IM_fatal() API call (ALT #44108)
 - switch to localdev boot method in any case
 - don't turn on lowmem mandatory for 'live' stage