Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке iso образа по сети целиком. Для воспроизведения проблемы задаём method загрузки http, указываем неверный stagename, грузим нераспакованный iso. После загрузки iso, bootchain завершается критической ошибкой и ничего более не происходит. Ожидаемое поведение: bootchain выдаёт критическую ошибку и происходит перезагрузка.
(Ответ для Антон Мидюков на комментарий #0) > Не обрабатывается ошибка отсутствия сквоша с заданным именем при загрузке > iso образа по сети целиком. Не совсем так, она обрабатывается. Предлагаю прицепить chaind.log с bc_debug. > Ожидаемое поведение: bootchain выдаёт критическую ошибку и происходит > перезагрузка. В коде огромное число ошибок, которые приводят к такому же результату. В принципе, я согласен, что интереснее тут было бы увидеть диалог. Лишь в нескольких местах проверяется доступность диалогов и они выводятся -- только там, где такие же диалоги выдавал пропагатор. А, например, в init-bottom диалогов уже не было. Тут напрашивается некий системный условно-диалоговый вызов fatal().
(Ответ для 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.