I'm facing an issue when running discord. It crashes when it starts. I can see the update screen and then it segfaults.
2023-07-22T14:20:01.223Z [Modules] Modules initializing
2023-07-22T14:20:01.224Z [Modules] Distribution: remote
2023-07-22T14:20:01.224Z [Modules] Host updates: enabled
2023-07-22T14:20:01.224Z [Modules] Module updates: enabled
2023-07-22T14:20:01.224Z [Modules] Module install path: /home/cmichaud/.config/discord/0.0.28/modules
2023-07-22T14:20:01.224Z [Modules] Module installed file path: /home/cmichaud/.config/discord/0.0.28/modules/installed.json
2023-07-22T14:20:01.224Z [Modules] Module download path: /home/cmichaud/.config/discord/0.0.28/modules/pending
[129484:0722/162001.238048:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is egl, ANGLE is
2023-07-22T14:20:01.316Z [Modules] No updates to install
2023-07-22T14:20:01.317Z [Modules] Checking for host updates.
2023-07-22T14:20:01.455Z [Modules] Host is up to date.
2023-07-22T14:20:01.455Z [Modules] Checking for module updates at https://discord.com/api/modules/stable/versions.json
2023-07-22T14:20:01.480Z [Modules] No module updates available.
Optional module ./ElectronTestRpc was not included.
[WebContents] crashed (reason: crashed, exitCode: 139)... reloading
Optional module ./ElectronTestRpc was not included.
[WebContents] double crashed (reason: crashed, exitCode: 139)... RIP =(
I'm facing it with the official discord, the discord-electron package as well as discord_arch_electron.
It's happening on wayland only apparently because I tried to run it on X and it seems to work.
I have tried to debug and came up with this stack trace which does not give me any obvious answer:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/lib/electron24/electron --type=renderer --crashpad-handler-pid=120751 --en'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 XInternAtom (dpy=0x0, name=0x7f4e07a750c0 "_NET_WM_PID", onlyIfExists=1) at /usr/src/debug/libx11/libX11-1.8.6/src/IntAtom.c:175
175 LockDisplay(dpy);
[Current thread is 1 (Thread 0x7f4e079ff6c0 (LWP 120982))]
(gdb) bt
#0 XInternAtom (dpy=0x0, name=0x7f4e07a750c0 "_NET_WM_PID", onlyIfExists=1) at /usr/src/debug/libx11/libX11-1.8.6/src/IntAtom.c:175
#1 0x00007f4e07a2fc0b in discord::ProcessObserver::PlatformInit() () at ../../discord_desktop/native_modules/discord_utils/src/process_observer_linux.cpp:90
#2 0x00007f4e07a1bb2f in (anonymous namespace)::CreateWorker()::$_19::operator()() const (this=<optimized out>) at ../../discord_desktop/native_modules/discord_utils/src/utils_bindings.cpp:56
#3 discord::uv::Executor::ExecuteBlocking<(anonymous namespace)::CreateWorker()::$_19>((anonymous namespace)::CreateWorker()::$_19&&)::{lambda()#1}::operator()() const (this=<optimized out>) at ../../discord_common/native/uv/executor.h:52
#4 discord::uv::Task<discord::uv::Executor::ExecuteBlocking<(anonymous namespace)::CreateWorker()::$_19>((anonymous namespace)::CreateWorker()::$_19&&)::{lambda()#1}>::Run() (this=0x14a8017a7660) at ../../discord_common/native/uv/executor.h:29
#5 0x00007f4e07a33f09 in discord::uv::Executor::ExecutePending() (this=0x14a8016c9800) at ../../discord_common/native/uv/executor.cpp:140
#6 0x0000563825aa8ec3 in uv.async_io ()
#7 0x0000563825ab9588 in uv.io_poll ()
#8 0x0000563825aa9309 in uv_run ()
#9 0x00007f4e07a34699 in discord::uv::ThreadedEventLoop::ThreadMain(char const*, std::__1::promise<void>) (this=0x0, name=<optimized out>, ready=...) at ../../discord_common/native/uv/threaded_event_loop.cpp:95
#10 0x00007f4e07a3496d in std::__1::__invoke<void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void>, void>(void (discord::uv::ThreadedEventLoop::*&&)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*&&, char const*&&, std::__1::promise<void>&&)
(__f=@0x14a8017e1118: (void (discord::uv::ThreadedEventLoop::*)(class discord::uv::ThreadedEventLoop * const, const char *, class std::__1::promise<void>)) 0x7f4e07a345d0 <discord::uv::ThreadedEventLoop::ThreadMain(char const*, std::__1::promise<void>)>, __a0=@0x14a8017e1128: 0x14a8017cfa98, __args=@0x14a8017e1130: 0x7f4e07a74bfd "Utils", __args=...)
at ../../discord_common/native/third_party/llvm/libcxx/include/type_traits:3470
#11 std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void>, 2ul, 3ul, 4ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void> >&, std::__1::__tuple_indices<2ul, 3ul, 4ul>) (__t=...) at ../../discord_common/native/third_party/llvm/libcxx/include/thread:273
#12 std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void> > >(void*) (__vp=0x14a8017e1110)
at ../../discord_common/native/third_party/llvm/libcxx/include/thread:283
#13 0x00007f4eac09d44b in start_thread (arg=<optimized out>) at pthread_create.c:444
#14 0x00007f4eac120e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
I have tried using many versions of electron (20, 22, 23, 24, 25), always the same issue and whatever the flag, either --ozone-platform=wayland or --ozone-platform-hint=auto. I also tried to strace the process but without any luck so far.
Anyone has any idea what could be the problem?
Pinned Comments
Zoddo commented on 2022-09-15 17:54 (UTC) (edited on 2023-03-31 17:24 (UTC) by Zoddo)
Starting with 0.0.26-1 (2023-03-31):
Starting with 0.0.20-1 (2022-09-15):
$XDG_CONFIG_HOME/discord-flags.conf
: this works likeelectron-flags.conf
, you can set in this file the command line flags you want to pass to electron when running Discord (there are some useful flags in the wiki, especially if you are experiencing lag in the Discord UI).FAQ
Discord requires an update, but this package isn't yet updated
Check the wiki.
The Discord UI is lagging
Try to add the flags recommended in the wiki in
$XDG_CONFIG_HOME/discord-flags.conf
.Krisp not working
This is an issue that will likely never be fixed for this package. The Krisp module checks if Discord binaries are signed by Discord, which is not the case with this package.
See this comment and this GitHub issue for more details and possibles workarounds.