Fedora in read-only mode

Hi, after waking up from suspend fedora went in read-only mode. I get errors trying to launch web browsers, both firefox and chomium based (saying that there are instances running, but there are not). Initially when trying to fix that by deleting singleton.lock I’ve found out than I cannot delete files at all.
After some research I see people suggesting that it may be due to hardware problems with boot drive or memory. I’ve done some tests:

RAM test
liveuser@localhost-live:~$ sudo memtester 14G 10
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 14336MB (15032385536 bytes)
got  14336MB (15032385536 bytes), trying mlock ...locked.
Loop 1/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   0FAILURE: 0x4000000000 != 0x00000000 at offset 0x110c48888.
  Checkerboard    	: testing   2FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing   4FAILURE: 0x4000000001 != 0x00000001 at offset 0x110c48888.
  Walking Ones    	: testing   4FAILURE: 0xfffffffbffffffef != 0xffffffffffffffef at offset 0x1134f9dd0.
  Walking Zeroes  	: testing  54FAILURE: 0x40004000000000 != 0x40000000000000 at offset 0x110c48888.
  8-bit Writes    	: |FAILURE: 0xaffff0fcf9fd9dd1 != 0xaffff0bcf9fd9dd1 at offset 0x110c48888.
  16-bit Writes   	: ok

Loop 2/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  13FAILURE: 0xd0d0d090d0d0d0d != 0xd0d0d0d0d0d0d0d at offset 0x1134f9dd0.
  Checkerboard    	: testing   2FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing   2FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 3/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   4FAILURE: 0x404040004040404 != 0x404040404040404 at offset 0x1134f9dd0.
  Checkerboard    	: testing   4FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  20FAILURE: 0xfffffffbfffffffb != 0xfffffffffffffffb at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: testing  64FAILURE: 0x8000004000000000 != 0x8000000000000000 at offset 0x110c48888.
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 4/10:
  Stuck Address   	: testing  10FAILURE: possible bad address line at offset 0x1134f9dd0.
Skipping to next test...
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
FAILURE: 0x7def20a881025ee3 != 0x7def20ac81025ee3 at offset 0x1134f9dd0.
  Sequential Increment:   Solid Bits      	: testing  52FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing   5FAILURE: 0x505050105050505 != 0x505050505050505 at offset 0x1134f9dd0.
  Checkerboard    	: testing  54FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  28FAILURE: 0xfffffffbfffffff7 != 0xfffffffffffffff7 at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 5/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   4FAILURE: 0x404040004040404 != 0x404040404040404 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 122FAILURE: 0x4000008000 != 0x00008000 at offset 0x110c48888.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: testing 108FAILURE: 0x4000080000 != 0x00080000 at offset 0x110c48888.
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 6/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: testing   4FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing  13FAILURE: 0xd0d0d090d0d0d0d != 0xd0d0d0d0d0d0d0d at offset 0x1134f9dd0.
  Checkerboard    	: testing  44FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 142FAILURE: 0xfffffffbfffdffff != 0xfffffffffffdffff at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: -FAILURE: 0x2f4b5942c57f1c68 != 0x2f4b5946c57f1c68 at offset 0x1134f9dd0.

Loop 7/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
FAILURE: 0x72fb05381a5f07c0 != 0x72fb053c1a5f07c0 at offset 0x1134f9dd0.
  Sequential Increment:   Solid Bits      	: testing   8FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing   5FAILURE: 0x505050105050505 != 0x505050505050505 at offset 0x1134f9dd0.
  Checkerboard    	: testing  22FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 150FAILURE: 0x4000040000 != 0x00040000 at offset 0x110c48888.
  Walking Ones    	: testing   3FAILURE: 0xfffffffbfffffff7 != 0xfffffffffffffff7 at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 8/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   7FAILURE: 0x707070307070707 != 0x707070707070707 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  14FAILURE: 0xfffffffbfffffffd != 0xfffffffffffffffd at offset 0x1134f9dd0.
  Walking Ones    	: testing   1FAILURE: 0xfffffffbfffffffd != 0xfffffffffffffffd at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 9/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
