Ошибки сегментации на Ubuntu 22.04

Вопрос или проблема

Я испытываю сбои сегментации на Ubuntu 22.04 и хотел бы попросить помощи в отладке.

Я получил некоторые сообщения при выполнении sudo apt-get update: Сбой сегментации... 52%

При запуске обновления программного обеспечения я получаю: update-manager завершился аварийно с SIGSEV

Другой случай был при удалении окружения conda.

Иногда при запуске python-скриптов в spyder:

/home/max/anaconda3/envs/spyder-env/lib/python3.11/site-packages/spyder/plugins/ipythonconsole/scripts/conda-activate.sh: строка 18: 1216748 Сбой сегментации      (сохранен дамп памяти) $CONDA_ENV_PYTHON -m spyder_kernels.console -f $SPYDER_KERNEL_SPEC

Серьезная ошибка Python: Сбой сегментации

Основной поток:
Текущий поток 0x00007bc69791f440 (последний вызов первым):
  Файл "/media/max/Workspace/Code/attention_states/tests/../src/temporal_response_function.py", строка 55 в trf_train
  Файл "/media/max/Workspace/Code/attention_states/tests/../src/temporal_response_function.py", строка 135 в trf_cross_val
  Файл "/media/max/Workspace/Code/attention_states/tests/../src/utils.py", строка 128 в trf_region
  Файл "<stdin>", строка 1 в <module>
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spyderpdb.py", строка 268 в default
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/cmd.py", строка 214 в onecmd
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/pdb.py", строка 853 в onecmd
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spyderpdb.py", строка 683 в cmdloop
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spyderpdb.py", строка 653 в _cmdloop
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spyderpdb.py", строка 333 в interaction
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/pdb.py", строка 437 в user_line
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/bdb.py", строка 122 в dispatch_line
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/bdb.py", строка 96 в trace_dispatch
  Файл "/media/max/Workspace/Code/attention_states/tests/global_signal_phonemes_all.py", строка 327 в <module>
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/bdb.py", строка 651 в run
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spyderpdb.py", строка 900 в run
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spydercustomize.py", строка 473 в exec_code
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spydercustomize.py", строка 615 в _exec_file
  Файл "/home/max/anaconda3/envs/attention_states/lib/python3.13/site-packages/spyder_kernels/customize/spydercustomize.py", строка 660 в debugfile
  Файл "/tmp/ipykernel_1216748/3781023966.py", строка 1 в <module>

Перезапуск ядра...

Кроме того, другие программы, такие как Visual Studio или Google Chrome, аварийно завершаются без ошибок.

Некоторые выводы из journalctl:

02 дек 15:51:06 max-workstation kernel: nvidia: лицензия модуля 'NVIDIA' портит ядро.
02 дек 15:51:06 max-workstation kernel: Отключение отладки блокировок из-за порчи ядра
02 дек 15:51:06 max-workstation kernel: nvidia: проверка модуля не прошла: подпись и/или необходимый ключ отсутствует - порча ядра
02 дек 15:51:06 max-workstation kernel: nvidia: лицензия модуля портит ядро.
02 дек 15:51:06 max-workstation kernel: nvidia-nvlink: идет инициализация Nvlink Core, основной номер устройства 234
02 дек 15:51:24 max-workstation kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить право на режим
02 дек 15:51:06 max-workstation kernel: Предупреждение ACPI: \_SB.PC00.PEG1.PEGP._DSM: Несоответствие типа аргумента #4 - Найден [Buffer], ACPI требует [Package] (20230628/nsarguments-61)
02 дек 15:51:06 max-workstation kernel: Ошибка BIOS ACPI (ошибка): Не удалось создать именованный объект [\_SB.PC00.PEG1.PEGP._DSM.USRG], AE_ALREADY_EXISTS (20230628/dsfield-184)
02 дек 15:51:06 max-workstation kernel: Ошибка ACPI: AE_ALREADY_EXISTS, Не удалось создать BufferField (20230628/dswload2-477)
02 дек 15:51:30 max-workstation kernel: i2c_designware i2c_designware.0: контроллер превышает время ожидания
02 дек 15:00:56 max-workstation kernel: BUG: Плохое состояние страницы в процессе apport  pfn:35cb34
02 дек 15:00:56 max-workstation kernel: page:00000000defb099e refcount:0 mapcount:129 mapping:0000000000000000 index:0x1 pfn:0x35cb34
02 дек 15:00:56 max-workstation kernel: memcg:17ffffc0000000
02 дек 15:00:56 max-workstation kernel: флаги анонимности: 0xdead000000000100(active|node=890|zone=5|lastcpupid=0x140000)
02 дек 15:00:56 max-workstation kernel: тип страницы: 0x80()
02 дек 15:00:56 max-workstation kernel: сырые данные: dead000000000100 dead000000000100 dead000000000122 0000000000000001
02 дек 15:00:56 max-workstation kernel: сырые данные: 0000000000000001 0000000000000000 0000000000000080 0017ffffc0000000
02 дек 15:00:56 max-workstation kernel: страница сброшена из-за: страница все еще заряжена на cgroup
02 дек 15:00:56 max-workstation kernel: Подключенные модули: tls xt_mark xt_cgroup xt_comment rfcomm snd_seq_dummy snd_hrtimer qrtr nvidia_uvm(POE) cmac algif_hash algif_skcipher af_alg>
02 дек 15:00:56 max-workstation kernel:  irqbypass snd_intel_sdw_acpi crct10dif_pclmul snd_hda_codec polyval_clmulni libarc4 snd_usb_audio polyval_generic snd_hda_core ghash_clmulni_i>
02 дек 15:00:56 max-workstation kernel:  pinctrl_alderlake
02 дек 15:00:56 max-workstation kernel: CPU: 26 PID: 14929 Команда: apport Порчено: P           OE      6.8.0-49-generic #49-Ubuntu
02 дек 15:00:56 max-workstation kernel: Название оборудования: ASUS System Product Name/ROG STRIX Z690-E GAMING WIFI, BIOS 4001 10/04/2024
02 дек 15:13:52 max-workstation kernel: conda[27217]: сбой сегментации на 59 ip 000000000056e762 sp 00007ffe27297e60 ошибка 6 в python3.10[41f000+1fb000] вероятно на CPU 4 (core 8, socket 0)
02 дек 15:13:52 max-workstation kernel: Код: 38 49 c7 44 24 48 00 00 00 00 48 85 ff 0f 85 9b 00 00 00 48 85 d2 0f 85 de 00 00 00 4d 85 ff 0f 85 bf 00 00 00 49 8b 4c 24 10 <48> c7 41 >

