I’m upgrading my Qubes OS from rc3 to rc4, and checked in Qubes Global Config (QGC) what kernel I use : 6.1.57-1.fc37. So I wanted to test the latest one (6.4.8).
Rebooted a few times to ensure always the same behaviour (btw, the grub doesn’t seem to take care about the choice made with QGC, not with my machine though) : sys-net can’t create networking in kernel 6.4.8-1.fc37.
Began to create an account to report an issue in Github, when I realized I don’t know if this is due to ‘rc3 to rc4’ or if it has “always” existed (resume is recent for me, so I’ve not been using Qubes OS for very long) ?
So I tried to investigate in sys-net, here’s what I saw at first :
{kernel 6.4.8-1.fc37}
root@sys-net:~# dmesg -l err
[ 1.250778] /dev/xvdd: Can't open blockdev
[ 2.247858] piix4_smbus 0000:00:01.3: SMBus Host Controller not enabled!
[ 2.452997] Error: Driver 'pcspkr' is already registered, aborting...
[ 3.526611] Out of memory: Killed process 552 (qubes-firewall) total-vm:81432kB, anon-rss:66936kB, file-rss:5888kB, shmem-rss:0kB, UID:0 pgtables:188kB oom_score_adj:0
[ 19.492577] Out of memory: Killed process 568 (NetworkManager) total-vm:254164kB, anon-rss:2176kB, file-rss:13924kB, shmem-rss:0kB, UID:0 pgtables:128kB oom_score_adj:0
[ 19.504284] Out of memory: Killed process 756 (tracker-extract) total-vm:133612kB, anon-rss:1664kB, file-rss:11392kB, shmem-rss:0kB, UID:1000 pgtables:112kB oom_score_adj:0
{kernel 6.1.57-1.fc37}
root@sys-net:~# dmesg -l err
[ 1.138985] /dev/xvdd: Can't open blockdev
[ 2.205425] piix4_smbus 0000:00:01.3: SMBus Host Controller not enabled!
[ 2.309372] Error: Driver 'pcspkr' is already registered, aborting...
So it very looks like a pb in memory … since I reverted to kernel 6.1.57 it is not really a bug to me, I’m just sharing this in case it should be investigated.
I have also had issues with RC4 kernel 6.4.8, using the Intel chipset on-board NIC.
Have you tried increasing the memory of sys-net to see if it solves the out of memory issue?
The root cause of my problems was the NIC was crashing and resetting over and over. I didn’t have any issues with latest kernel on RC3, and 6.1.x works just fine. Don’t know if it’s a firmware or driver issue, but I’m just going to wait with updating the kernel.
I did not know one can modify the way Qubes OS allocates memory between VMs (though it seems logical … in fact I was wondering how it does this, good knowledge to learn).
I’m learning from Qubes memory manager (qmemman) | Qubes OS and trying it.
Btw the sys-net allocated memory did not change (384 MB), and I updated my laptop’s RAM a few days ago (16 GB → 64 GB to go thoroughly through Qubes OS , so I will allocate of course lot of memory to test).
You can change the memory for a VM by going into its settings and then in the “Advanced” tab. Since sys-net is using a PCI device, it will only allow you to change the initial memory. Try to set it to 800 MB for example and then reboot sys-net.
So first I noticed that I don’t have the 3 supplementary lines about memory in the logs any more (back in 6.4.8) ?!
And I also noticed, through my tests, that when in 6.4.8 I don’t have the sys-usb neither (will reboot for the logs).
I updated sys-net to 800MB, and it did not change anything, still no network with 6.4.8 kernel : any logs to investigate ?
Still haven’t gone through memory management in Dom0 (btw the the first link in the page tmem does not seem to provide information), maybe not necessary anymore, as it eventually does not seem to originate from lack of memory.
Sys-net and sys-usb working nominally in 6.5.8.