Hello everyone, I’ve had an issue with discord on Arch Linux for a long time, but only now had the time to document the error (had to photograph it with phone and transcribe it).

Its a weird one, buckle up.

At random times, discord crashes which causes my polybar to crash, as well as my sxhkd, which obviously means my computer is practically useless until I hard shutdown using the power button on my case. Whats weird is that sometimes it will go weeks without crashing, and other times it will crash frequently in a short time span (e.g. it crashed a couple times yesterday, and once today).

Here is the error as I photographed it:

And here it is after I manually copied it into a text editor (keep in mind I might have missed a character here or there because of this).

A JavaScript Error occurred in the main process

Uncaught exception:
Error: EROFS: read-only file system, write
	at writeSync (node:fs:923:3)
	at SyncWriteStream._write (node:internal/fs/sync._write_stream:275)
	at writeOrBuffer (node:internal/streams/writable:572:12)
	at _write (node:internal/streams/writable:501:10)
	at Writeable.write (node:internal/streams/writable:510:10)
	at console.value (node:internal/console/constructor:298:16)
	at console.warn (node:internal/console/constructor:405:26)
	at transport.writeFn (/opt/discord/resources/app.asar/node_modules/electron-log/src/node/transports/console.js:45:7)
	at transport (/opt/discord/resources/app.asar/node_modules/electron-log/src/node/transports/console.js:51:15)
	at Logger.processMessage (/opt/discord/resources/app.asar/node_modules/electron-log/src/core/Logger.js:175:11)

Anyone have any idea how I can troubleshoot this?

I also tried checking the following directory but it doesn’t exist on my PC:

/opt/discord/resources/app.asar/node_modules/electron-log/src/core/

I only have the file /opt/discord/resources/app.asar So obviously something is going on there that shouldn’t be happening.

I’ve got no idea how to troubleshoot node apps, so would appreciate any help from those of you who have those skills.

