Almost everything Chromium-based suddenly broke, including the Chromium browser itself and Electron apps

I’ve recently run into a rather concerning issue that I’ve had trouble solving. Google has been very little in the way of help. All I’ve found as to results that sound like my issue is this singular thread, which is an immediate dead-end, as I do not have the files SingletonLock or archlinux-2085 in my ~/.config/chromium folder, so that can’t be the issue. Short of reinstalling Chromium and electron and applications that use it, I’m already out of ideas. This is kind of a huge issue since this has ruined my ability to stream.

Among the applications affected, I’ve tried running, AND reinstalling all of them to no affect. I’ve also tried reinstalling Electron, no dice:

  • Discord[aur] (stock)
  • Vencord
  • Vesktop[aur]
  • Stream Labels (installed via Debtap with some modifications to its deps, this sounds hacky but it did used to work btw so I think it not working related to the issue as it uses electron iirc)
  • OBS[aur] Browser Sources
  • Chromium[aur] (Browser)

Here’s what happens if I run the Chromium browser via the terminal.

Chromium logs
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.

(chromium:4927): IBUS-WARNING **: 15:25:42.218: chromium has no capability of surrounding-text feature
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Fontconfig error: Cannot load default config file: No such file: (null)
System details
[roadhog360@roadhog360-laptop16 ~]$ hostnamectl
 Static hostname: roadhog360-laptop16
       Icon name: computer-laptop
         Chassis: laptop 💻
      Machine ID: eb857c6ca1b9464bbe1b57ae782e6ba0
         Boot ID: 5adac8a7276d4fc8b7757f80f1331d3d
Operating System: EndeavourOS                      
          Kernel: Linux 6.13.5-arch1-1
    Architecture: x86-64
 Hardware Vendor: Framework
  Hardware Model: Laptop 16 _AMD Ryzen 7040 Series_
Firmware Version: 03.03
   Firmware Date: Wed 2024-03-27
    Firmware Age: 11month 1w 4d
[roadhog360@roadhog360-laptop16 ~]$ fastfetch
                     ./o.                   roadhog360@roadhog360-laptop16
                   ./sssso-                 ------------------------------
                 `:osssssss+-               OS: EndeavourOS x86_64
               `:+sssssssssso/.             Host: Laptop 16 (AMD Ryzen 7040 Series) (AG)
             `-/ossssssssssssso/.           Kernel: Linux 6.13.5-arch1-1
           `-/+sssssssssssssssso+:`         Uptime: 14 mins
         `-:/+sssssssssssssssssso+/.        Packages: 1673 (pacman), 11 (flatpak-system), 6 (flatpak-user)
       `.://osssssssssssssssssssso++-       Shell: bash 5.2.37
      .://+ssssssssssssssssssssssso++:      Display (BOE0BC9): 2560x1600 @ 165 Hz in 16" [Built-in] *
    .:///ossssssssssssssssssssssssso++:     Display (LG ULTRAGEAR): 2560x1440 @ 144 Hz in 27" [External]
  `:////ssssssssssssssssssssssssssso+++.    DE: KDE Plasma 6.3.2
`-////+ssssssssssssssssssssssssssso++++-    WM: KWin (X11)
 `..-+oosssssssssssssssssssssssso+++++/`    WM Theme: Breeze
   ./++++++++++++++++++++++++++++++/:.      Theme: Breeze (Dark) [Qt], Breeze-Dark [GTK2], Breeze [GTK3]
  `:::::::::::::::::::::::::------``        Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
                                            Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK2/3/4]
                                            Cursor: Breeze_Light (24px)
                                            Terminal: konsole 24.12.3
                                            CPU: AMD Ryzen 7 7840HS (16) @ 3.80 GHz
                                            GPU 1: AMD Radeon RX 7700S [Discrete]
                                            GPU 2: AMD Radeon 780M [Integrated]
                                            Memory: 5.77 GiB / 30.66 GiB (19%)
                                            Swap: 24.73 MiB / 64.00 GiB (0%)

I can hardly think of where to even begin to fix this issue, this issue came out of nowhere a few days ago and I’m completely stumped. I hope someone can help, thanks in advance for any and all answers.

You say, chromium is installed from AUR. I see extra/chromium 134.0.6998.35-1. So, what excactly do you have installed here?

Then, what shows: locale ?

I’m not sure where else it could’ve come from. Besides Stream Labels, and Toontown Rewritten I’ve almost always installed things via the AUR and cannot think of any other examples. Again Stream Labels was installed via debtap, but it worked before, and I’m not really sure why it’d break, or what steps I should take in debugging it.

locale output

[roadhog360@roadhog360-laptop16 ~]$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_AU.UTF-8
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

