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

Thrive-Launcher crashes upon start #261

Open
mjk-gh opened this issue Feb 16, 2023 · 7 comments
Open

Thrive-Launcher crashes upon start #261

mjk-gh opened this issue Feb 16, 2023 · 7 comments
Labels
bug dependencies Pull requests that update a dependency file help wanted

Comments

@mjk-gh
Copy link

mjk-gh commented Feb 16, 2023

Describe the bug
Version 2.0.3 and 2.0.2 of the Thrive-Launcher crash when trying to start them:

$ ./ThriveLauncher 
[Information] Default Launcher storage and Thrive version install folder is: /home/mjk/.local/share/Thrive-Launcher
2023-02-16 20:53:21.5932|INFO|ThriveLauncher.Program|Thrive Launcher version 2.0.3 starting
2023-02-16 20:53:21.6579|INFO|LauncherBackend.Services.LauncherPaths|Config folder is: /home/mjk/.config/Thrive-Launcher
2023-02-16 20:53:21.6624|INFO|LauncherBackend.Services.LauncherSettingsManager|No existing settings file found, using defaults
2023-02-16 20:53:21.6624|INFO|LauncherBackend.Services.LauncherPaths|Expected old launcher config path is: /home/mjk/.config/Revolutionary-Games/Launcher
2023-02-16 20:53:21.6734|INFO|ThriveLauncher.Services.LoggingManager|Logging level: Info
2023-02-16 20:53:21.6755|INFO|ThriveLauncher.Program|No language selected, making sure default is applied. Detected default language: en-GB
2023-02-16 20:53:21.6755|INFO|ThriveLauncher.Program|Launcher language (culture) is: en-GB
2023-02-16 20:53:21.6799|INFO|LauncherBackend.Services.StoreVersionDetector|Not a store version of the launcher
2023-02-16 20:53:21.6799|INFO|ThriveLauncher.Program|Launcher starting GUI
2023-02-16 20:53:21.8644|INFO|ThriveLauncher.AvaloniaLogger|[X11Platform] SMLib/ICELib reported a new error: SESSION_MANAGER environment variable not defined (X11PlatformLifetimeEvents #540121)
2023-02-16 20:53:22.1544|INFO|ThriveLauncher.AvaloniaLogger|LogHost: Initializing to normal mode (.cctor)
2023-02-16 20:53:22.4850|FATAL|ThriveLauncher.Program|Unhandled exception in the launcher. PLEASE REPORT THIS TO US!|System.OverflowException: Arithmetic operation resulted in an overflow.
   at Avalonia.X11.X11Screens.UpdateWorkArea(X11Info info, X11Screen[] screens) in /_/src/Avalonia.X11/X11Screens.cs:line 23
   at Avalonia.X11.X11Screens.Randr15ScreensImpl.get_Screens() in /_/src/Avalonia.X11/X11Screens.cs:line 158
   at Avalonia.X11.X11Screens.get_AllScreens() in /_/src/Avalonia.X11/X11Screens.cs:line 221
   at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent) in /_/src/Avalonia.X11/X11Window.cs:line 119
   at Avalonia.X11.AvaloniaX11Platform.CreateWindow() in /_/src/Avalonia.X11/X11Platform.cs:line 130
   at Avalonia.Controls.Platform.PlatformManager.CreateWindow() in /_/src/Avalonia.Controls/Platform/PlatformManager.cs:line 36
   at Avalonia.Controls.Window..ctor() in /_/src/Avalonia.Controls/Window.cs:line 231
   at ThriveLauncher.Views.MainWindow..ctor()
   at ThriveLauncher.App.CreateMainWindow()
   at ThriveLauncher.App.OnFrameworkInitializationCompleted()
   at Avalonia.Controls.AppBuilderBase`1.Setup() in /_/src/Avalonia.Controls/AppBuilderBase.cs:line 308
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime) in /_/src/Avalonia.Controls/AppBuilderBase.cs:line 179
   at ThriveLauncher.Program.InnerMain(String[] args, ServiceProvider services, ILogger programLogger)
   at ThriveLauncher.Program.Main(String[] args)
Unhandled exception. System.OverflowException: Arithmetic operation resulted in an overflow.
   at Avalonia.X11.X11Screens.UpdateWorkArea(X11Info info, X11Screen[] screens) in /_/src/Avalonia.X11/X11Screens.cs:line 23
   at Avalonia.X11.X11Screens.Randr15ScreensImpl.get_Screens() in /_/src/Avalonia.X11/X11Screens.cs:line 158
   at Avalonia.X11.X11Screens.get_AllScreens() in /_/src/Avalonia.X11/X11Screens.cs:line 221
   at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent) in /_/src/Avalonia.X11/X11Window.cs:line 119
   at Avalonia.X11.AvaloniaX11Platform.CreateWindow() in /_/src/Avalonia.X11/X11Platform.cs:line 130
   at Avalonia.Controls.Platform.PlatformManager.CreateWindow() in /_/src/Avalonia.Controls/Platform/PlatformManager.cs:line 36
   at Avalonia.Controls.Window..ctor() in /_/src/Avalonia.Controls/Window.cs:line 231
   at ThriveLauncher.Views.MainWindow..ctor()
   at ThriveLauncher.App.CreateMainWindow()
   at ThriveLauncher.App.OnFrameworkInitializationCompleted()
   at Avalonia.Controls.AppBuilderBase`1.Setup() in /_/src/Avalonia.Controls/AppBuilderBase.cs:line 308
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime) in /_/src/Avalonia.Controls/AppBuilderBase.cs:line 179
   at ThriveLauncher.Program.InnerMain(String[] args, ServiceProvider services, ILogger programLogger)
   at ThriveLauncher.Program.Main(String[] args)