Попробовал до сих пор:

  • Переустановил spyder
  • Создал новое окружение conda с переустановкой всех используемых мной пакетов.
  • Выполнил conda clean -a
  • Выполнил обновление и улучшение с помощью apt-get
  • Запустил memtest, который прошел без ошибок
  • Нагрузил ЦП
  • Попытался исправить поврежденные пакеты в режиме восстановления, что привело к сбою сегментации.
  • Обновил BIOS
  • Обновил до Ubuntu 24.04

Есть ли у кого-нибудь предложения, как найти корень этой проблемы? Я мог бы переустановить Ubuntu, но хотел бы понять, что происходит.

Ответ или решение

Устранение ошибки сегментации в Ubuntu 22.04: Полное руководство

Сегментационные ошибки (segmentation faults) — это распространенные проблемы в операционных системах на базе Linux, которые могут возникать по множеству причин. Давайте подробно рассмотрим ваш случай на Ubuntu 22.04, в частности, ошибки во время обновления системы, удалении среды Conda и запуске Python-скриптов.

Проблема

Вы столкнулись с несколькими симптомами, включая:

  1. Ошибка при обновлении системы: Segmentation faultsts... 52%
  2. Сбой утилиты обновления: update-manager crashed with SIGSEV
  3. Ошибка при удалении среды Conda.
  4. Сегментационные ошибки при запуске скриптов в Spyder.
  5. Система возвращает журнал ошибок от ядра, связанный с драйверами NVIDIA.

На основании предоставленных вами данных, можно предположить несколько возможных причин данной проблемы, включая:

  • Неправильная установка или конфликт драйверов (особенно с NVIDIA).
  • Поврежденные или несоответствующие библиотеке или пакетам.
  • Проблемы с памятью или конфигурацией аппаратного обеспечения.

Шаги диагностики и устранения

1. Проверка состояния оборудования

Поскольку вы уже провели тестирование памяти (memtest) и нагрузочное тестирование процессора, это исключает наиболее очевидные аппаратные проблемы. Однако важно также проверить:

  • Состояние жесткого диска (можно использовать SMART для диагностики).
  • Наличие обновлений BIOS (вы отметили, что обновили BIOS).

2. Драйверы NVIDIA

Записи из journalctl указывают на потенциальные проблемы с драйверами NVIDIA, которые могут вызывать сбои в разных приложениях:

  • Попробуйте переустановить драйверы NVIDIA. Вы можете сделать это с помощью следующих команд:
sudo apt-get purge nvidia*
sudo ubuntu-drivers autoinstall

После переустановки рекомендуется перезагрузить систему.

3. Проверка зависимостей и пакетов

Поскольку вы упомянули, что использовали conda, убедитесь, что используемая вами среда Conda корректно настроена:

  • Создайте новую среду conda и установите только необходимые пакеты, что уже делали, но попробуйте еще раз с минимальным набором:
conda create -n new-env python=3.10 (или другую версию)
  • Убедитесь, что все используемые пакеты совместимы с установленной версией Python.

4. Контроль системных журналов

Записи, связанные с ACPI и i2c_designware, могут указывать на проблему в аппаратной поддержке. Попробуйте посмотреть:

dmesg | grep ACPI
dmesg | grep i2c

Это может дать больше информации о том, происходит ли что-то необъяснимое на уровне оборудования.

5. Проверка системы на наличие поврежденных пакетов

Запустите апгрейд и проверьте наличие поврежденных пакетов:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install

Также можно временно отключить сторонние PPA (если они имеются) и проверить, сохраняется ли проблема.

6. Логирование ошибок и анализ дампов

Когда возникает ошибка сегментации, это часто приводит к созданию дампов памяти (core dumps). Убедитесь, что у вас включено создание дампов для анализа, это поможет выявить источник проблемы:

ulimit -c unlimited

7. Переустановка Ubuntu

Если указанные выше шаги не приводят к разрешению проблемы, возможно, стоит рассмотреть вариант переустановки системы. Однако, прежде чем переходить к крайним мерам, убедитесь, что вы сделали резервные копии всех данных и конфигураций.

Заключение

Сегментационные ошибки в Ubuntu 22.04 могут быть вызваны целым рядом факторов, и ваше описание ситуации дает нам хорошие зацепки для диагностики. Пошаговый подход к устранению неполадок, начиная от проверки оборудования и заканчивая переустановкой драйверов и пакетов, поможет вам выявить корень проблемы. Надеюсь, эти рекомендации будут полезны, и вы сможете исправить проблему без необходимости переустановки операционной системы. Если потребуется дальнейшая помощь, не стесняйтесь задавать дополнительные вопросы.

Оцените материал
Добавить комментарий

Капча загружается...