This is a bit odd. I’ve noticed sometimes installing things complains about locale, but as it’s never caused any issues before, I never paid any mind to it since things seem to default to en_US as intended anyways. It’s been that way since install, on both PCs I’ve used EndeavorOS on. It hasn’t gotten in the way of any installs so I’m unsure of why it would now.

What further steps can I take to provide you with the best relevant information? I’m basically completely lost as to where to even go since this issue is bizarre and unlike anything else before.

1 Like

You have LC_TIME=en_AU.UTF-8. All other values are en_US.UTF-8

What does locale -a show?

Who told you to do this? Where’d you get the info to use the AUR for everything?

In any case, please read through the following threads. Make your life in Arch Linux less complicated by following what actually experienced users recommend.

Install apps in this order once they are available:
Official Repos > AUR/Chaotic-AUR > Direct binary from app website > Flatpak > Snap

The second and third are interchangeable depending on the app, but if you decide to add and use the Chaotic-AUR, do not put it ahead of the Official Repos.
A direct binary file could be an AppImage, zipped folder, etc.

And in case you play games: Linux gaming [Guide]

1 Like

Yes, I should mention this is intentional; I prefer 24:00 clock with YYYY-MM-DD calendar. Although, in locale.conf, it shows LC_TIME=en_US.UTF-8, oddly enough. I’ve added LC_ALL=en_US.UTF-8 to locale.conf and rebooted, with no difference.

[roadhog360@roadhog360-laptop16 ~]$ locale -a
C
C.utf8
en_US.utf8
POSIX

I don’t see en_AU.UTF-8 in the output of locale -a . Could you please uncomment this in /etc/locale.gen and then run locale-gen?

EDIT: After that please run locale again to see if the error message has disappeared. If yes, then try chromium again.

I’ve done as instructed. Chromium still doesn’t work at all, but the locale errors aren’t there any more at least. I’ve rebooted just to be sure after executing the commands you gave me. I’ve decided to reinstall Vesktop to see if its Electron instance would give any info. It turns out it’s also unable to load anything due to timeouts… wait, while fetching all the info for the initial post, I forgot to mention the specific part that is not working is because the page always times out. Argh, sorry!

So yeah, just to clarify, it seems most Chromium things don’t work, because they time out when trying to connect to anything.

Vesktop and Chromium logs
[roadhog360@roadhog360-laptop16 ~]$ vesktop
APPIMAGE env is not defined, current application is not an AppImage
Vesktop v1.5.5
checkForUpdatesAndNotify called, downloadPromise is null
[arRPC > ipc] listening at /run/user/1000/discord-ipc-0
[arRPC > websocket] listening on 6463
[arRPC > process] started

(vesktop:8667): IBUS-WARNING **: 23:44:56.873: vesktop has no capability of surrounding-text feature

(vesktop:8667): IBUS-WARNING **: 23:44:56.874: vesktop has no capability of surrounding-text feature
(node:8667) electron: Failed to load URL: https://discord.com/app with error: ERR_TIMED_OUT
(Use `vesktop --trace-warnings ...` to show where the warning was created)
^X^Z
[1]+  Stopped                 vesktop
[roadhog360@roadhog360-laptop16 ~]$ chromium

(chromium:9316): IBUS-WARNING **: 23:46:57.121: chromium has no capability of surrounding-text feature
Fontconfig error: Cannot load default config file: No such file: (null)

If you feel it’d be relevant I can throw some OBS logs in too after running a barebones scene with only some browser sources.

locale -a now contains en_AU.utf8:

[roadhog360@roadhog360-laptop16 ~]$ locale -a
C
C.utf8
en_AU.utf8
en_US.utf8
POSIX

locale no longer shows an error, but LC_ALL is still somehow blank, even though I added en_US.utf8 to that value in locale.conf multiple reboots ago:

locale.conf
LANG=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_ALL=en_US.UTF-8

I’m wondering if this issue is even related to the system locale at this point. I had a feeling it wasn’t, but I didn’t really know what else the issue could be.

LC_ALL blank is ok. After having added AU to locale.gen you can have now LC_TIME=en_AU.UTF-8.

Well this is embarassing. Somehow the issue was… bad proxy settings. I thought I had set it back to no proxy and honestly this just completely slipped my mind. I had this enabled to use tethering apps with my phone when not at home. I thought I’d set it back, but apparently just forgot. Did I turn off my PC before hitting apply or something…?

When it’s enabled when I’m connected to “regular” internet, I usually don’t even get working internet, which inadvertently reminds me to change it back, so my question now is… why the hell did it break Chromium but not the rest of my PC’s internet accessibility this time?! What changed recently!?

Apologies for the trouble. Dang it

TL;DR Solution: Apparently a bad proxy can potentially break only Chromium… and nothing else… but only sometimes???

