Bug 53541 - Ошибка synchronous exception при EFI загрузке
Summary: Ошибка synchronous exception при EFI загрузке
Status: CLOSED FIXED
Alias: None
Product: Branch p11
Classification: Unclassified
Component: grub-efi (show other bugs)
Version: unspecified
Hardware: aarch64 Linux
: P5 blocker
Assignee: Egor Ignatov
QA Contact: qa-p11@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-20 07:24 MSK by Alexei Takaseev
Modified: 2025-04-18 14:53 MSK (History)
9 users (show)

See Also:


Attachments
файл с ошибкой загрузки (26.46 KB, image/jpeg)
2025-03-22 18:19 MSK, Mikhail Ananev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexei Takaseev 2025-03-20 07:24:31 MSK
После обновления до grub-efi-2.12-alt10.aarch64 содержимое файла /boot/efi/EFI/BOOT/grub.cfg приобретает такое значение:

search --root-dev-only --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

И в итоге при загрузке не доходит до меню grub с выводом ошибки Synchronous exception at (и тут 16-ричный адрес)

Если вручную вернуть файлу прежнее значение, загрузка проходит успешно.
Comment 1 Alexei Takaseev 2025-03-20 07:25:59 MSK
Забыл приложить содержимое рабочего файла:

clear
search.fs_uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8 root
set prefix=($root)'/boot/grub'
load_env grub_token
if [ "$grub_token" != "fh6oi1bv6hek9hlqekpi5iuj" ]; then
  echo ERROR: incorrect grub_token in $prefix/grubenv.
  echo Entering firmware setup in
  sleep -v -i 10
  fwsetup
  reboot
fi
configfile $prefix/grub.cfg
Comment 2 Антон Мидюков 2025-03-20 07:42:06 MSK
Проблема в строчке:
search --root-dev-only --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
?
Если поменять на
search.fs_uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8 root

