You are not logged in.
Hi,
I have updated my system this morning and part of the full upgrade was systemd-247.2-1.
After rebooting, my screen froze: my background image was properly displayed, but my polybar didn't show any content, it was only a colored rectangle (no text, no icons). Typing super+enter didn't display a terminal (I use BSPWM as a WM), but I could still type in the invisible terminal. Typing "reboot" rebooted the machine for instance.
I looked at my journal and have seen some very strange messages:
Dec 19 14:21:44 Solgaleo kernel: WARNING: CPU: 23 PID: 658 at /build/nvidia/src/nvidia/455.45.01/build/nvidia-drm/nvidia-drm-drv.c:534 nv_drm_master_set+0x22/0x30 [nvidia_drm]
Dec 19 14:21:44 Solgaleo kernel: Modules linked in: amd64_edac_mod(-) pcc_cpufreq(-) kvm_amd(-) nvidia_drm(POE) nvidia_modeset(POE) joydev input_leds mousedev nvidia(POE) uinput hid_generic usbhid hid nls_iso8859_1 nls_cp437 snd_hda_codec_realtek vfat fat snd_hda_codec_generic edac_mce_amd ledtrig_audio snd_hda_codec_hdmi eeepc_wmi asus_wmi snd_hda_intel ucsi_ccg battery typec_ucsi snd_intel_dspcfg sparse_keymap typec rfkill wmi_bmof mxm_wmi kvm snd_hda_codec drm_kms_helper snd_hda_core irqbypass crct10dif_pclmul crc32_pclmul snd_hwdep ghash_clmulni_intel snd_pcm aesni_intel cec igb rc_core crypto_simd snd_timer syscopyarea ccp cryptd snd sp5100_tco glue_helper sysfillrect i2c_algo_bit sysimgblt rapl fb_sys_fops pcspkr soundcore i2c_nvidia_gpu i2c_piix4 rng_core k10temp dca wmi evdev pinctrl_amd gpio_amdpt mac_hid acpi_cpufreq drm fuse agpgart ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 crc32c_intel xhci_pci xhci_pci_renesas xhci_hcd
Dec 19 14:21:44 Solgaleo kernel: CPU: 23 PID: 658 Comm: Xorg Tainted: P OE 5.9.14-arch1-1 #1
Dec 19 14:21:44 Solgaleo kernel: Hardware name: System manufacturer System Product Name/PRIME X470-PRO, BIOS 5809 12/03/2020
Dec 19 14:21:44 Solgaleo kernel: RIP: 0010:nv_drm_master_set+0x22/0x30 [nvidia_drm]
Dec 19 14:21:44 Solgaleo kernel: Code: 54 87 a8 de 0f 1f 40 00 0f 1f 44 00 00 48 8b 47 48 48 8b 78 20 48 8b 05 8c 5c 00 00 48 8b 40 28 e8 03 78 e6 de 84 c0 74 01 c3 <0f> 0b c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 80 3d 2c
Dec 19 14:21:44 Solgaleo kernel: RSP: 0018:ffffabe1c3febbd8 EFLAGS: 00010246
Dec 19 14:21:44 Solgaleo kernel: RAX: 0000000000000000 RBX: ffff9c341dd6b200 RCX: 0000000000000000
Dec 19 14:21:44 Solgaleo kernel: RDX: 0000000000000001 RSI: 0000000000000282 RDI: 00000000ffffffff
Dec 19 14:21:44 Solgaleo kernel: RBP: ffff9c3422766480 R08: 0000000000000008 R09: ffffabe1c3febbc0
Dec 19 14:21:44 Solgaleo kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ffff9c34199e8800
Dec 19 14:21:44 Solgaleo kernel: R13: 0000000000000000 R14: ffff9c34199e8800 R15: 00000000225f0228
Dec 19 14:21:44 Solgaleo kernel: FS: 00007fed30b642c0(0000) GS:ffff9c342efc0000(0000) knlGS:0000000000000000
Dec 19 14:21:44 Solgaleo kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec 19 14:21:44 Solgaleo kernel: CR2: 000055c7b009f000 CR3: 0000000fcd9f8000 CR4: 0000000000350ee0
Dec 19 14:21:44 Solgaleo kernel: Call Trace:
Dec 19 14:21:44 Solgaleo kernel: drm_new_set_master+0x7a/0x100 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_master_open+0x68/0x90 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_open+0xf5/0x240 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_stub_open+0xab/0x130 [drm]
Dec 19 14:21:44 Solgaleo kernel: chrdev_open+0xca/0x240
Dec 19 14:21:44 Solgaleo kernel: ? cdev_device_add+0x90/0x90
Dec 19 14:21:44 Solgaleo kernel: do_dentry_open+0x14e/0x380
Dec 19 14:21:44 Solgaleo kernel: path_openat+0xc1a/0x10b0
Dec 19 14:21:44 Solgaleo kernel: ? balance_dirty_pages_ratelimited+0x1e1/0x400
Dec 19 14:21:44 Solgaleo kernel: do_filp_open+0x9c/0x140
Dec 19 14:21:44 Solgaleo kernel: do_sys_openat2+0xb1/0x160
Dec 19 14:21:44 Solgaleo kernel: __x64_sys_openat+0x54/0x90
Dec 19 14:21:44 Solgaleo kernel: do_syscall_64+0x33/0x40
Dec 19 14:21:44 Solgaleo kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
Dec 19 14:21:44 Solgaleo kernel: RIP: 0033:0x7fed31525c94
Dec 19 14:21:44 Solgaleo kernel: Code: 24 20 eb 8f 66 90 44 89 54 24 0c e8 16 4c f9 ff 44 8b 54 24 0c 44 89 e2 48 89 ee 41 89 c0 bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 77 34 44 89 c7 89 44 24 0c e8 68 4c f9 ff 8b 44
Dec 19 14:21:44 Solgaleo kernel: RSP: 002b:00007ffce9c83210 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
Dec 19 14:21:44 Solgaleo kernel: RAX: ffffffffffffffda RBX: 00000000ffffffff RCX: 00007fed31525c94
Dec 19 14:21:44 Solgaleo kernel: RDX: 0000000000080002 RSI: 000055c7b2803520 RDI: 00000000ffffff9c
Dec 19 14:21:44 Solgaleo kernel: RBP: 000055c7b2803520 R08: 0000000000000000 R09: 0000000000000000
Dec 19 14:21:44 Solgaleo kernel: R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000080002
Dec 19 14:21:44 Solgaleo kernel: R13: 000055c7b2803520 R14: 000055c7b2803520 R15: 0000000000000000
Dec 19 14:21:44 Solgaleo kernel: ---[ end trace e0770865a83fcb0b ]---
Dec 19 14:21:44 Solgaleo kernel: ------------[ cut here ]------------
Dec 19 14:21:44 Solgaleo kernel: WARNING: CPU: 23 PID: 658 at /build/nvidia/src/nvidia/455.45.01/build/nvidia-drm/nvidia-drm-drv.c:534 nv_drm_master_set+0x22/0x30 [nvidia_drm]
Dec 19 14:21:44 Solgaleo kernel: Modules linked in: amd64_edac_mod(-) pcc_cpufreq(-) kvm_amd(-) nvidia_drm(POE) nvidia_modeset(POE) joydev input_leds mousedev nvidia(POE) uinput hid_generic usbhid hid nls_iso8859_1 nls_cp437 snd_hda_codec_realtek vfat fat snd_hda_codec_generic edac_mce_amd ledtrig_audio snd_hda_codec_hdmi eeepc_wmi asus_wmi snd_hda_intel ucsi_ccg battery typec_ucsi snd_intel_dspcfg sparse_keymap typec rfkill wmi_bmof mxm_wmi kvm snd_hda_codec drm_kms_helper snd_hda_core irqbypass crct10dif_pclmul crc32_pclmul snd_hwdep ghash_clmulni_intel snd_pcm aesni_intel cec igb rc_core crypto_simd snd_timer syscopyarea ccp cryptd snd sp5100_tco glue_helper sysfillrect i2c_algo_bit sysimgblt rapl fb_sys_fops pcspkr soundcore i2c_nvidia_gpu i2c_piix4 rng_core k10temp dca wmi evdev pinctrl_amd gpio_amdpt mac_hid acpi_cpufreq drm fuse agpgart ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 crc32c_intel xhci_pci xhci_pci_renesas xhci_hcd
Dec 19 14:21:44 Solgaleo kernel: CPU: 23 PID: 658 Comm: Xorg Tainted: P W OE 5.9.14-arch1-1 #1
Dec 19 14:21:44 Solgaleo kernel: Hardware name: System manufacturer System Product Name/PRIME X470-PRO, BIOS 5809 12/03/2020
Dec 19 14:21:44 Solgaleo kernel: RIP: 0010:nv_drm_master_set+0x22/0x30 [nvidia_drm]
Dec 19 14:21:44 Solgaleo kernel: Code: 54 87 a8 de 0f 1f 40 00 0f 1f 44 00 00 48 8b 47 48 48 8b 78 20 48 8b 05 8c 5c 00 00 48 8b 40 28 e8 03 78 e6 de 84 c0 74 01 c3 <0f> 0b c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 80 3d 2c
Dec 19 14:21:44 Solgaleo kernel: RSP: 0018:ffffabe1c3febbd8 EFLAGS: 00010246
Dec 19 14:21:44 Solgaleo kernel: RAX: 0000000000000000 RBX: ffff9c341dd6b200 RCX: 0000000000000000
Dec 19 14:21:44 Solgaleo kernel: RDX: 0000000000000001 RSI: 0000000000000282 RDI: 00000000ffffffff
Dec 19 14:21:44 Solgaleo kernel: RBP: ffff9c3422766480 R08: 0000000000000008 R09: ffffabe1c3febbc0
Dec 19 14:21:44 Solgaleo kernel: R10: 0000000000000000 R11: 0000000000000000 R12: ffff9c34199e8800
Dec 19 14:21:44 Solgaleo kernel: R13: 0000000000000000 R14: ffff9c34199e8800 R15: 00000000225f0228
Dec 19 14:21:44 Solgaleo kernel: FS: 00007fed30b642c0(0000) GS:ffff9c342efc0000(0000) knlGS:0000000000000000
Dec 19 14:21:44 Solgaleo kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec 19 14:21:44 Solgaleo kernel: CR2: 00007fed24507889 CR3: 0000000fcd9f8000 CR4: 0000000000350ee0
Dec 19 14:21:44 Solgaleo kernel: Call Trace:
Dec 19 14:21:44 Solgaleo kernel: drm_new_set_master+0x7a/0x100 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_master_open+0x68/0x90 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_open+0xf5/0x240 [drm]
Dec 19 14:21:44 Solgaleo kernel: drm_stub_open+0xab/0x130 [drm]
Dec 19 14:21:44 Solgaleo kernel: chrdev_open+0xca/0x240
Dec 19 14:21:44 Solgaleo kernel: ? cdev_device_add+0x90/0x90
Dec 19 14:21:44 Solgaleo kernel: do_dentry_open+0x14e/0x380
Dec 19 14:21:44 Solgaleo kernel: path_openat+0xc1a/0x10b0
Dec 19 14:21:44 Solgaleo kernel: ? balance_dirty_pages_ratelimited+0x1e1/0x400
Dec 19 14:21:44 Solgaleo kernel: do_filp_open+0x9c/0x140
Dec 19 14:21:44 Solgaleo kernel: do_sys_openat2+0xb1/0x160
Dec 19 14:21:44 Solgaleo kernel: __x64_sys_openat+0x54/0x90
Dec 19 14:21:44 Solgaleo kernel: do_syscall_64+0x33/0x40
Dec 19 14:21:44 Solgaleo kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
Dec 19 14:21:44 Solgaleo kernel: RIP: 0033:0x7fed31525c94
Dec 19 14:21:44 Solgaleo kernel: Code: 24 20 eb 8f 66 90 44 89 54 24 0c e8 16 4c f9 ff 44 8b 54 24 0c 44 89 e2 48 89 ee 41 89 c0 bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 77 34 44 89 c7 89 44 24 0c e8 68 4c f9 ff 8b 44
Dec 19 14:21:44 Solgaleo kernel: RSP: 002b:00007ffce9c831e0 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
Dec 19 14:21:44 Solgaleo kernel: RAX: ffffffffffffffda RBX: 000055c7b2781be0 RCX: 00007fed31525c94
Dec 19 14:21:44 Solgaleo kernel: RDX: 0000000000080002 RSI: 000055c7b2803520 RDI: 00000000ffffff9c
Dec 19 14:21:44 Solgaleo kernel: RBP: 000055c7b2803520 R08: 0000000000000000 R09: 00007fed315f7a60
Dec 19 14:21:44 Solgaleo kernel: R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000080002
Dec 19 14:21:44 Solgaleo kernel: R13: 000055c7b2803520 R14: 000055c7b2803520 R15: 0000000000000001
Dec 19 14:21:44 Solgaleo kernel: ---[ end trace e0770865a83fcb0c ]---The full journal for that boot can be read here: https://pastebin.com/T4acuj5a
Downgrading to systemd-247.1-4 fixes the issue: no more screen freezing and no more warning message.
Is this a bug? Have anyone seen this?
Last edited by neopium (2021-01-10 00:18:20)
Offline
neopium,
I don't believe the kernel oops you are seeing is related to your freeze. Myself and some others are also seeing this same kernel oops, but it doesn't appear to have any affect on desktop functionality. See https://forums.developer.nvidia.com/t/k … -01/163751
Offline
Thank you for your answer!
So it seems these kernel oops are not the cause of my graphic freeze... That's good to know.
I don't know what makes my desktop freeze then. The .xsession-errors file doesn't point to anything specific...
What remains is that with systemd-247.2.-1, it does not work, while reverting to the previous version works. I don't really know where to look to solve this...
Offline
It is triggered by a WARN_ON and is not an OOPS, it indicates __nv_drm_master_set had an issue but there is no way to indicate that using return type void.
static int __nv_drm_master_set(struct drm_device *dev,
struct drm_file *file_priv, bool from_open)
{
struct nv_drm_device *nv_dev = to_nv_device(dev);
if (!nvKms->grabOwnership(nv_dev->pDevice)) {
return -EINVAL;
}
return 0;
}
#if defined(NV_DRM_DRIVER_SET_MASTER_HAS_INT_RETURN_TYPE)
static int nv_drm_master_set(struct drm_device *dev,
struct drm_file *file_priv, bool from_open)
{
return __nv_drm_master_set(dev, file_priv, from_open);
}
#else
static void nv_drm_master_set(struct drm_device *dev,
struct drm_file *file_priv, bool from_open)
{
WARN_ON(__nv_drm_master_set(dev, file_priv, from_open) != 0);
}
#endifLast edited by loqs (2020-12-29 20:22:34)
Offline
I made some progress in the identification of the cause of the problem.
It's not solved yet, but it's progressing.
Seeing that the problem is graphical (the windows are loaded and work, but are not displayed), I looked at the X server logs.
Here is what I found.
When using systemd-247.2.-1, I have this error message
[ben@Solgaleo ~]$ grep "(EE)" /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 6.256] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (module does not exist, 0)
[ 6.256] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[ 6.256] (EE) NVIDIA(0): log file that the GLX module has been loaded in your X
[ 6.256] (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If
[ 6.256] (EE) NVIDIA(0): you continue to encounter problems, Please try
[ 6.256] (EE) NVIDIA(0): reinstalling the NVIDIA driver.This lead me to find this thread that in turn points to that thread.
So I followed the solution by adding the nvidia modules into the initramfs.
I added the kernel parameter in my /efi/EFI/refind/refind.conf file:
menuentry "Arch Linux" {
icon /EFI/refind/themes/regular/icons/256-96/os_arch.png
volume "Linux"
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "rw root=PARTUUID=171b1213-99ff-1c4c-964e-1bba455b0f8b add_efi_memmap loglevel=3 quiet splash vga=current rd.
systemd.show_status=auto rd.udev.log_priority=3 nvidia-drm.modset=1"
submenuentry "Boot using fallback initramfs" {
initrd /boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
}(note the nvidia-drm.modset=1)
I also created the file /etc/pacman.d/hooks/nvidia.hook as indicated in the ArchiWiki.
Now, here is the output of the lsinitcpio /boot/initramfs-linux.img | grep nvidia command:
etc/modprobe.d/nvidiasync.conf
usr/lib/modprobe.d/nvidia.confNot sure what this means. Did it work?
Anyway, when running with systemd-247.2.-1, I *still* have the Xorg error (and the screen freeze), but there is no error message and everything works fine when I run systemd-247.1-4
I'm puzzled
Offline
I also created the file /etc/pacman.d/hooks/nvidia.hook as indicated in the ArchiWiki.
Now, here is the output of the lsinitcpio /boot/initramfs-linux.img | grep nvidia command:
etc/modprobe.d/nvidiasync.conf usr/lib/modprobe.d/nvidia.confNot sure what this means. Did it work?
Those changes make sense to setup the driver properly. Not sure why the older systemd version didn't also work.
Offline
Those changes make sense to setup the driver properly. Not sure why the older systemd version didn't also work.
Actually, the old one works, not the latest
Offline
Actually, the old one works, not the latest
Sorry meant to say that I'm surprised the older systemd version worked without those changes. Glad to hear it's working though either way.
Offline
Well, I'm still stuck with a partial update of my arch system: I can't update systemd, but went on updating the rest.
That's far from optimal. Didn't have the time to post a bug report on systemd's bug tracker... Moreover, I'm still not sure what the problem is.
Offline
Try https://wiki.archlinux.org/index.php/NV … de_setting and esp. https://wiki.archlinux.org/index.php/Ke … _KMS_start
systemd leading to a nvidia/drm crash sounds like a race condition
Offline
Try https://wiki.archlinux.org/index.php/NV … de_setting and esp. https://wiki.archlinux.org/index.php/Ke … _KMS_start
systemd leading to a nvidia/drm crash sounds like a race condition
Thanks for the tip. It seems KMS early start is not available with Nvidia prioritary drivers however (which is what I have).
Offline
seth wrote:Try https://wiki.archlinux.org/index.php/NV … de_setting and esp. https://wiki.archlinux.org/index.php/Ke … _KMS_start
systemd leading to a nvidia/drm crash sounds like a race conditionThanks for the tip. It seems KMS early start is not available with Nvidia prioritary drivers however (which is what I have).
NVIDIA#DRM_kernel_mode_setting with the modules in the initrd and the kernel parameter set did not work?
Offline
I followed the steps and I still have the error when using the latest version of systemd. With the previous version, it also crashes randomly, but it's not consistent. With the latest X crashes every time
Offline
If you boot the multi-user.target, fetch a cup of coffee (ie. wait a bit) and then start X11 resp. the graphical.target: can you still reproduce this?
Offline
Will try tonight, when the kids are in bed. I'll let you know
Offline
Ok, the kids are watching Naruto, I've got 20 minutes ;-)
I rebooted twice with an up to date Arch linux at the multi-user.target and then manually started the graphical target. It worked twice.
Really looks like a race condition... What can I do? Hack a delay somewhere in my systemd config? Not great.
Of course I want to be able to start my computer, but my first objective is to help improve systemd and help fix hypothetical bugs
Last edited by neopium (2021-01-09 18:41:22)
Offline
Did you rebuild the kernel images after following the mkinitcpio steps? With a
mkinitcpio -P?
Offline
Did you rebuild the kernel images after following the mkinitcpio steps? With a
mkinitcpio -P?
I did with the hook. Each time I upgrade/downgrade systemd or the Nvidia driver, the kernel image is updated. And I updated/downgraded a lot.
Last edited by neopium (2021-01-09 19:14:43)
Offline
lsinitcpio /boot/initramfs-linux.img | grep -i nvidiaOffline
lsinitcpio /boot/initramfs-linux.img | grep -i nvidia
[ben@Solgaleo ~]$ lsinitcpio /boot/initramfs-linux.img | grep -i nvidia
etc/modprobe.d/nvidiasync.conf
usr/lib/modprobe.d/nvidia.confOffline
The modprobe config is in the initrd but not the modules.
Offline
The nvidia kernel modules are not in that initramfs - something™ went wrong.
Ok, second someseconds ninja today. This is a conspiracy!
Last edited by seth (2021-01-09 23:44:14)
Offline
What should be the command output?
Offline
Should include some nvidia*ko.xz …
Offline
I made some progress in the identification of the cause of the problem.
It's not solved yet, but it's progressing.
Seeing that the problem is graphical (the windows are loaded and work, but are not displayed), I looked at the X server logs.
Here is what I found.
When using systemd-247.2.-1, I have this error message
[ben@Solgaleo ~]$ grep "(EE)" /var/log/Xorg.0.log (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 6.256] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (module does not exist, 0) [ 6.256] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X [ 6.256] (EE) NVIDIA(0): log file that the GLX module has been loaded in your X [ 6.256] (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If [ 6.256] (EE) NVIDIA(0): you continue to encounter problems, Please try [ 6.256] (EE) NVIDIA(0): reinstalling the NVIDIA driver.This lead me to find this thread that in turn points to that thread.
So I followed the solution by adding the nvidia modules into the initramfs.
I added the kernel parameter in my /efi/EFI/refind/refind.conf file:
menuentry "Arch Linux" { icon /EFI/refind/themes/regular/icons/256-96/os_arch.png volume "Linux" loader /boot/vmlinuz-linux initrd /boot/initramfs-linux.img options "rw root=PARTUUID=171b1213-99ff-1c4c-964e-1bba455b0f8b add_efi_memmap loglevel=3 quiet splash vga=current rd. systemd.show_status=auto rd.udev.log_priority=3 nvidia-drm.modset=1" submenuentry "Boot using fallback initramfs" { initrd /boot/initramfs-linux-fallback.img } submenuentry "Boot to terminal" { add_options "systemd.unit=multi-user.target" } }(note the nvidia-drm.modset=1)
I also created the file /etc/pacman.d/hooks/nvidia.hook as indicated in the ArchiWiki.
Now, here is the output of the lsinitcpio /boot/initramfs-linux.img | grep nvidia command:
etc/modprobe.d/nvidiasync.conf usr/lib/modprobe.d/nvidia.confNot sure what this means. Did it work?
Anyway, when running with systemd-247.2.-1, I *still* have the Xorg error (and the screen freeze), but there is no error message and everything works fine when I run systemd-247.1-4
I'm puzzled
This is what I've done. Shouldn't it work™?
Last edited by neopium (2021-01-09 23:56:10)
Offline