Well, chromium does like to have internet in order to work. :rofl: Do other browsers time out as well?

No. I was writing this on Firefox on the same PC, and the AUR/commandline was able to fetch packages, the Vencord command to curl and run the installer worked. Seemingly, everything, BUT Chromium worked. What? How is that even possible?

I have installed chromium from extra channel. Would be interesting to see which packages on your side are from AUR. pacman -Qm shows it.

Since you asked for it:

My junk

[roadhog360@roadhog360-laptop16 ~]$ pacman -Qm
arronax 0.8.1-5
balena-etcher 2:2.1.0-1
bottles 2:51.17-3
cef-minimal-obs-bin 1:127.3.4+ge9e2e14+chromium_127.0.6533.100_1-1
cubeb 20241120-1
ddcci-driver-linux-dkms 0.4.5-1
debtap 3.5.1-1
discord_arch_electron 0.0.87-1
easytether-bin 0.8.9-1
eclipse-java-bin 2:4.34-1
ffmpeg-obs 7.1-5
fw-ectool-git r2763.0ac6155-1
fw-fanctrl-git 1.0.0.r7.e2a2eb9-2
github-desktop-bin 3.4.8_linux1-1
gpu-screen-recorder-git r890.4d3e95d-1
gpu-screen-recorder-gtk-git r388.48d34f5-1
httpdirfs 1.2.7-1
hyperbeam 0.21.0-1
icoextract 0.1.6-1
libajantv2 1:17.1.0-2
libajantv2-debug 1:17.1.0-2
librewolf 1:136.0.0_2-1
libvlc-luajit 3.0.21-10
light 1.2.2-5
minecraft-launcher 1:2.1.3-1
ms-sys 1:2.8.0-1
noisetorch 0.12.2-4
nvm 0.40.1-1
nxapi-app 1.6.1-1
obs-pipewire-audio-capture 1.2.0-1
obs-plugin-aitum-multistream-git 1.0.3.r3.gbd1598d-1
obs-stroke-glow-shadow 1.5.1-1
obs-studio-browser 31.0.1-1
obs-studio-browser-debug 31.0.1-1
obs-vkcapture 1.5.1-1
official-gamecube-controller-adapter-rules 1.0-1
opencollada 1:1.6.68-3
parsec-bin 150_97c-1
patool 4.0.0-1
polymc 7.0-1
protonhax 1.0.5-4
protontricks 1.12.0-1
putty-git 0.81.r204.g109c60b3-1
python-fvs 0.3.4-4
python-pathvalidate 3.2.3-1
python-steamgriddb 1.0.5-4
python-vdf 4.0-2
qbittorrent-git 1:5.1.0alpha1.r342.g6ce286910-1
reiserfsprogs 3.6.27-5
slippi-launcher v2.11.8.r0.gb2ca3b1a-2
sm64coopdx-git 1:r4471.abf818b-1
spectacle-git 6.3.2.r51.g4e7b15d-1
streamlabels 0.6.2-1
ttf-ms-win11-auto 10.0.26100.1742-3
ultravnc-viewer 1.4.31-1
ventoy 1.1.05-1
vesktop 1.5.5-4
vkbasalt-cli 3.1.1-3
vlc-luajit 3.0.21-10
windows2usb 0.2.4-3
xwayland-run-git 0.0.4.r4.g3d0a384-1
xwaylandvideobridge 0.4.0-2

I’m surprised it’s not more. Why ask anyways? Just curious?

1 Like

Yeah, just curious. So, chromium is from extra, I guess. BTW, (not related to your issue) you should remove reiserfsprogs .

@anon93652015 told you already. Install from AUR only stuff you need and you don’t find in the arch official channels.

Example: why do you have putty-git installed? It is even older than the extra/putty package.

Leftover, before I switched to just using Linux’s builtin ssh client. Thanks for reminding me to uninstall it.

Just curious where to globally configured this to effect only Chromium-based apps?

I changed nothing about my proxy configuration beyond changing it to a custom IP for the purpose of making it compatible with my mobile tethering app, which those apps typically need the receiving PC to use a proxy. I didn’t do anything to make it affect specifically Chromium so I have no idea how this happened.

I should have left out the question about the why it only effected Chromiub-based apps. I was more curious how you a globally configured proxy configured and why because I wasn’t quite getting the reason. So from my understanding you were tethering with your mobile phone which needs a Proxy and then you configured a global proxy somewhere for your apps to be able to access the internet through your phone?

I just changed the proxy settings in the settings menu. There’s no option to make the proxy per-network, and there are no proxy settings under the networks I’ve connected to, the only proxy settings menu I see affects all networks unconditionally. So the “how” is just in the system settings app included with KDE, and the why is because there’s no other option to make it apply to only one network.

1 Like