zsh: abort      ./ThriveLauncher

To Reproduce
Steps to reproduce the behavior:

  1. wget https://github.com/Revolutionary-Games/Thrive-Launcher/releases/download/v2.0.3/ThriveLauncher_2.0.3_linux_standalone.7z
  2. 7zz x ThriveLauncher_2.0.3_linux_standalone.7z
  3. cd ThriveLauncher_2.0.3_linux
  4. ./ThriveLauncher
  5. See error pasted above.

Expected behavior
Launcher starts, downloads a version of the game, then starts the game.

Desktop (please complete the following information):

  • OS: Devuan Chimaera (systemd-less Linux, based on Debian 11)
  • Thrive-Launcher: 2.0.3, but happens with 2.0.2, too
  • X11: X.Org X Server 1.20.11
  • Window manager: fvwm3 1.0.5
  • Desktop environment:
  • Display: portrait oriented monitor, 1200x1920@60
  • CPU: AMD Ryzen 5 2400G with Radeon Vega Graphics
@mjk-gh mjk-gh added the bug label Feb 16, 2023
@mjk-gh
Copy link
Author

mjk-gh commented Feb 16, 2023

Version 1.3.2 of the Thrive-Launcher (AppImage) seems to start, but when hitting the "Play 0.5.10 ..." button, a pop-up window appears saying:

Playing thrive 0.5.10
Verifying archive 'Thrive_0.5.10.0_linux_x11.7z'

Progress 44.46 %

And then it hangs forever. Killing and restaring it leads to different percentage numbers when the program hangs.

@mjk-gh
Copy link
Author

mjk-gh commented Feb 16, 2023

JFTR: The game itself (Thrive_0.6.0.0_linux_x11.7z) works fine, just played it for a few hours. It is just the launcher that has problems.

@hhyyrylainen
Copy link
Member

Launcher 2.0 switched to completely different technology (Avalonia). Have you tried the launcher 2.0.0 to see if that works?

I'm quite confident that this is an https://github.com/AvaloniaUI/Avalonia issue. I couldn't find an existing issue about this so a new issue about this X11Screens.UpdateWorkArea fails with System.OverflowException should be reported to them.

@hhyyrylainen hhyyrylainen added the dependencies Pull requests that update a dependency file label Feb 17, 2023
@mjk-gh
Copy link
Author

mjk-gh commented Feb 17, 2023

Thrive-Launcher 2.0.0 shows the same symptoms.

As per your recommendation, I created issue AvaloniaUI/Avalonia#10382 for the AvaloniaUI project.

@hhyyrylainen
Copy link
Member

Thanks. I see the Avalonia devs marked that opened issue as a bug, so next we just need to wait until that bug is fixed and then a new launcher version can be released with the updated Avalonia package.

@FortiterInRe

This comment was marked as off-topic.

@hhyyrylainen
Copy link
Member

@FortiterInRe your error is actually very different. Here's the relevant lines:

System.InvalidOperationException: Default font family name can't be null or empty.
   at Avalonia.Media.FontManager..ctor(IFontManagerImpl platformImpl) in /_/src/Avalonia.Visuals/Media/FontManager.cs:line 33
   at Avalonia.Media.FontManager.get_Current() in /_/src/Avalonia.Visuals/Media/FontManager.cs:line 50
   at Avalonia.Media.TextFormatting.TextCharacters.TryGetRunProperties(ReadOnlySlice`1 text, Typeface typeface, Typeface defaultTypeface, Int32& count) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 129
   at Avalonia.Media.TextFormatting.TextCharacters.CreateShapeableRun(ReadOnlySlice`1 text, TextRunProperties defaultProperties) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 62
   at Avalonia.Media.TextFormatting.TextCharacters.GetShapeableCharacters() in /_/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs:line 40
   at Avalonia.Media.TextFormatting.TextFormatterImpl.FetchTextRuns(ITextSource textSource, Int32 firstTextSourceIndex, TextLineBreak previousLineBreak, TextLineBreak& nextLineBreak) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 280
   at Avalonia.Media.TextFormatting.TextFormatterImpl.FormatLine(ITextSource textSource, Int32 firstTextSourceIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs:line 15
   at Avalonia.Media.TextFormatting.TextLayout.UpdateLayout() in /_/src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 223
   at Avalonia.Media.TextFormatting.TextLayout..ctor(String text, Typeface typeface, Double fontSize, IBrush foreground, TextAlignment textAlignment, TextWrapping textWrapping, TextTrimming textTrimming, TextDecorationCollection textDecorations, Double maxWidth, Double maxHeight, Double lineHeight, Int32 maxLines, IReadOnlyList`1 textStyleOverrides) in /_/src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs:line 71
   at Avalonia.Controls.TextBlock.CreateTextLayout(Size constraint, String text) in /_/src/Avalonia.Controls/TextBlock.cs:line 475
   at Avalonia.Controls.TextBlock.get_TextLayout() in /_/src/Avalonia.Controls/TextBlock.cs:line 166

I've opened a separate issue about this: #288

@FortiterInRe could you try the fixes suggested on the related avalonia issue (AvaloniaUI/Avalonia#4427)? Also have you tried the Flatpak version of the launcher, that should have a consistent environment that'd probably work? Please post your findings on that new issue I opened: #288

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug dependencies Pull requests that update a dependency file help wanted
Projects
Status: Backburner
Development

No branches or pull requests

3 participants