- Вопрос или проблема
- Ответ или решение
- Расшифровка проблемы: Сбой ядра с ошибкой BUG: kernel NULL pointer dereference
- 1. Описание проблемы
- Актуальные сообщения в логах:
- 2. Возможные причины проблемы
- 2.1 Замена графической карты
- 2.2 Программное обеспечение
- 3. Рекомендации по устранению проблемы
- 3.1 Проверка и обновление драйверов
- 3.2 Проверка логов системы
- 3.3 Обновление ядра
- 3.4 Замена оборудования
- 3.5 Сообщение в сообщество
- Заключение
Вопрос или проблема
После замены графических процессоров (оба PCI-e NVidia) я начал испытывать частые сбои ядра. Интересно, что они происходят в USB-устройстве.
Система работает на Ubuntu 24.04.1 LTS.
$ uname -a
Linux pluto 6.8.0-48-generic #48-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 14:04:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Я убедился, что обновил драйвера NVidia с 535 до 550. Но проблема все еще сохраняется.
Буду признателен за любые идеи или предложения по дальнейшей отладке проблемы.
Логи:
2024-11-06T17:49:00.131308+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:00.329803+00:00 pluto sudo: message repeated 2 times: [ pam_unix(sudo:session): session closed for user root]
2024-11-06T17:49:00.816839+00:00 pluto xrdp-chansrv[5837]: [ERROR] clipboard_event_selection_request: unknown target text/plain;charset=utf-8
2024-11-06T17:49:01.707307+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:03.255331+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:03.739316+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:05.283320+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:05.759316+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:06.787374+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:08.229307+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:09.887359+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:10.371338+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:11.923330+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:12.402346+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:13.683336+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:14.392312+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:15.211323+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:19.755323+00:00 pluto kernel: message repeated 3 times: [ usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd]
2024-11-06T17:49:20.593334+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:21.196337+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:22.751326+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:23.229317+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:26.211320+00:00 pluto kernel: message repeated 2 times: [ usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd]
2024-11-06T17:49:26.679346+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:27.651323+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:28.663342+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:29.187335+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:29.563341+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:30.639339+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:31.117342+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:32.599367+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:32.879340+00:00 pluto kernel: usb 3-1.3.3: Устройство не отвечает на адрес настройки.
2024-11-06T17:49:33.275335+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:34.616350+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:35.091333+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:36.513337+00:00 pluto kernel: usb 3-1.3.3: reset low-speed USB device number 13 using xhci_hcd
2024-11-06T17:49:36.995359+00:00 pluto kernel: usb 3-1.3.4.2: reset full-speed USB device number 15 using xhci_hcd
2024-11-06T17:49:37.171355+00:00 pluto kernel: usb 3-1.3.4.2: Устройство не отвечает на адрес настройки.
2024-11-06T17:49:37.379360+00:00 pluto kernel: usb 3-1.3.4.2: Устройство не отвечает на адрес настройки.
2024-11-06T17:49:37.587523+00:00 pluto kernel: usb 3-1.3.4.2: устройство не принимает адрес 15, ошибка -71
2024-11-06T17:49:37.590381+00:00 pluto kernel: BUG: разыменование нулевого указателя ядра, адрес: 0000000000000020
2024-11-06T17:49:37.590404+00:00 pluto kernel: #PF: доступ к памяти в режиме ядра
2024-11-06T17:49:37.590408+00:00 pluto kernel: #PF: error_code(0x0000) - страница не присутствует
2024-11-06T17:49:37.590412+00:00 pluto kernel: PGD 80000003be75e067 P4D 80000003be75e067 PUD 3d695c067 PMD 0
2024-11-06T17:49:37.590414+00:00 pluto kernel: Oops: 0000 [#1] PREEMPT SMP PTI
2024-11-06T17:49:37.590418+00:00 pluto kernel: CPU: 3 PID: 31084 Comm: kworker/3:3 Tainted: P O 6.8.0-48-generic #48-Ubuntu
2024-11-06T17:49:37.590420+00:00 pluto kernel: Аппаратное имя: ...
2024-11-06T17:49:37.590423+00:00 pluto kernel: Рабочая очередь: events __usb_queue_reset_device
2024-11-06T17:49:37.590426+00:00 pluto kernel: RIP: 0010:xhci_check_bw_table+0x100/0x4d0
2024-11-06T17:49:37.590429+00:00 pluto kernel: Код: c7 c2 60 35 50 8f 48 c7 c6 70 aa 59 8e 4c 89 55 c0 4c 89 5d d0 e8 d0 c7 01 00 4c 8b 5d d0 4c 8b 55 c0 4c 8b 4d b8 41 8d 47 ff <41> 8b 4a 20 31 d2 45 8b 72 08 89 45 d0 41 03 02 41 f7 f7 ba 80 00
2024-11-06T17:49:37.590431+00:00 pluto kernel: RSP: 0018:ffffa45250a5b848 EFLAGS: 00010046
2024-11-06T17:49:37.590434+00:00 pluto kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
2024-11-06T17:49:37.590437+00:00 pluto kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
2024-11-06T17:49:37.590440+00:00 pluto kernel: RBP: ffffa45250a5b8b0 R08: 0000000000000000 R09: ffff8be68fcfc000
2024-11-06T17:49:37.590442+00:00 pluto kernel: R10: 0000000000000000 R11: ffff8be68c138260 R12: ffffa45240531000
2024-11-06T17:49:37.590444+00:00 pluto kernel: R13: 0000000000000000 R14: ffff8be68fcfc000 R15: 0000000000000001
2024-11-06T17:49:37.590447+00:00 pluto kernel: FS: 0000000000000000(0000) GS:ffff8be98dd80000(0000) knlGS:0000000000000000
2024-11-06T17:49:37.590450+00:00 pluto kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2024-11-06T17:49:37.590452+00:00 pluto kernel: CR2: 0000000000000020 CR3: 00000003bed16004 CR4: 00000000001706f0
2024-11-06T17:49:37.590454+00:00 pluto kernel: Call Trace:
2024-11-06T17:49:37.590457+00:00 pluto kernel: <TASK>
2024-11-06T17:49:37.590460+00:00 pluto kernel: ? show_regs+0x6d/0x80
2024-11-06T17:49:37.590463+00:00 pluto kernel: ? __die+0x24/0x80
2024-11-06T17:49:37.590465+00:00 pluto kernel: ? page_fault_oops+0x99/0x1b0
2024-11-06T17:49:37.590468+00:00 pluto kernel: ? kernelmode_fixup_or_oops.isra.0+0x69/0x90
2024-11-06T17:49:37.590471+00:00 pluto kernel: ? __bad_area_nosemaphore+0x19d/0x2c0
2024-11-06T17:49:37.590473+00:00 pluto kernel: ? bad_area_nosemaphore+0x16/0x30
2024-11-06T17:49:37.590475+00:00 pluto kernel: ? do_user_addr_fault+0x29c/0x670
2024-11-06T17:49:37.590479+00:00 pluto kernel: ? exc_page_fault+0x83/0x1b0
2024-11-06T17:49:37.590482+00:00 pluto kernel: ? asm_exc_page_fault+0x27/0x30
2024-11-06T17:49:37.590484+00:00 pluto kernel: ? xhci_check_bw_table+0x100/0x4d0
2024-11-06T17:49:37.590487+00:00 pluto kernel: ? xhci_check_bw_table+0x357/0x4d0
2024-11-06T17:49:37.590490+00:00 pluto kernel: xhci_reserve_bandwidth+0x298/0xb20
2024-11-06T17:49:37.590493+00:00 pluto kernel: xhci_configure_endpoint+0xa8/0x730
2024-11-06T17:49:37.590496+00:00 pluto kernel: xhci_check_ep0_maxpacket.isra.0+0x14e/0x1d0
2024-11-06T17:49:37.590498+00:00 pluto kernel: xhci_endpoint_reset+0x254/0x4a0
2024-11-06T17:49:37.590501+00:00 pluto kernel: ? _raw_spin_lock_irqsave+0xe/0x20
2024-11-06T17:49:37.590504+00:00 pluto kernel: usb_hcd_reset_endpoint+0x28/0xa0
2024-11-06T17:49:37.590506+00:00 pluto kernel: usb_enable_endpoint+0x8c/0xa0
2024-11-06T17:49:37.590509+00:00 pluto kernel: usb_reset_and_verify_device+0x19f/0x4a0
2024-11-06T17:49:37.590512+00:00 pluto kernel: usb_reset_device+0x148/0x2d0
2024-11-06T17:49:37.590514+00:00 pluto kernel: __usb_queue_reset_device+0x3a/0x60
2024-11-06T17:49:37.590517+00:00 pluto kernel: process_one_work+0x178/0x350
2024-11-06T17:49:37.590520+00:00 pluto kernel: worker_thread+0x306/0x440
2024-11-06T17:49:37.590522+00:00 pluto kernel: ? _raw_spin_lock_irqsave+0xe/0x20
2024-11-06T17:49:37.590525+00:00 pluto kernel: ? __pfx_worker_thread+0x10/0x10
2024-11-06T17:49:37.590527+00:00 pluto kernel: kthread+0xf2/0x120
2024-11-06T17:49:37.590530+00:00 pluto kernel: ? __pfx_kthread+0x10/0x10
2024-11-06T17:49:37.590533+00:00 pluto kernel: ret_from_fork+0x47/0x70
2024-11-06T17:49:37.590535+00:00 pluto kernel: ? __pfx_kthread+0x10/0x10
2024-11-06T17:49:37.590537+00:00 pluto kernel: ret_from_fork_asm+0x1b/0x30
2024-11-06T17:49:37.590540+00:00 pluto kernel: </TASK>
2024-11-06T17:49:37.590543+00:00 pluto kernel: Подключенные модули: tls mptcp_diag xsk_diag tcp_diag udp_diag raw_diag inet_diag unix_diag af_packet_diag netlink_diag xt_MASQUERADE nf_conntrack_netlink xfrm_user xfrm_algo iptable_nat nf_nat br_netfilter bridge stp llc snd_seq_dummy snd_hrtimer cmac nls_utf8 cifs cifs_arc4 nls_ucs2_utils cifs_md4 netfs overlay qrtr zstd zram nvidia_uvm(PO) cfg80211 nvidia_drm(PO) nft_limit ip6t_REJECT nf_reject_ipv6 нвидиа_modeset(PO) xt_hl ip6t_rt nft_compat ipt_REJECT nf_reject_ipv4 xt_LOG nf_log_syslog xt_multiport xt_comment xt_recent nvidia(PO) xt_limit xt_addrtype xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 input_leds nf_tables iptable_filter intel_rapl_msr at24 binfmt_misc mei_pxp mei_hdcp snd_hda_codec_conexant snd_hda_codec_generic snd_hda_codec_hdmi uvcvideo intel_rapl_common x86_pkg_temp_thermal snd_hda_intel joydev videobuf2_vmalloc uvc intel_powerclamp videobuf2_memops snd_intel_dspcfg snd_usb_audio videobuf2_v4l2 coretemp snd_usbmidi_lib snd_intel_sdw_acpi videodev snd_hda_codec
2024-11-06T17:49:37.590548+00:00 pluto kernel: kvm_intel snd_ump videobuf2_common xxhash_generic snd_hda_core kvm mc snd_hwdep snd_pcm snd_seq_midi irqbypass snd_seq_midi_event snd_rawmidi rapl intel_cstate snd_seq i2c_i801 snd_seq_device i2c_smbus snd_timer mei_me snd lpc_ich mei soundcore tpm_infineon bfq mac_hid sch_fq_codel msr dm_multipath parport_pc ppdev lp parport dm_crypt nvme_fabrics efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 btrfs hid_generic blake2b_generic usbhid hid raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq raid1 raid0 dm_mirror dm_region_hash dm_log cdc_ether usbnet r8152 mii dm_cache_smq dm_cache dm_persistent_data dm_bio_prison dm_bufio libcrc32c uas usb_storage crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_generic ghash_clmulni_intel sha256_ssse3 sha1_ssse3 nvme nvme_core nvme_auth xhci_pci ahci libahci e1000e xhci_pci_renesas video wmi aesni_intel crypto_simd cryptd
2024-11-06T17:49:37.590551+00:00 pluto kernel: CR2: 0000000000000020
2024-11-06T17:49:37.590553+00:00 pluto kernel: ---[ конец трассировки 0000000000000000 ]---
2024-11-06T17:49:37.590556+00:00 pluto kernel: RIP: 0010:xhci_check_bw_table+0x100/0x4d0
2024-11-06T17:49:37.590558+00:00 pluto kernel: Код: c7 c2 60 35 50 8f 48 c7 c6 70 aa 59 8e 4c 89 55 c0 4c 89 5d d0 e8 d0 c7 01 00 4c 8b 5d d0 4c 8b 55 c0 4c 8b 4d b8 41 8d 47 ff <41> 8b 4a 20 31 d2 45 8b 72 08 89 45 d0 41 03 02 41 f7 f7 ba 80 00
2024-11-06T17:49:37.590561+00:00 pluto kernel: RSP: 0018:ffffa45250a5b848 EFLAGS: 00010046
2024-11-06T17:49:37.590564+00:00 pluto kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
2024-11-06T17:49:37.590567+00:00 pluto kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
2024-11-06T17:49:37.590569+00:00 pluto kernel: RBP: ffffa45250a5b8b0 R08: 0000000000000000 R09: ffff8be68fcfc000
2024-11-06T17:49:37.590572+00:00 pluto kernel: R10: 0000000000000000 R11: ffff8be68c138260 R12: ffffa45240531000
2024-11-06T17:49:37.590575+00:00 pluto kernel: R13: 0000000000000000 R14: ffff8be68fcfc000 R15: 0000000000000001
2024-11-06T17:49:37.590578+00:00 pluto kernel: FS: 0000000000000000(0000) GS:ffff8be98dd80000(0000) knlGS:0000000000000000
2024-11-06T17:49:37.590580+00:00 pluto kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2024-11-06T17:49:37.590583+00:00 pluto kernel: CR2: 0000000000000020 CR3: 00000003bed16004 CR4: 00000000001706f0
2024-11-06T17:49:37.590586+00:00 pluto kernel: note: kworker/3:3[31084] exited with irqs disabled
2024-11-06T17:49:37.590588+00:00 pluto kernel: note: kworker/3:3[31084] exited with preempt_count 1
2024-11-06T17:57:09.017287+00:00 pluto systemd-modules-load[756]: Вставлен модуль 'dm_crypt'
2024-11-06T17:57:09.017419+00:00 pluto kernel: Версия Linux 6.8.0-48-generic (buildd@lcy02-amd64-010) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils для Ubuntu) 2.42) #48-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 14:04:52 UTC 2024 (Ubuntu 6.8.0-48.48-generic 6.8.12)
Ответ или решение
Расшифровка проблемы: Сбой ядра с ошибкой BUG: kernel NULL pointer dereference
После замены графической карты в системе на базе Ubuntu 24.04.1 LTS вы начали сталкиваться с частыми сбоями ядра, сопровождающимися ошибкой BUG: kernel NULL pointer dereference, address: 0000000000000020
. Попробуем определить возможные причины и пути решения проблемы.
1. Описание проблемы
На основе предоставленных данных, проблема возникает в модуле USB, что может указывать на неправильное взаимодействие нового оборудования с драйверами или системными компонентами. Логи системы фиксируют частые перезагрузки USB, что может быть связано с неисправностями или конфликтом с драйверами.
Актуальные сообщения в логах:
- Частые перезагрузки устройства USB с номером 15.
- Ошибки, указывающие на проблему с адресом устройства:
Device not responding to setup address
иdevice not accepting address 15, error -71
. - Критическая ошибка
NULL pointer dereference
, которая указывает на попытку обращения к нулевому указателю в кодеxhci_check_bw_table
, что может проявляться, если оборудования или драйверы работают некорректно.
2. Возможные причины проблемы
2.1 Замена графической карты
-
Несовместимость драйверов: Хотя вы обновили драйверы NVidia (с 535 на 550), возможно, новая версия драйвера содержит ошибки или не полностью совместима с вашей системой.
-
Конфликт оборудования: Поскольку вы установили другую видеокарту, это могло повлиять на другие компоненты (например, контроллер USB или другие элементы системы), особенно если они используют общие ресурсы (IRQ, шины и т. д.).
2.2 Программное обеспечение
-
Ошибки ядра: Возможно, версия ядра, используемая в вашей системе (6.8.0-48-generic), содержит ошибки, которые могут влиять на работу определённых модулей, таких как xHCI (расширенный контроллер USB).
-
Конфликт модулей: Следует проверить, какие модули загружаются в системее, и возможно, наличие старых модулей, которые работают с новой картой или драйверами некорректно.
3. Рекомендации по устранению проблемы
3.1 Проверка и обновление драйверов
-
Загрузите и установите последние версии драйверов NVidia с официального сайта, избегая использования устаревших пакетов из репозиториев Ubuntu, которые могут быть неактуальны.
-
Убедитесь, что все другие драйверы, особенно для USB и контроллеров, также обновлены до последних версий.
3.2 Проверка логов системы
- Используйте команды, подобные
dmesg
иjournalctl
, для детального анализа состояний системы и выявления всех сообщений, связанных с USB и графическими драйверами.
3.3 Обновление ядра
- Рассмотрите возможность обновления до более новой версии ядра, если она доступна. Следите за изменениями в changelogs, поскольку часто выходят исправления для распространённых ошибок.
3.4 Замена оборудования
- При невозможности устранить проблему с программным обеспечением, проверьте целостность и функциональность заменяемого оборудования. Попробуйте протестировать системы с другими устройствами USB или видеокартами.
3.5 Сообщение в сообщество
- Если проблема сохраняется, не стесняйтесь обратиться за помощью в сообщества разработчиков Ubuntu или сторонние форумы, предоставив всю информацию о проведённых действиях и собранных логах.
Заключение
Скрытые проблемы, связанные с изменением аппаратного обеспечения, могут быть комплексными и трудными для диагностики. Повышение актуальности драйверов и системного программного обеспечения, а также детальное изучение логов системы позволит вам решить возникшие трудности. Рассматривайте обновления с осмотрительностью и тестируйте все изменения на стабильность вашей системы.