FAILURE: 0xe58cf9d30e367fdb != 0xe58cf9930e367fdb at offset 0x110c48888.
  Compare MUL     	:   Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  38FAILURE: 0x2626262226262626 != 0x2626262626262626 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: ok    	 
  Walking Ones    	: testing   2FAILURE: 0xfffffffbfffffffb != 0xfffffffffffffffb at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: okliveuser@localhost-live:~$ sudo memtester 14G 10
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 14336MB (15032385536 bytes)
got  14336MB (15032385536 bytes), trying mlock ...locked.
Loop 1/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   0FAILURE: 0x4000000000 != 0x00000000 at offset 0x110c48888.
  Checkerboard    	: testing   2FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing   4FAILURE: 0x4000000001 != 0x00000001 at offset 0x110c48888.
  Walking Ones    	: testing   4FAILURE: 0xfffffffbffffffef != 0xffffffffffffffef at offset 0x1134f9dd0.
  Walking Zeroes  	: testing  54FAILURE: 0x40004000000000 != 0x40000000000000 at offset 0x110c48888.
  8-bit Writes    	: |FAILURE: 0xaffff0fcf9fd9dd1 != 0xaffff0bcf9fd9dd1 at offset 0x110c48888.
  16-bit Writes   	: ok

Loop 2/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  13FAILURE: 0xd0d0d090d0d0d0d != 0xd0d0d0d0d0d0d0d at offset 0x1134f9dd0.
  Checkerboard    	: testing   2FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing   2FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 3/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   4FAILURE: 0x404040004040404 != 0x404040404040404 at offset 0x1134f9dd0.
  Checkerboard    	: testing   4FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  20FAILURE: 0xfffffffbfffffffb != 0xfffffffffffffffb at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: testing  64FAILURE: 0x8000004000000000 != 0x8000000000000000 at offset 0x110c48888.
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 4/10:
  Stuck Address   	: testing  10FAILURE: possible bad address line at offset 0x1134f9dd0.
Skipping to next test...
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
FAILURE: 0x7def20a881025ee3 != 0x7def20ac81025ee3 at offset 0x1134f9dd0.
  Sequential Increment:   Solid Bits      	: testing  52FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing   5FAILURE: 0x505050105050505 != 0x505050505050505 at offset 0x1134f9dd0.
  Checkerboard    	: testing  54FAILURE: 0xaaaaaaeaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x110c48888.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  28FAILURE: 0xfffffffbfffffff7 != 0xfffffffffffffff7 at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 5/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   4FAILURE: 0x404040004040404 != 0x404040404040404 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 122FAILURE: 0x4000008000 != 0x00008000 at offset 0x110c48888.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: testing 108FAILURE: 0x4000080000 != 0x00080000 at offset 0x110c48888.
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 6/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: testing   4FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing  13FAILURE: 0xd0d0d090d0d0d0d != 0xd0d0d0d0d0d0d0d at offset 0x1134f9dd0.
  Checkerboard    	: testing  44FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 142FAILURE: 0xfffffffbfffdffff != 0xfffffffffffdffff at offset 0x1134f9dd0.
  Walking Ones    	: testing   0FAILURE: 0xfffffffbfffffffe != 0xfffffffffffffffe at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: -FAILURE: 0x2f4b5942c57f1c68 != 0x2f4b5946c57f1c68 at offset 0x1134f9dd0.

Loop 7/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
FAILURE: 0x72fb05381a5f07c0 != 0x72fb053c1a5f07c0 at offset 0x1134f9dd0.
  Sequential Increment:   Solid Bits      	: testing   8FAILURE: 0xfffffffbffffffff != 0xffffffffffffffff at offset 0x1134f9dd0.
  Block Sequential	: testing   5FAILURE: 0x505050105050505 != 0x505050505050505 at offset 0x1134f9dd0.
  Checkerboard    	: testing  22FAILURE: 0x5555555155555555 != 0x5555555555555555 at offset 0x1134f9dd0.
  Bit Spread      	: ok    	 
  Bit Flip        	: testing 150FAILURE: 0x4000040000 != 0x00040000 at offset 0x110c48888.
  Walking Ones    	: testing   3FAILURE: 0xfffffffbfffffff7 != 0xfffffffffffffff7 at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 8/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing   7FAILURE: 0x707070307070707 != 0x707070707070707 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: testing  14FAILURE: 0xfffffffbfffffffd != 0xfffffffffffffffd at offset 0x1134f9dd0.
  Walking Ones    	: testing   1FAILURE: 0xfffffffbfffffffd != 0xfffffffffffffffd at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 9/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
