Skip to content

[BUG] Application Does not open on Linux #139

@steveearle86

Description

@steveearle86

Component

Desktop App (Linux)

SQL Performance Studio Version

1.2.5

Operating System

Linux Mint 22.3, Ubuntu 24.04.4 LTS, Debian 13 (stable)

Describe the Bug

Upon opening the application, I get an unhandled exception (below) the issue appears to be that an older version of the SkiaSharp library (88.1) is included in the artifacts but the application requires 119.0

Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKFontManager' threw an exception.
---> System.TypeInitializationException: The type initializer for 'SkiaSharp.SKObject' threw an exception.
---> System.InvalidOperationException: The version of the native libSkiaSharp library (88.1) is incompatible with this version of SkiaSharp. Supported versions of the native libSkiaSharp library are in the range [119.0, 120.0).
at SkiaSharp.SkiaSharpVersion.CheckNativeLibraryCompatible(Version minSupported, Version current, Boolean throwIfIncompatible)
at SkiaSharp.SkiaSharpVersion.CheckNativeLibraryCompatible(Boolean throwIfIncompatible)
at SkiaSharp.SKObject..cctor()
--- End of inner exception stack trace ---
at SkiaSharp.SKObject..ctor(IntPtr handle, Boolean owns)
at SkiaSharp.SKFontManager..ctor(IntPtr handle, Boolean owns)
at SkiaSharp.SKFontManager.SKFontManagerStatic..ctor(IntPtr x)
at SkiaSharp.SKFontManager..cctor()
--- End of inner exception stack trace ---
at SkiaSharp.SKFontManager.get_Default()
at Avalonia.Skia.FontManagerImpl..ctor()
at Avalonia.Skia.SkiaPlatform.Initialize(SkiaOptions options)
at Avalonia.SkiaApplicationExtensions.<>c.b__0_0()
at Avalonia.AppBuilder.SetupUnsafe()
at Avalonia.AppBuilder.Setup()
at Avalonia.AppBuilder.SetupWithLifetime(IApplicationLifetime lifetime)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
at PlanViewer.App.Program.Main(String[] args) in D:\a\PerformanceStudio\PerformanceStudio\src\PlanViewer.App\Program.cs:line 24
Aborted (core dumped)

Steps to Reproduce

# Download the application
cd ~
curl -fsL "https://github.com/erikdarlingdata/PerformanceStudio/releases/download/v1.2.5/PerformanceStudio-linux-x64.zip" -o ~/Downloads/PerformanceStudio-linux-x64.zip
mkdir PerformanceMonitor
cd PerformanceMonitor

# unzip and make executable
unzip ~/Downloads/PerformanceStudio-linux-x64.zip
chmod +x PlanViewer.App

# run the app
./PlanViewer.App

## ERROR APPEARS NOW!

# confirm the version
objdump -p libSkiaSharp.so | grep SONAME

# download version 119.0, unzip, overwriting the existing and try again
curl -fsL "https://www.nuget.org/api/v2/package/SkiaSharp.NativeAssets.Linux/3.119.0" -o skiasharp-native.zip
unzip -o -j skiasharp-native.zip "runtimes/linux-x64/native/libSkiaSharp.so" -d .
./PlanViewer.App

# App now opens

Expected Behavior

Application opens

Actual Behavior

Error message above

Plan File

No response

Screenshots

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions