UBSAN: выход за пределы массива в /build/linux-uoESLx/linux-6.8.0/fs/ufs/super.c:1247:19 / pool-thunar[4643]: ошибка сегментации по адресу 28 ip 00007f30e31322fb

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

Я использую Ubuntu 24.04, и я больше не могу копировать файлы с одного диска ZFS на другой. Большой файл копируется (или перемещается) только частично, после чего возникает ошибка «сращение файла не удалось» или что-то в этом роде, и копирование прерывается. В логе dmesg я вижу следующую ситуацию:

[  141.501337] UBSAN: выход за границы сдвига в /build/linux-uoESLx/linux-6.8.0/fs/ufs/super.c:1247:19
[  141.501338] Элемент сдвига 36 слишком велик для 32-битного типа 'int'
[  141.501340] CPU: 14 PID: 4255 Команда: mount Заменено: P           O       6.8.0-49-generic #49-Ubuntu
[  141.501342] Название оборудования: Gigabyte Technology Co., Ltd. Z390 AORUS PRO/Z390 AORUS PRO-CF, BIOS F12g GA9 06/08/2020
[  141.501343] Трассировка вызовов:
[  141.501344]  <ЗАДАЧА>
[  141.501345]  dump_stack_lvl+0x76/0xa0
[  141.501349]  dump_stack+0x10/0x20
[  141.501350]  __ubsan_handle_shift_out_of_bounds+0x199/0x370
[  141.501354]  ufs_fill_super.cold+0x16/0x1b7 [ufs]
[  141.501359]  ? sb_set_blocksize+0x1d/0x70
[  141.501362]  ? __pfx_ufs_fill_super+0x10/0x10 [ufs]
[  141.501366]  mount_bdev+0xf3/0x140
[  141.501370]  ufs_mount+0x15/0x30 [ufs]
[  141.501374]  legacy_get_tree+0x28/0x60
[  141.501376]  vfs_get_tree+0x27/0x100
[  141.501377]  do_new_mount+0x1a0/0x340
[  141.501380]  path_mount+0x1e0/0x830
[  141.501382]  ? putname+0x5b/0x80
[  141.501384]  __x64_sys_mount+0x127/0x160
[  141.501386]  x64_sys_call+0x1df5/0x25c0
[  141.501388]  do_syscall_64+0x7f/0x180
[  141.501392]  ? nvme_pci_complete_batch+0xb5/0xe0 [nvme]
[  141.501396]  ? nvme_irq+0x73/0x80 [nvme]
[  141.501400]  ? __pfx_nvme_pci_complete_batch+0x10/0x10 [nvme]
[  141.501403]  ? handle_irq_event+0x52/0x80
[  141.501406]  ? irqentry_exit_to_user_mode+0x7b/0x260
[  141.501407]  ? clear_bhb_loop+0x15/0x70
[  141.501409]  ? clear_bhb_loop+0x15/0x70
[  141.501410]  ? clear_bhb_loop+0x15/0x70
[  141.501412]  entry_SYSCALL_64_after_hwframe+0x78/0x80
[  141.501413] RIP: 0033:0x7d9f62b2af0e
[  141.501428] Код: 48 8b 0d 0d 7f 0d 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d da 7e 0d 00 f7 d8 64 89 01 48
[  141.501429] RSP: 002b:00007ffde83c8828 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
[  141.501431] RAX: ffffffffffffffda RBX: 00006393c1406be0 RCX: 00007d9f62b2af0e
[  141.501432] RDX: 00006393c1407070 RSI: 00006393c14070b0 RDI: 00006393c1407090
[  141.501433] RBP: 00007ffde83c8890 R08: 00006393c1407e30 R09: 0000000000000007
[  141.501433] R10: 0000000000000001 R11: 0000000000000246 R12: 00006393c1407090
[  141.501434] R13: 00006393c14070b0 R14: 00006393c1407070 R15: 00006393c1406d40
[  141.501436]  </ЗАДАЧА>
[  141.501436] ---[ конец трассировки ]---

