oxen-io / session-desktop

Session Desktop - Onion routing based messenger
https://getsession.org
GNU General Public License v3.0
1.47k stars 189 forks source link

Session hangs when launched from desktop entry in Sway WM #2616

Open lilacpixel opened 1 year ago

lilacpixel commented 1 year ago

Describe the bug When Session is launched in Sway using the default session-desktop.desktop entry, the application hangs on the startup screen and quickly ramps up to 100% CPU usage. Creating a desktop entry for the AppImage and launching this from wofi triggers the same behavior. Both RPM and AppImage versions of the application load without issue when launched directly from the command line or when the desktop entry's Exec is modified to the following:

swaymsg -- exec /opt/Session/session-desktop --ozone-platform=wayland

To Reproduce

  1. Install the Session RPM, or create a desktop entry that points to the Session AppImage.
  2. Launch Session using any desktop launcher.
  3. Session window appears, displays the Session logo, and immediately hangs.

Other information:

KeeJef commented 1 year ago

I'm not familiar with Sway, looks like its a window manager, do any other Electron applications like Signal desktop have the same issue?

lilacpixel commented 1 year ago

I'm not familiar with Sway, looks like its a window manager, do any other Electron applications like Signal desktop have the same issue?

Yes, it's a Wayland window manager! I haven't encountered any other Electron applications with this particular issue, including Signal. It doesn't seem to be a Wayland issue, either; some Electron applications, like Discord, only run in XWayland, and most will run okay in either depending on whether --ozone-platform=wayland is present.

Since both GNOME and KDE default to Wayland on new installs, I'm guessing those work fine… is there anything in particular that I can do to test further? I haven't had any success obtaining logs, since any tweak that would produce an accessible log (launching the desktop entry with gtk-launch, wrapping the desktop entry's Exec command in bash -c "[exec command] > /tmp/session-log.txt", running directly from the terminal, etc.) causes the program to actually… work, and it doesn't hang at all. It's only through the launcher with the default desktop entry that I can reproduce this behavior. 😕

majestrate commented 1 year ago

it's an issue with us using an old electron version i think.

KeeJef commented 1 year ago

We recently updated the Electron version we're using, no new release yet, but lets see if this is fixed in next release

ngrigoriev commented 2 months ago

No, it is not fixed.

I'm not familiar with Sway, looks like its a window manager, do any other Electron applications like Signal desktop have the same issue?

Sway is the same as i3wm but for Wayland.

ngrigoriev commented 2 months ago

Just tried it. The app starts and crashes.

Process 3777297 (session-desktop) of user 1000 dumped core.

                                                 Stack trace of thread 3777311:
                                                 #0  0x00006265fd666520 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x4846520)
                                                 #1  0x00006265fd4f36ff n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x46d36ff)
                                                 #2  0x00006265fe7c91a5 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x59a91a5)
                                                 #3  0x00006265fe7d44b7 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x59b44b7)
                                                 #4  0x00006265fb39610d n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x257610d)
                                                 #5  0x00006265fb397118 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2577118)
                                                 #6  0x00006265fb4431f6 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x26231f6)
                                                 #7  0x00006265fb43c36e n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x261c36e)
                                                 #8  0x00006265fb43fac0 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x261fac0)
                                                 #9  0x00006265fb42a04a n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x260a04a)
                                                 #10 0x00006265fb42d8e7 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x260d8e7)
                                                 #11 0x00006265fb41beeb n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x25fbeeb)
                                                 #12 0x00006265fb39b53f n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x257b53f)
                                                 #13 0x00006265fb3b11f1 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x25911f1)
                                                 #14 0x00006265fe4e62d2 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56c62d2)
                                                 #15 0x00006265fe60aec5 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x57eaec5)
                                                 #16 0x00006265fe4e6737 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56c6737)
                                                 #17 0x00006265fe48f07c n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x566f07c)
                                                 #18 0x00006265fe4510d1 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56310d1)
                                                 #19 0x00006265fe4afac8 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x568fac8)
                                                 #20 0x00006265fff4784f n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x712784f)
                                                 #21 0x00006265fe4afc68 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x568fc68)
                                                 #22 0x00006265fe4c2ac5 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56a2ac5)
                                                 #23 0x00007c2dfc9added n/a (libc.so.6 + 0x92ded)
                                                 #24 0x00007c2dfca310dc n/a (libc.so.6 + 0x1160dc)

                                                 Stack trace of thread 3777309:
                                                 #0  0x00007c2dfca314e2 epoll_wait (libc.so.6 + 0x1164e2)
                                                 #1  0x00006265fe60cfb4 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x57ecfb4)
                                                 #2  0x00006265fe60acdf n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x57eacdf)
                                                 #3  0x00006265fe4e6679 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56c6679)
                                                 #4  0x00006265fe48f07c n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x566f07c)
                                                 #5  0x00006265fe4510d1 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56310d1)
                                                 #6  0x00006265fe4afac8 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x568fac8)
                                                 #7  0x00006265fe497fbd n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x5677fbd)
                                                 #8  0x00006265fe4afc68 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x568fc68)
                                                 #9  0x00006265fe4c2ac5 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56a2ac5)
                                                 #10 0x00007c2dfc9added n/a (libc.so.6 + 0x92ded)
                                                 #11 0x00007c2dfca310dc n/a (libc.so.6 + 0x1160dc)

                                                 Stack trace of thread 3777297:
                                                 #0  0x00007c2dfc9aa4e9 n/a (libc.so.6 + 0x8f4e9)
                                                 #1  0x00007c2dfc9ad242 pthread_cond_timedwait (libc.so.6 + 0x92242)
                                                 #2  0x00006265fe4c2380 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56a2380)
                                                 #3  0x00006265fe4ebf27 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56cbf27)
                                                 #4  0x00006265fe46d35e n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x564d35e)
                                                 #5  0x00006265fe42d32c n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x560d32c)
                                                 #6  0x00006265fe48f07c n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x566f07c)
                                                 #7  0x00006265fe4510d1 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x56310d1)
                                                 #8  0x00006265fde2c7b0 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x500c7b0)
                                                 #9  0x00006265fb378a00 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2558a00)
                                                 #10 0x00006265fb379d14 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2559d14)
                                                 #11 0x00006265fb377675 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2557675)
                                                 #12 0x00006265fb377765 n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2557765)
                                                 #13 0x00006265fb0b4eed n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x2294eed)
                                                 #14 0x00007c2dfc940c88 n/a (libc.so.6 + 0x25c88)
                                                 #15 0x00007c2dfc940d4c __libc_start_main (libc.so.6 + 0x25d4c)
                                                 #16 0x00006265fad1302a n/a (/tmp/.mount_sessioxWYYQu/session-desktop-bin + 0x1ef302a)
                                                 ELF object binary architecture: AMD x86-64