I have precisely the same symptoms. Starting Friday, immediately after doing updates, I had occasional lock-ups that only a full power-off and power-on could recover from, I had my swap partition corrupted and had to reformat it, had to do a rescue on one NVMe root partition as well as two external drives before I reverted my kernel back to 4.15.0-147 and magically.. everything worked flawlessly again. I wasted my weekend trying to understand what was going wrong until I figured out it was the kernel. I also have a BUNCH of crashes from the kernel in /var/crash to show for it too.
miles@unicron:/var/crash$ ls -latr linux*
-rw-r--r-- 1 kernoops whoopsie 763 Jul 21 13:57 linux-image-4.15.0-151-generic.32331.crash
-rw-r--r-- 1 kernoops whoopsie 763 Jul 21 14:33 linux-image-4.15.0-151-generic.32439.crash
-rw-r--r-- 1 kernoops whoopsie 988 Jul 21 14:34 linux-image-4.15.0-151-generic.53592.crash
-rw-r--r-- 1 kernoops whoopsie 3464 Jul 21 14:52 linux-image-4.15.0-151-generic.271760.crash
-rw-r--r-- 1 kernoops whoopsie 3677 Jul 22 03:52 linux-image-4.15.0-151-generic.258222.crash
-rw-r--r-- 1 kernoops whoopsie 736 Jul 22 19:17 linux-image-4.15.0-151-generic.32747.crash
-rw-r--r-- 1 kernoops whoopsie 742 Jul 22 19:17 linux-image-4.15.0-151-generic.32859.crash
-rw-r--r-- 1 kernoops whoopsie 455 Jul 23 03:04 linux-image-4.15.0-151-generic.13044.crash
-rw-r--r-- 1 kernoops whoopsie 530 Jul 23 13:06 linux-image-4.15.0-151-generic.20048.crash
-rw-r--r-- 1 kernoops whoopsie 673 Jul 23 13:14 linux-image-4.15.0-151-generic.30505.crash
-rw-r--r-- 1 kernoops whoopsie 1893 Jul 23 22:57 linux-image-4.15.0-151-generic.123785.crash
-rw-r--r-- 1 kernoops whoopsie 4163 Jul 23 23:28 linux-image-4.15.0-151-generic.305134.crash
-rw-r--r-- 1 kernoops whoopsie 1013 Jul 24 06:57 linux-image-4.15.0-151-generic.48875.crash
-rw-r--r-- 1 kernoops whoopsie 1209 Jul 24 07:01 linux-image-4.15.0-151-generic.65884.crash
-rw-r--r-- 1 kernoops whoopsie 2516 Jul 24 07:02 linux-image-4.15.0-151-generic.165751.crash
-rw-r--r-- 1 kernoops whoopsie 2678 Jul 24 07:07 linux-image-4.15.0-151-generic.178891.crash
-rw-r--r-- 1 kernoops whoopsie 3500 Jul 25 11:32 linux-image-4.15.0-151-generic.253271.crash
Sample from linux-image-4.15.0-151-generic.253271.crash
:
ProblemType: KernelOops
Annotation: Your system might become unstable now and might need to be restarted.
Date: Sun Jul 25 11:32:27 2021
Failure: oops
OopsText:
general protection fault: 0000 [#1] SMP PTI
Modules linked in: xfs libcrc32c uas usb_storage rfcomm ccm ip6table_filter ip6_tables iptable_filter v4l2loopback(OE) snd_hrtimer cmac bnep binfmt_misc nls_iso8859_1 snd_hda_codec_hdmi nvidia_drm(POE) intel_rapl x86_pkg_temp_thermal nvidia_modeset(POE) intel_powerclamp coretemp arc4 kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul snd_hda_codec_realtek ghash_clmulni_intel snd_hda_codec_generic nvidia(POE) pcbc iwlmvm mac80211 snd_hda_intel aesni_intel snd_hda_codec aes_x86_64 crypto_simd glue_helper asus_nb_wmi cryptd asus_wmi snd_hda_core intel_cstate snd_hwdep intel_rapl_perf serio_raw sparse_keymap intel_wmi_thunderbolt iwlwifi snd_pcm snd_seq_midi snd_seq_midi_event cfg80211 uvcvideo btusb btrtl videobuf2_vmalloc btbcm snd_rawmidi videobuf2_memops btintel videobuf2_v4l2 drm_kms_helper
bluetooth snd_seq xpad videobuf2_core ff_memless ecdh_generic drm videodev snd_seq_device snd_timer media fb_sys_fops snd syscopyarea sysfillrect sysimgblt mei_me idma64 soundcore virt_dma input_leds joydev mei processor_thermal_device intel_lpss_pci int340x_thermal_zone shpchp intel_pch_thermal intel_lpss intel_soc_dts_iosf elan_i2c mac_hid asus_wireless int3400_thermal acpi_pad acpi_thermal_rel sch_fq_codel ppa parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_asus hid_generic usbhid nvme r8169 ahci nvme_core mii libahci wmi i2c_hid hid video pinctrl_sunrisepoint
CPU: 4 PID: 81 Comm: kswapd0 Tainted: P OE 4.15.0-151-generic #157-Ubuntu
Hardware name: ASUSTeK COMPUTER INC. G752VT/G752VT, BIOS G752VT.213 01/06/2016
RIP: 0010:find_get_entries+0x68/0x200
RSP: 0018:ffffb54cc384f9d0 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 000000000000000e RCX: 0000000000000006
RDX: 1800000000000000 RSI: 0000000000001000 RDI: ffff9730446816d0
RBP: ffffb54cc384fa30 R08: 0000000000000800 R09: 0000000000000006
R10: ffff9730446817f8 R11: 0000000000000000 R12: ffffb54cc384faf8
R13: ffffb54cc384fa78 R14: 000000000000000c R15: ffff9730446817f8
FS: 0000000000000000(0000) GS:ffff973606500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000a520680c000 CR3: 00000005c260a005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
pagevec_lookup_entries+0x1e/0x30
truncate_inode_pages_range+0x127/0x960
? xfs_mount_validate_sb+0x440/0x500 [xfs]
? __inode_wait_for_writeback+0x7e/0xf0
? bit_waitqueue+0x40/0x40
truncate_inode_pages_final+0x4c/0x60
evict+0x188/0x1a0
dispose_list+0x39/0x50
prune_icache_sb+0x5a/0x80
super_cache_scan+0x137/0x1b0
shrink_slab.part.49+0x1e7/0x440
shrink_node+0x2e1/0x2f0
kswapd+0x2b1/0x710
kthread+0x121/0x140
? mem_cgroup_shrink_node+0x190/0x190
? kthread_create_worker_on_cpu+0x70/0x70
ret_from_fork+0x35/0x40
Code: c7 45 a8 00 00 00 00 48 89 75 b0 45 31 ff 4d 85 ff 0f 84 01 01 00 00 49 8b 17 48 85 d2 74 69 48 89 d0 83 e0 03 0f 85 5f 01 00 00 <48> 8b 42 20 48 8d 78 ff a8 01 48 0f 44 fa 8b 47 1c 85 c0 74 d7
RIP: find_get_entries+0x68/0x200 RSP: ffffb54cc384f9d0
---[ end trace aafa3a2a2c51a63e ]---
Package: linux-image-4.15.0-151-generic 4.15.0-151.157
SourcePackage: linux
Tags: kernel-oops
Uname: Linux 4.15.0-151-generic x86_64
Kubuntu has been running VERY solid on this system for years, memtested fine, no SMART errors for drives, etc. I can only narrow this down to the new kernel updates.
For now, the only solution I thought of was to set GRUB to boot the old kernel by default and kept the new kernel available in case I wanted to try to tinker with it some more. For this, I used the solution illustrated here: https://unix.stackexchange.com/questions/198003/set-default-kernel-in-grub