Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move ctmod message dialogs to main thread to prevent segfault #124

Closed
harpaj opened this issue Sep 24, 2022 · 2 comments
Closed

Move ctmod message dialogs to main thread to prevent segfault #124

harpaj opened this issue Sep 24, 2022 · 2 comments
Labels
bug Something isn't working

Comments

@harpaj
Copy link

harpaj commented Sep 24, 2022

Describe the bug
Trying to install SteamTinkerLaunch (I tried version 11.11 and 11.0) crashes ProtonUp, without installing SteamTinkerLaunch.
For a split-second an error message is displayed, it took me several attempts to get a screenshot of it. Then ProtonUp crashes (SegFault in terminal).

To Reproduce
Steps to reproduce the behavior:

  1. Install for Steam
  2. Add version -> SteamTinkerLaunch -> Install
  3. Error message is displayed extremely shortly (<1s)
  4. Program crashes

Expected behavior
Program doesn't crash, SteamTinkerLaunch is installed
OR: The error message is displayed in a way I can act on it. In any case, ProtonUp shouldn't crash.

Screenshot
Screenshot from 2022-09-24 17-25-18

Desktop (please complete the following information):

  • OS: Ubuntu 20.04 without any version of yad installed
  • Version ProtonUp-Qt-2.7.4-x86_64.AppImage

Terminal output

./ProtonUp-Qt-2.7.4-x86_64.AppImage 
ProtonUp-Qt 2.7.4 by DavidoTek. Build Info: Official AppImage by DavidoTek.
Python 3.8.2 (default, Mar 13 2020, 10:14:16) [GCC 9.3.0], PySide 6.2.4
Platform: Ubuntu 20.04 Linux-5.15.0-46-generic-x86_64-with-glibc2.29
Gtk-Message: 17:18:51.364: Failed to load module "canberra-gtk-module"
Gtk-Message: 17:18:51.369: Failed to load module "canberra-gtk-module"
Loaded ctmod GE-Proton
Loaded ctmod Wine-GE
Loaded ctmod Boxtron
Loaded ctmod Kron4ek Wine-Builds Vanilla
Loaded ctmod Lutris-Wine
Loaded ctmod Luxtorpeda
Loaded ctmod Proton Tkg
Loaded ctmod Roberta
Loaded ctmod SteamTinkerLaunch
Loaded ctmod SteamTinkerLaunch-git
Loaded ctmod DXVK
Loaded ctmod DXVK Async
Loaded ctmod DXVK (nightly)
qt.pysideplugin: Environment variable PYSIDE_DESIGNER_PLUGINS is not set, bailing out.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.
Gamepad error: No gamepad found.
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
Segmentation fault (core dumped)
@harpaj harpaj added the bug Something isn't working label Sep 24, 2022
@DavidoTek
Copy link
Owner

The segment fault occurs because the message dialog is opened from a different thread, but Qt only allows message dialogs to be opened from the main thread. If the user has all dependencies installed, no message will be displayed and no segfault will occur.
This should be fixed though, an "open messagebox" signal from the installer thread to the main thread should be an adequate fix.

@DavidoTek DavidoTek changed the title Segmentation fault when installing SteamTinkerLaunch because of unmet dependency Move ctmod message dialogs to main thread to prevent segfault Sep 25, 2022
@sonic2kk
Copy link
Contributor

sonic2kk commented Sep 25, 2022

Just a heads up: There is a problem on Ubuntu 20.04 (and distros based on it) I believe where Yad (and some other programs) will not work because they rely on a newer version of glibc. Though the crash is a bug, this dependency requirement will likely prevent you from meeting all the dependencies in the first place. Ubuntu 20.04 seems to come with glibc 2.31 but some tools now depend on 2.33 or higher Ubuntu 21.04 and above seem to have a newer version of glibc. See sonic2kk/steamtinkerlaunch#595 for a more technical breakdown from a very kind user that reported it to STL.

It's not specific to STL, it's an upstream dependency change and Ubuntu has not updated their package on 20.04. I just noticed you said you were using Ubuntu 20.04 and wanted to point this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants