Weird problem with FS going read only when running waydroid

So I ran into a very strange error where my filesystem goes read only. I’m not sure yet what the actual root cause of this is, but I have narrowed down a set of steps that seem to reliably reproduce it.

The keys to triggering this seem to be having waydroid-container.service running, and suspending the system (using either systemcontrol suspend or via menu entry). I think this is related to some kind of issue with the Crucial T705 m2 SSD I have, but I’m not sure why it only triggers when waydroid-container is running.

What happens is that shortly after restoring the system from suspend, the root filesystem will go into read only mode. Due to being in RO mode, there’s nothing useful in the logs. I even tried leaving a tail on dmesg running, but no errors were reported in the log before it stopped updating due to the FS going read only.

The good news for now is that I just don’t run waydroid-container, and everything seems to be stable, I can suspend and restore without issue.

Figured I’d make this post in case anyone else runs into something similar and/or in case anyone has an ideas for what the actual root cause of this is.

System:
  Kernel: 6.11.3-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=1370fb7d-5f33-4b95-9dd2-7ddfcba26fe7 rw rootflags=subvol=@
    quiet resume=UUID=b7305021-7806-494b-becc-291170d3e056 loglevel=3 ibt=off
  Desktop: Hyprland v: N/A with: waybar tools:
    avail: hyprlock,swayidle,swaylock dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: X870E AORUS MASTER v: -CF-WCP
    serial: N/A
  Mobo: Gigabyte model: X870E AORUS MASTER v: x.x serial: N/A
    uuid: 03ff0210-04e0-053b-3406-bd0700080009 UEFI: American Megatrends LLC.
    v: F4c date: 09/27/2024
Battery:
  Device-1: hidpp_battery_7 model: Logitech Wireless Mouse MX Master 2S
    serial: <filter> charge: 50% (should be ignored) rechargeable: yes
    status: charging
CPU:
  Info: model: AMD Ryzen 7 9700X socket: AM5 bits: 64 type: MT MCP arch: N/A
    level: v4 note: check family: 0x1A (26) model-id: 0x44 (68) stepping: 0
    microcode: 0xB404022
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 8 threads: 16 tpc: 2
    smt: enabled cache: L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 8 MiB
    desc: 8x1024 KiB L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 5554 min/max: 600/5581 boost: enabled
    base/boost: 3800/5550 scaling: driver: amd-pstate-epp governor: performance
    volts: 1.3 V ext-clock: 100 MHz cores: 1: 5554 2: 5554 3: 5554 4: 5554
    5: 5554 6: 5554 7: 5554 8: 5554 9: 5554 10: 5554 11: 5554 12: 5554
    13: 5554 14: 5554 15: 5554 16: 5554 bogomips: 121600
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900
    XTX/7900 GRE/7900M] vendor: XFX RX-79XMERCB9 driver: amdgpu v: kernel
    arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm) built: 2022+ pcie:
    gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-1,HDMI-A-1
    empty: DP-2,DP-3,Writeback-1 bus-ID: 03:00.0 chip-ID: 1002:744c
    class-ID: 0300
  Display: unspecified server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.3
    compositor: Hyprland driver: X: loaded: amdgpu unloaded: modesetting,radeon
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :1
  Monitor-1: DP-1 model: RDD0013 serial: <filter> built: 2021 res: 2560x1440
    dpi: 92 gamma: 1.2 size: 708x399mm (27.87x15.71") diag: 813mm (32")
    ratio: 16:9 modes: max: 2560x1440 min: 640x480
  Monitor-2: HDMI-A-1 model: ASUS VZ279 serial: <filter> built: 2017
    res: 1920x1080 dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23")
    diag: 686mm (27") ratio: 16:9 modes: max: 1920x1080 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: radeonsi surfaceless: drv: radeonsi
    inactive: wayland,x11
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 24.2.5-arch1.1
    note: incomplete (EGL sourced) renderer: AMD Radeon RX 7900 XTX (radeonsi
    navi31 LLVM 18.1.8 DRM 3.59 6.11.3-zen1-1-zen), llvmpipe (LLVM 18.1.8 256
    bits)
  API: Vulkan Message: No Vulkan data available.
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 HDMI/DP Audio
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 03:00.1 chip-ID: 1002:ab30 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] Family 17h/19h HD Audio
    vendor: Gigabyte driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 7b:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.11.3-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.2.5 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Qualcomm WCN785x Wi-Fi 7 320MHz 2x2 [FastConnect 7800]
    vendor: Foxconn driver: ath12k_pci v: N/A modules: ath12k pcie: gen: 3
    speed: 8 GT/s lanes: 1 link-max: lanes: 2 bus-ID: 0f:00.0
    chip-ID: 17cb:1107 class-ID: 0280
  IF: wlp15s0 state: up mac: <filter>
  Device-2: Realtek vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 3
    speed: 8 GT/s lanes: 1 port: e000 bus-ID: 10:00.0 chip-ID: 10ec:8126
    class-ID: 0200
  IF: enp16s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Foxconn / Hon Hai driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-10:3 chip-ID: 0489:e10d
    class-ID: e001
  Report: hciconfig ID: hci0 rfk-id: 3 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 sub-v: 43fb hci-v: 12 class-ID: 6c0104
  Info: acl-mtu: 1024:8 sco-mtu: 240:4 link-policy: rswitch hold sniff
    link-mode: peripheral accept service-classes: rendering, capturing, audio,
    telephony