FAILURE: 0xe58cf9d30e367fdb != 0xe58cf9930e367fdb at offset 0x110c48888.
  Compare MUL     	:   Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  38FAILURE: 0x2626262226262626 != 0x2626262626262626 at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: ok    	 
  Walking Ones    	: testing   2FAILURE: 0xfffffffbfffffffb != 0xfffffffffffffffb at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Loop 10/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  62FAILURE: 0x3e3e3e3a3e3e3e3e != 0x3e3e3e3e3e3e3e3e at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: ok    	 
  Walking Ones    	: testing   4FAILURE: 0xfffffffbffffffef != 0xffffffffffffffef at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Done.
  16-bit Writes   	: ok

Loop 10/10:
  Stuck Address   	: ok    	 
  Random Value    	: ok
  Compare XOR     	: ok
  Compare SUB     	: ok
  Compare MUL     	: ok
  Compare DIV     	: ok
  Compare OR      	: ok
  Compare AND     	: ok
  Sequential Increment: ok
  Solid Bits      	: ok    	 
  Block Sequential	: testing  62FAILURE: 0x3e3e3e3a3e3e3e3e != 0x3e3e3e3e3e3e3e3e at offset 0x1134f9dd0.
  Checkerboard    	: ok    	 
  Bit Spread      	: ok    	 
  Bit Flip        	: ok    	 
  Walking Ones    	: testing   4FAILURE: 0xfffffffbffffffef != 0xffffffffffffffef at offset 0x1134f9dd0.
  Walking Zeroes  	: ok    	 
  8-bit Writes    	: ok
  16-bit Writes   	: ok

Done.
SSD test
liveuser@localhost-live:~$ sudo smartctl -a /dev/nvme0n1
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.5-301.fc40.x86_64] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                   	PCIe SSD
Serial Number:                  	19041551200496
Firmware Version:               	ECFM12.2
PCI Vendor/Subsystem ID:        	0x1987
IEEE OUI Identifier:            	0x6479a7
Total NVM Capacity:             	512,110,190,592 [512 GB]
Unallocated NVM Capacity:       	0
Controller ID:                  	1
NVMe Version:                   	1.3
Number of Namespaces:           	1
Namespace 1 Size/Capacity:      	512,110,190,592 [512 GB]
Namespace 1 Formatted LBA Size: 	512
Namespace 1 IEEE EUI-64:        	6479a7 1d53092020
Local Time is:                  	Mon Nov 18 07:15:28 2024 EST
Firmware Updates (0x12):        	1 Slot, no Reset required
Optional Admin Commands (0x0007):   Security Format Frmw_DL
Optional NVM Commands (0x0054): 	DS_Mngmt Sav/Sel_Feat Timestmp
Log Page Attributes (0x0c):     	Ext_Get_Lg Telmtry_Lg
Maximum Data Transfer Size:     	512 Pages
Warning  Comp. Temp. Threshold: 	70 Celsius
Critical Comp. Temp. Threshold: 	90 Celsius

Supported Power States
St Op 	Max   Active 	Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 + 	8.09W   	-    	-	0  0  0  0    	0   	0
 1 + 	6.37W   	-    	-	1  1  1  1    	0   	0
 2 + 	5.52W   	-    	-	2  2  2  2    	0   	0
 3 -   0.0490W   	-    	-	3  3  3  3 	2000	2000
 4 -   0.0018W   	-    	-	4  4  4  4	25000   25000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 + 	512   	0     	2
 1 -	4096   	0     	1

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:               	0x00
Temperature:                    	18 Celsius
Available Spare:                	100%
Available Spare Threshold:      	5%
Percentage Used:                	8%
Data Units Read:                	83,734,547 [42.8 TB]
Data Units Written:             	68,504,105 [35.0 TB]
Host Read Commands:             	897,514,851
Host Write Commands:            	1,471,035,981
Controller Busy Time:           	6,719
Power Cycles:                   	1,558
Power On Hours:                 	23,271
Unsafe Shutdowns:               	117
Media and Data Integrity Errors:	0
Error Information Log Entries:  	5,391
Warning  Comp. Temperature Time:	0
Critical Comp. Temperature Time:	0