[ 1548.597550] pool-thunar[4643]: сегментационная ошибка по адресу 28 ip 00007f30e31322fb sp 00007f30defff928 ошибка 6 в libglib-2.0.so.0.8000.0[7f30e309a000+a0000] вероятно на CPU 13 (ядро 5, сокет 0)
[ 1548.597592] Код: 75 c5 44 89 33 eb c0 0f 1f 84 00 00 00 00 00 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 80 00 00 00 00 f3 0f 1e fa 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 01 c3 e9 79 ff ff ff 66 0f 1f 84 00 00 00 00 00 55

[ 7243.227599] pool-thunar[12876]: сегментационная ошибка по адресу 28 ip 00007cde77a902fb sp 00007cde61fff928 ошибка 6 в libglib-2.0.so.0.8000.0[7cde779f8000+a0000] вероятно на CPU 13 (ядро 5, сокет 0)

[ 7243.227640] Код: 75 c5 44 89 33 eb c0 0f 1f 84 00 00 00 00 00 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 80 00 00 00 00 f3 0f 1e fa 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 01 c3 e9 79 ff ff ff 66 0f 1f 84 00 00 00 00 00 55

Что происходит? Как я могу это исправить?

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

Анализ проблемы и решение ошибки "shift-out-of-bounds" в Ubuntu 24.04

Ваша проблема связана с ошибкой, возникающей в результате переполнения при выполнении операций с файловой системой. Сообщение об ошибке "UBSAN: shift-out-of-bounds" указывает на то, что происходит попытка выполнить операцию сдвига на 36 бит, что превышает допустимые пределы для 32-битного целого типа. Эта ошибка зафиксирована в файле /build/linux-uoESLx/linux-6.8.0/fs/ufs/super.c и делает вашу систему нестабильной, что, в свою очередь, затрудняет копирование файлов с одного диска ZFS на другой.

Причины

  1. Ошибки в коде ядра: Переполнение происходит из-за неправильных расчетов в коде универсальной файловой системы (UFS), что может быть вызвано ошибкой разработчиков в версиях ядра Linux, которые вы используете.
  2. Системные библиотеки: Сообщения о сегментации в libglib-2.0 могут указывать на проблемы в библиотеке, используемой для работы с графическим интерфейсом, что также может привести к сбоям при работе с файловыми операциями.
  3. Конфликты с настройками файловой системы: Возможны проблемы совместимости между ZFS и используемым вами окружением.

Шаги по устранению проблемы

  1. Обновление ядра и системных библиотек:

    • Проверьте наличие обновлений для ядра Linux. Возможно, были выпущены заплатки, исправляющие описанные проблемы. Выполните команду:
      sudo apt update && sudo apt upgrade
    • Также убедитесь, что все зависимости системы и библиотеки обновлены.
  2. Проверка файловой системы:

    • Проверьте состояние файловой системы ZFS на ошибки. Вы можете использовать команду:
      sudo zpool scrub название_пула
  3. Переустановка или обновление libglib-2.0:

    • Попробуйте переустановить библиотеку:
      sudo apt install --reinstall libglib2.0-0
    • Это может помочь исправить проблему с сегментацией и обеспечить стабильную работу приложения, использующего эту библиотеку.
  4. Использование альтернативных файловых менеджеров:

    • Если проблема продолжает возникать в Thunar, попробуйте использовать другой файловый менеджер, такой как Nautilus или Dolphin, для выполнения операций копирования.
  5. Сообщение об ошибках:

    • Если проблема не решена, рекомендуется сообщить об этом через специализированные форумы или в систему отслеживания ошибок для вашей версии Ubuntu. Укажите подробную информацию о вашей системе и воспроизводимости проблемы.
  6. Виртуальная машина или Live CD:

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

Заключение

Вышеуказанные рекомендации должны помочь вам устранить проблему с ошибкой "shift-out-of-bounds" и восстановить работоспособность системы при копировании файлов. Следуя инструкциям, вы сможете устранить текущие неполадки и обеспечить надежную работу вашего окружения в Ubuntu 24.04. Если проблема сохраняется или возникают новые ошибки, рассмотрите консультацию с техническими специалистами или технической поддержкой вашего дистрибутива.

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

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