muse-sounds-manager on Linux dies saying "Default font family name can't be null or empty."
Both Muse-hub and the renamed version muse-sounds-manager fail on my system (Ubuntu LTS, xhdpi, xfce) with the enigmatic "Default font family name can't be null or empty." I thought the bug might get fixed, but I guess it's "works for me".
I've tried strace, downloading microsoft core fonts, setting those font families as default, LC_ALL=C and LANG=C and the stubborn thing doesn't budge. There's no reason: it simply doesn't work.
Is there a work-around or a fix? Is there source code to implement the fix suggested on the Avalon UI forums?
2024-09-10 22:10:55.0098|INFO|Muse.Common.Services.SettingsService|Reloading settings...
2024-09-10 22:10:55.1154|INFO|Muse.Client.Linux.App|Attempting to set the users language to en-US using file /opt/muse-sounds-manager/Assets/Strings/en-US/Localizable.strings
2024-09-10 22:10:55.1202|INFO|Muse.Client.Linux.App|Setting SSL_CERT_DIR to /usr/lib/ssl/certs
2024-09-10 22:10:55.1202|INFO|Muse.Client.Linux.App|Setting SSL_CERT_FILE to /usr/lib/ssl/cert.pem
2024-09-10 22:10:55.3407|FATAL|Muse.Client.Linux.App|Application has encountered a fatal exception!|System.InvalidOperationException: Default font family name can't be null or empty.
at Avalonia.Media.FontManager..ctor(IFontManagerImpl platformImpl)
at Avalonia.Media.FontManager.get_Current()
at Avalonia.Media.Typeface.get_GlyphTypeface()
at Avalonia.Rendering.Composition.Compositor.get_DiagnosticTextRenderer()
at Avalonia.Rendering.Composition.Compositor.CreateCompositionTarget(Func1 surfaces)
1 surfaces)
at Avalonia.Rendering.Composition.CompositingRenderer..ctor(IRenderRoot root, Compositor compositor, Func
at Avalonia.Controls.TopLevel..ctor(ITopLevelImpl impl, IAvaloniaDependencyResolver dependencyResolver)
at Avalonia.Controls.WindowBase..ctor(IWindowBaseImpl impl, IAvaloniaDependencyResolver dependencyResolver)
at Avalonia.Controls.WindowBase..ctor(IWindowBaseImpl impl)
at Avalonia.Controls.Window..ctor(IWindowImpl impl)
at Avalonia.Controls.Window..ctor()
at Muse.Client.Linux.App.OnFrameworkInitializationCompleted() in /home/runner/work/Muse/Muse/Linux/src/Muse.Client.Linux/App.axaml.cs:line 112
at System.Threading.Tasks.Task.<>c.b__128_0(Object state)
at Avalonia.Threading.SendOrPostCallbackDispatcherOperation.InvokeCore()
at Avalonia.Threading.DispatcherOperation.Execute()
at Avalonia.Threading.Dispatcher.ExecuteJob(DispatcherOperation job)
at Avalonia.Threading.Dispatcher.ExecuteJobsCore(Boolean fromExplicitBackgroundProcessingCallback)
at Avalonia.Threading.Dispatcher.Signaled()
at Avalonia.X11.X11PlatformThreading.CheckSignaled()
at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken)
at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl)
at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, ShutdownMode shutdownMode)
at Muse.Client.Linux.Program.Main(String[] args) in /home/runner/work/Muse/Muse/Linux/src/Muse.Client.Linux/Program.cs:line 21
Comments
This bug has a fix (possibly a poor fix) in the framework code:
https://github.com/AvaloniaUI/Avalonia/pull/12817