Error Information (NVMe Log 0x01, 16 of 63 entries)
Num   ErrCount  SQId   CmdId  Status  PELoc      	LBA  NSID	VS  Message
  0   	5391 	0  0x0001  0x400c  	-  	4194464 	0 	-  Internal Error
  1   	5390 	0  0x0004  0x4004  0x028        	0 	0 	-  Invalid Field in Command
  2   	5389 	0  0x001a  0x4004  	-        	0 	0 	-  Invalid Field in Command
  3   	5388 	0  0x0007  0x4004  	-        	0 	0 	-  Invalid Field in Command
  4   	5387 	0  0x500f  0x4004  0x028        	0 	0 	-  Invalid Field in Command
  5   	5386 	0  0x001e  0x4004  	-        	0 	0 	-  Invalid Field in Command
  6   	5385 	0  0x0007  0x4004  	-        	0 	0 	-  Invalid Field in Command
  7   	5384 	0  0x500b  0x4004  0x028        	0 	0 	-  Invalid Field in Command
  8   	5383 	0  0x001e  0x4004  	-        	0 	0 	-  Invalid Field in Command
  9   	5382 	0  0x0007  0x4004  	-        	0 	0 	-  Invalid Field in Command
 10   	5381 	0  0x0018  0x4004  0x028        	0 	0 	-  Invalid Field in Command
 11   	5380 	0  0x001a  0x4004  	-        	0 	0 	-  Invalid Field in Command
 12   	5379 	0  0x0007  0x4004  	-        	0 	0 	-  Invalid Field in Command
 13   	5378 	0  0x5017  0x4004  0x028        	0 	0 	-  Invalid Field in Command
 14   	5377 	0  0x001a  0x4004  	-        	0 	0 	-  Invalid Field in Command
 15   	5376 	0  0x0007  0x4004  	-        	0 	0 	-  Invalid Field in Command
... (47 entries not read)

Self-tests not supported

liveuser@localhost-live:~$ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning   		 : 0
temperature   			 : 18 °C (291 K)
available_spare   			 : 100%
available_spare_threshold   	 : 5%
percentage_used   			 : 8%
endurance group critical warning summary: 0
Data Units Read   			 : 83734547 (42.87 TB)
Data Units Written   		 : 68504105 (35.07 TB)
host_read_commands   		 : 897514851
host_write_commands   		 : 1471035981
controller_busy_time   		 : 6719
power_cycles   			 : 1558
power_on_hours   			 : 23271
unsafe_shutdowns   		 : 117
media_errors   			 : 0
num_err_log_entries   		 : 5391
Warning Temperature Time   	 : 0
Critical Composite Temperature Time    : 0
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0

I don’t really know enough to know how to interpret this. One article said that if SSD doesn’t show critical warnings, it’s fine. But RAM shows a lot of errors, so is that it?
Or is there a possibility that this is a software problem?

BTRFS likes to corrupt the journal files at random no i/o errors, only after updating to fedora 41 and it happens randomly after closing a game through Lutris… Limiting journal to 500MB of space instead of several Gigabytes seems to work plus rotate and vacuuming after the change, but I don’t know how long it will last.

I see, I did play games. But how do I do this if the system is read-only? I can’t edit journald.conf and vacuuming also fails.

Your ram test results show that you have some ram in this machine which is not 100% reliable.

I’d run a full memtest86 test from the boot menu (you may need to install memtest86 via dnf if it’s not already installed, then you should be able to select it from grub).

Alternatively, grab an ISO of it and boot from it via a USB stick and run it from there directly.

Let it run overnight. I’m pretty sure it’ll show you have some bad ram at which point you think about replacing it.

Get the RAM issue corrected first and then you can address correcting whatever is wrong with your installation. Doing it the other way around may well end up re-introducing new and more unpleasant issues onto a perfectly good operating system and filesystem.

1 Like

When it goes into read only mode i reboot the machine after booting it is not in read only mode so I that’s when i made the changes.

Reboot doesn’t work for me, I will try running memtest86.

No one has shown this to be true.

What is true is that f41 provides a improved version of btrfs that detects more error conditions. Each report I know of has at the root been a hardware issue.

Your RAM is broken you can fix hardware with a reboot.

Run memtest86 from USB, got fail. Ok, so RAM replacement it is. But what do I do once the memory is replaced? Will the system exit read-only mode by itself?

A repair of the file system will be required. There are btrfs experts here that can assist in that. But it the worst case you may have to backup what you can and install Fedora again.

Broken ram corrupted the filesystem. BTRFS is innocent.
Replace ram and hope the data are, more or less, still there. Scrub the drive with the new ram.

I’ve installed new RAM, it passes memtest86. Is it possible to repair the system and make it not read-only? How do I do this? I have tried “btrfs scrub” (if that was the advice from the last post), but it did not help.

Follow the instructions. If it cannot fix the things, reformat.