будет грузиться?
Comment 3 Alexei Takaseev 2025-03-20 12:11:39 MSK
(Ответ для Антон Мидюков на комментарий #2)
> Проблема в строчке:
> search --root-dev-only --set=root --fs-uuid
> 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
> ?
> Если поменять на
> search.fs_uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8 root
> 
> будет грузиться?

Да, при замене строки из старого конфига загрузка проходит нормально.
Comment 4 obidinog@basealt.ru 2025-03-21 15:40:44 MSK
Платформа:
alt-server p11 aarch64

Пакет:
grub-efi-2.12-alt10.aarch64

Шаги:
Установил систему и обновил до репозитория

Файл /boot/efi/EFI/BOOT/grub.cfg имеет правильное содержимое после обновления
search.fs_uuid 610bc381-1d2f-4cb4-9cbc-efc8c90fbac8 root hd0,gpt3 

Ошибка не воспроизводится

Дополнительно выполнил:
# update-grub
# grub-mkconfig

Результат аналогичный, ничего не сломалось, ошибка не воспроизвелась
Comment 5 Alexei Takaseev 2025-03-22 18:17:07 MSK
(Ответ для obidinog@basealt.ru на комментарий #4)
> Платформа:
> alt-server p11 aarch64
> 
> Пакет:
> grub-efi-2.12-alt10.aarch64
> 
> Шаги:
> Установил систему и обновил до репозитория
> 
> Файл /boot/efi/EFI/BOOT/grub.cfg имеет правильное содержимое после обновления
> search.fs_uuid 610bc381-1d2f-4cb4-9cbc-efc8c90fbac8 root hd0,gpt3 
> 
> Ошибка не воспроизводится
> 
> Дополнительно выполнил:
> # update-grub
> # grub-mkconfig
> 
> Результат аналогичный, ничего не сломалось, ошибка не воспроизвелась

А можете ли проверить у себя используя за основу starterkit? У меня именно стартеркит, и еще у одного человека так же проявилась такая же проблема и так же на стартерките.
Comment 6 Mikhail Ananev 2025-03-22 18:19:57 MSK
Created attachment 18069 [details]
файл с ошибкой загрузки
Comment 7 Mikhail Ananev 2025-03-22 18:25:18 MSK
Я столкнулся с аналогичной ошибкой. Для воспроизведения понадобится starter-kit p11 (alt-p11-lxqt-20250312-aarch64.iso)

Исходные условия: Mac M1, UTM (4.6.4), ставим ОС и перезагружаемся.
1. Обновляем систему `apt-get dist-upgrade -y`
2. Перезагружаемся и система перестает загружаться. Файл /boot/efi/EFI/BOOT/grub.cfg приобрел вид как на картинке (файл с ошибкой)
3. Исправляем вручную файл на исходное значение с помощью rescue disk, какой он был до обновления системы.
4. Система загружается.
Comment 8 Ivan A. Melnikov 2025-04-02 18:20:32 MSK
Сегодня видели похожую ошибку на Baikal-M. jqt4@ исследовал проблему, и получил, что grub-efi-2.12-alt6 работает, grub-efi-2.12-alt7 нет, хотя в /boot/efi/EFI/BOOT/grub.cfg выглядит "по старому". Однако если вынуть USB-флешку, с которой была установлена система, всё нормально загружается и работает.

Пришлось немного копнуть внутрь.

Фразу "Synchronous excetpion at ..." скороее всего пишет EFI (похожий код есть в edk2), и она означает, что случилось синхоронное исключение. Такое исключение может быть вызвано
- неподдерживаемой инструкцией
- попыткой доступа к памяти (SEGFAULT, только без ОС чтобы обработать его и прислать сигнал)
- специальной инструкцией для вызова исключений

Подозреваю, что мы имеем дело со вторым случаем, то есть обращением к недоступной памяти.

Если всё это так, то воспроизведение ошибки сильно зависит от оборудования и реализации EFI, которая в нём используется.


Хочу уточнить у других пострадавших:

I. А если проблемную строчку

search --root-dev-only --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8

заменить на 

search --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8

то есть, удалить первый аргумент команды search, проблема воспроизводится?


II. Воспроизводится ли проблема, если вынуть из системы все USB-флешки и подобные removable устройства?
Comment 9 Ivan A. Melnikov 2025-04-02 18:43:47 MSK
Кажется, у нас такого не было, поэтому я просто оставлю это здесь:

https://src.fedoraproject.org/rpms/grub2/c/20db2b22d863543f0f31b4c54cc7e65923473f62?branch=rawhide
Comment 10 Andrew Vasilyev 2025-04-02 20:15:51 MSK
  Ошибка по-прежнему не исправлена, на aarch64 после обновления
  система не загружается! (grub-efi-2.12-alt10)
Comment 11 Антон Мидюков 2025-04-02 20:26:13 MSK
(Ответ для Andrew Vasilyev на комментарий #10)
>   Ошибка по-прежнему не исправлена, на aarch64 после обновления
>   система не загружается! (grub-efi-2.12-alt10)

У меня на Orange Pi 5, Raspberry Pi 4B, NanoPC T4 проблема не воспроизводится.
Comment 12 Andrew Vasilyev 2025-04-02 20:39:20 MSK
(Ответ для Антон Мидюков на комментарий #11)
> (Ответ для Andrew Vasilyev на комментарий #10)
> >   Ошибка по-прежнему не исправлена, на aarch64 после обновления
> >   система не загружается! (grub-efi-2.12-alt10)
> 
> У меня на Orange Pi 5, Raspberry Pi 4B, NanoPC T4 проблема не
> воспроизводится.

  Воспроизводится на виртуалке qemu, запущенной на Mac M3 :-)
  Патч из Федоры выглядит разумным.
Comment 13 Anton Vyatkin 2025-04-02 22:02:44 MSK
Mac M3, UTM (4.6.3)
система sisyphus. Проблема воспроизводится.

Если загрузившись в livecd поменять
search --root-dev-only --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
на 
search --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
то загружается.
Comment 14 Egor Ignatov 2025-04-03 12:33:15 MSK
Похоже что проблему может исправить этот патч:
https://src.fedoraproject.org/rpms/grub2/c/0a3394ca4b9865770a05f13762e0a8b3041c2bba?branch=rawhide
Comment 15 Egor Ignatov 2025-04-03 17:44:26 MSK
(In reply to Egor Ignatov from comment #14)
> Похоже что проблему может исправить этот патч:
> https://src.fedoraproject.org/rpms/grub2/c/
> 0a3394ca4b9865770a05f13762e0a8b3041c2bba?branch=rawhide

Приложил этот патч в grub-2.12-alt11:
https://packages.altlinux.org/en/tasks/379762/
(Таск FAILED из-за grub-efi-checkinstall, обновиться до него все равно можно, не работает только Secure Boot)

Если есть такая возможность, то прошу проверить загружается ли система с ним.
Comment 16 Anton Vyatkin 2025-04-03 18:32:05 MSK
Обновился из задания:
https://packages.altlinux.org/en/tasks/379762/
Все работает.
содержимое /boot/efi/EFI/altlinux/grub.cfg:
search --root-dev-only --set=root --fs-uuid ca4b1418-3e47-4278-89f0-e0dc3adb6be5
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Mac M3, UTM (4.6.3), sisyphus.

Спасибо.
Comment 17 Alexei Takaseev 2025-04-04 08:09:56 MSK
(Ответ для Egor Ignatov на комментарий #15)
> (In reply to Egor Ignatov from comment #14)
> > Похоже что проблему может исправить этот патч:
> > https://src.fedoraproject.org/rpms/grub2/c/
> > 0a3394ca4b9865770a05f13762e0a8b3041c2bba?branch=rawhide
> 
> Приложил этот патч в grub-2.12-alt11:
> https://packages.altlinux.org/en/tasks/379762/
> (Таск FAILED из-за grub-efi-checkinstall, обновиться до него все равно
> можно, не работает только Secure Boot)
> 
> Если есть такая возможность, то прошу проверить загружается ли система с ним.

C grub-common-2.12-alt11.aarch64, grub-efi-2.12-alt11.aarch64 и файлом /boot/efi/EFI/altlinux/grub.cfg:

search --root-dev-only --set=root --fs-uuid 19980fef-e6de-4f11-9fed-a6ced7e6a9a8
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg


на OrangePI5 и p11 загрузка начала проходить нормально
Comment 18 jqt4@altlinux.org 2025-04-04 12:33:35 MSK
Установил образ http://get.srt.basealt.ru/images/server/alt-server-20250401-aarch64.iso с grub-efi-2.12-alt10.aarch64 на TF307-MB-S-D, прошивка SDK 5.6.
После перезагрузки получил надпись Synchronous Exception at 0x...
Проблема воспроизведена.
Отключил USB SSD. Перезагрузил. Успешно загрузилась в систему.
Установил grub-efi-2.12-alt11.aarch64 из задачи 379762.
Подключил USB SSD. Перезагрузил. Успешно загрузилась в систему.
Отключил USB SSD. Перезагрузил. Успешно загрузилась в систему.
Проблема не воспроизводится.

Спасибо.
Comment 19 jqt4@altlinux.org 2025-04-11 17:14:27 MSK
Прошу собрать grub-efi с исправлением данной проблемы в p11.
Он нужен для дистрибутивных образов под aarch64.
Comment 20 Ivan A. Melnikov 2025-04-11 17:56:03 MSK
> Приложил этот патч в grub-2.12-alt11:
> https://packages.altlinux.org/en/tasks/379762/

В Сизифе, кстати, задача ещё TESTED. Что-то сдерживает от запуска её с --commit?
Comment 21 Egor Ignatov 2025-04-11 18:41:21 MSK
(In reply to jqt4@altlinux.org from comment #19)
> Прошу собрать grub-efi с исправлением данной проблемы в p11.
> Он нужен для дистрибутивных образов под aarch64.

Да это в планах, сейчас проводится регрессионное тестирование в сизифе.

(In reply to Ivan A. Melnikov from comment #20)
> > Приложил этот патч в grub-2.12-alt11:
> > https://packages.altlinux.org/en/tasks/379762/
> 
> В Сизифе, кстати, задача ещё TESTED. Что-то сдерживает от запуска её с
> --commit?

Сразу после тестирования и исправления найденных недочетов, задание будет отправлено с --commit.
Comment 22 Repository Robot 2025-04-18 14:53:37 MSK
grub-2.12-alt11 -> p11:

 Mon Mar 31 2025 Egor Ignatov <egori@altlinux> 2.12-alt11
 - bump grub SBAT level to 5
 - cmd/search: Fix a possible NULL ptr dereference (closes: #53541)
 - efi: add raid5rec module to efi image
 - legacy: include raid5rec in core.img for RAID 4
 - add upstream security patch set 2025-02-18:
   (fixes: CVE-2024-45774, CVE-2024-45775, CVE-2024-45776, CVE-2024-45777)
   (fixes: CVE-2024-45778, CVE-2024-45779, CVE-2024-45780, CVE-2024-45781)
   (fixes: CVE-2024-45782, CVE-2024-45783, CVE-2024-56737, CVE-2025-0622)
   (fixes: CVE-2025-0624, CVE-2025-0677 CVE-2025-0678, CVE-2025-0684)
   (fixes: CVE-2025-0685, CVE-2025-0686, CVE-2025-0689, CVE-2025-0690)
   (fixes: CVE-2025-1118, CVE-2025-1125)