Thanks in advance! Please let me know if you need more info or need me to run commands and show you the output, and Ill do so.

  • ferret@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    22 days ago

    This sounds to me like something else is killing all your shit and it causes discord to crash first.

    • promitheas@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      How would I try to track the issue down given I don’t exactly know when the issue will appear? Is there a way to set something like a listener on the discord process and just wait for it to happen and see what else happens around that time?

  • gabmus@retrolemmy.com
    link
    fedilink
    arrow-up
    0
    ·
    23 days ago

    Could be drive failure, or maybe your package for discord is broken? I’d try discord flatpak even just as a troubleshooting step, but honestly that’s the preferred way to install these kinds of applications anyway

    • promitheas@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      19 days ago

      I dont believe its a drive failure after checking. Its a pretty new NVMe drive:

      $ sudo smartctl -t short /dev/nvme0n1p3
      smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.17.8-arch1-1] (local build)
      Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org
      
      Self-test has begun (NSID 0x1)
      Use smartctl -X to abort test
      
      $ sudo smartctl -H /dev/nvme0n1p3
      smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.17.8-arch1-1] (local build)
      Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org
      
      === START OF SMART DATA SECTION ===
      SMART overall-health self-assessment test result: PASSED
      

      Also with nvme-cli:

      $ sudo nvme smart-log /dev/nvme0n1
      Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
      critical_warning			: 0 <<<<======================= Seems good!
      temperature				: 45 °C (318 K, 113 °F)
      available_spare				: 100%
      available_spare_threshold		: 10%
      percentage_used				: 1%
      endurance group critical warning summary: 0
      Data Units Read				: 8034527 (4.11 TB)
      Data Units Written			: 70423529 (36.06 TB)
      host_read_commands			: 58265590
      host_write_commands			: 901798802
      controller_busy_time			: 10039
      power_cycles				: 340
      power_on_hours				: 1500
      unsafe_shutdowns			: 63
      media_errors				: 0
      num_err_log_entries			: 0
      Warning Temperature Time		: 0
      Critical Composite Temperature Time	: 0
      Temperature Sensor 1			: 45 °C (318 K, 113 °F)
      Temperature Sensor 2			: 48 °C (321 K, 118 °F)
      Thermal Management T1 Trans Count	: 0
      Thermal Management T2 Trans Count	: 0
      Thermal Management T1 Total Time	: 0
      Thermal Management T2 Total Time	: 0
      

      As for flatpacks, I’d like to avoid such install methods if possible, at least for now. Whats weird is I don’t think I’ve come across anyone else with this issue, so I doubt its something wrong in general with the packagement process.

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    23 days ago

    Read only filesystem is the problem, but we need more info to figure out what that means.

    Run ls -lh /opt and ls -lh /opt/discord and post the output of both here.

    Would also be good to check your drive for SMART errors in case it’s on its way out.

    • promitheas@programming.devOP
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      23 days ago
      $ ls -lh /opt
      total 36K
      drwxr-xr-x 7 root root 4.0K Nov 24 15:04 app1
      drwx--x--x 4 root root 4.0K Aug 15 16:43 containerd
      drwxr-xr-x 4 root root 4.0K Nov 25 17:00 discord
      drwxr-xr-x 5 root root 4.0K Nov 24 15:04 app2
      drwxr-xr-x 4 root root 4.0K Feb 25  2025 app3
      drwxr-xr-x 6 root root 4.0K Nov 24 15:04 app4
      drwxrwxrwx 6 root root 4.0K Nov 25 17:00 app5
      drwxr-xr-x 4 root root 4.0K Mar 20  2025 texlive
      drwxr-xr-x 4 root root 4.0K Jun  4 00:59 app6
      
      $ ls -lh /opt/discord
      total 216M
      -rw-r--r-- 1 root root 164K Nov 25 00:11 chrome_100_percent.pak
      -rw-r--r-- 1 root root 254K Nov 25 00:11 chrome_200_percent.pak
      -rwxr-xr-x 1 root root 1.5M Nov 25 00:11 chrome_crashpad_handler
      -rwsr-xr-x 1 root root  15K Nov 25 00:11 chrome-sandbox
      -rwxr-xr-x 1 root root 182M Nov 25 00:11 Discord
      -rw-r--r-- 1 root root  299 Nov 25 00:11 discord.desktop
      -rw-r--r-- 1 root root 6.9K Nov 25 00:11 discord.png
      -rw-r--r-- 1 root root  10M Nov 25 00:11 icudtl.dat
      -rw-r--r-- 1 root root 247K Nov 25 00:11 libEGL.so
      -rw-r--r-- 1 root root 3.9M Nov 25 00:11 libffmpeg.so
      -rw-r--r-- 1 root root 6.2M Nov 25 00:11 libGLESv2.so
      -rw-r--r-- 1 root root 4.6M Nov 25 00:11 libvk_swiftshader.so
      -rw-r--r-- 1 root root 600K Nov 25 00:11 libvulkan.so.1
      drwxr-xr-x 2 root root 4.0K Nov 25 17:00 locales
      drwxr-xr-x 3 root root 4.0K Nov 25 17:00 resources
      -rw-r--r-- 1 root root 5.8M Nov 25 00:11 resources.pak
      -rw-r--r-- 1 root root 333K Nov 25 00:11 snapshot_blob.bin
      -rw-r--r-- 1 root root 702K Nov 25 00:11 v8_context_snapshot.bin
      -rw-r--r-- 1 root root  107 Nov 25 00:11 vk_swiftshader_icd.json
      

      As for the drive, my root partition is on an NVME drive which should be fine considering its not even 3 years old.

      What info does this give you? As someone more experienced, what jumps out at you when looking at this (trying to improve my knowledge while troubleshooting - 2 for the price of 1 xD)

      • just_another_person@lemmy.world
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        23 days ago

        Okay, well there’s your problem. Everything is owned by root, and you’re running this program as your local user.

        Basically, it’s trying to download an update but can’t write to the directory because you don’t have permissions.

        Just install the Flatpak, honestly, and skip this mess.

        Digging deeper, I think this is just a bad call one two fronts: the package maintainers, and the Discord devs who should have this as a handled exception instead of bailing like this.

        If you want to fix it temporarily, just chown -R [your_username] /opt/discord and that should stop it. I guarantee it’ll break on the next pacman update again though.