Drives:
  Local Storage: total: 5.46 TiB used: 2.55 TiB (46.7%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Crucial model: CT4000T705SSD3
    size: 3.64 TiB block-size: physical: 512 B logical: 512 B speed: 126 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: PACR5111 temp: 43.9 C
    scheme: GPT
  SMART: yes health: PASSED on: 10d 3h cycles: 27
    read-units: 3,514,154 [1.79 TB] written-units: 4,253,784 [2.17 TB]
  ID-2: /dev/nvme1n1 maj-min: 259:4 vendor: Samsung
    model: SSD 970 EVO Plus 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2B2QEXM7 temp: 48.9 C scheme: GPT
  SMART: yes health: PASSED on: 3y 85d 14h cycles: 2,572
    read-units: 127,353,511 [65.2 TB] written-units: 187,753,261 [96.1 TB]
Partition:
  ID-1: / raw-size: 3.57 TiB size: 3.57 TiB (100.00%) used: 854.75 GiB (23.4%)
    fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1
  ID-3: /home raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 854.75 GiB (23.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-4: /var/log raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 854.75 GiB (23.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-5: /var/tmp raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 854.75 GiB (23.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 62.41 GiB used: 6.35 GiB (10.2%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 68.65 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 51.9 C mobo: N/A gpu: amdgpu temp: 52.0 C
    mem: 62.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 528
Info:
  Memory: total: 64 GiB note: est. available: 62.41 GiB
    used: 18.99 GiB (30.4%)
  Processes: 526 Power: uptime: 3d 10h 46m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 2 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 24.94 GiB services: upowerd
    Init: systemd v: 256 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 2445 libs: 627 tools: pacseek,pamac,paru
    pm: flatpak pkgs: 0 Compilers: clang: 18.1.8 gcc: 14.2.1
    Shell: garuda-inxi (sudo) default: Bash v: 5.2.37 running-in: foot
    inxi: 3.3.36
Garuda (2.6.26-1):
  System install date:     2024-10-04
  Last full system update: 2024-10-21 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Yes
  Failed units:        

Please, reboot ↻

Post

lsblk -f

please and

I do not see it in the Garuda ISO builds. Did you change it?

2 Likes

OK

NAME        FSTYPE FSVER LABEL            UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                           
sdb                                                                                           
zram0                                                                                         [SWAP]
nvme0n1                                                                                       
├─nvme0n1p1 vfat   FAT32                  B879-3AE7                             298.8M     0% /boot/efi
├─nvme0n1p2 btrfs                         1370fb7d-5f33-4b95-9dd2-7ddfcba26fe7    2.7T    24% /var/cache
│                                                                                             /var/tmp
│                                                                                             /var/log
│                                                                                             /home
│                                                                                             /root
│                                                                                             /srv
│                                                                                             /
└─nvme0n1p3 swap   1     swap             b7305021-7806-494b-becc-291170d3e056                [SWAP]
nvme1n1                                                                                       
├─nvme1n1p1 vfat   FAT32                  DCA9-4FE6                                           
├─nvme1n1p2                                                                                   
├─nvme1n1p3 ntfs                          4CAAB84EAAB835F4                      109.3G    94% /mnt
└─nvme1n1p4 ntfs         Windows RE tools 3288460D8845CFD1

Yes, I installed hyprlock from the extra repo as well as a few other things while messing around with different hyprland configs. It’s not currently being used in my idle config though.

Apparently running Waydroid container isn’t the only way to trigger this because I un-suspended my system this morning and the FS immediately went RO. Not sure what triggered it this time, so I guess I’m back at square one. In an attempt to maybe get some clue what’s going on I’m leaving a terminal open with sudo journalctl -f running in it in the hopes of getting literally any clue what’s actually triggering the RO state.

Another thing I noticed in the messages printed when it crashed during the reboot (due to failing to unmount the RO partitions) is that it mentions unmounting a compressed swap space on zram0, which considering the ample RAM and even more ample swap space I’ve got on this system seems like overkill, so I’m going to look into how to disable that.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.