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

GNOME 46.2启动报错 #86

Closed
mrbaiwei opened this issue Jun 5, 2024 · 9 comments
Closed

GNOME 46.2启动报错 #86

mrbaiwei opened this issue Jun 5, 2024 · 9 comments
Labels

Comments

@mrbaiwei
Copy link

mrbaiwei commented Jun 5, 2024

错误描述 | Describe the bug

[2024/06/05 11:56:14][Program.cs ][ 22] UnhandledException System.InvalidOperationException Could not create glyphTypeface.

复现步骤 | Steps to Reproduce

Kernel: 6.9.2-1-MANJARO
DE: GNOME 46.2
WM: Mutter
只能确认在一次升级后无法打开,可能是dotnet环境相关,使用的self版本

截图 | Screenshots

No response

桌面端信息 | Desktop

No response

移动端信息 | Smartphone

No response

其他附加信息 | Additional context

No response

@Jeric-X
Copy link
Owner

Jeric-X commented Jun 5, 2024

1、是否有改过程序字体,如果改过在配置文件里删除重试一下? 配置文件路径:~/.config/SyncClipboard/SyncClipboard.json,搜索Font, 把冒号之后的内容清空,保留引号
2、是从很久之前版本的SyncClipboard升级来的吗(小于等于v0.5.2),如果有这个可能的话,帮忙试下0.5.2能否正常启动

@mrbaiwei
Copy link
Author

mrbaiwei commented Jun 5, 2024

我删除了~/.config/SyncClipboard配置文件夹,启动错误是一样的,然后试了0.5.2版本 提示
[2024/06/05 16:13:54][Program.cs ][ 22] UnhandledException System.InvalidOperationException Default font family name can't be null or empty.

@Jeric-X
Copy link
Owner

Jeric-X commented Jun 5, 2024

https://github.com/Jeric-X/SyncClipboard/actions/runs/9379466451
再麻烦你使用这个运行一次,我加上了更多的log信息

@mrbaiwei
Copy link
Author

mrbaiwei commented Jun 5, 2024

[2024/06/05 16:49:32][Program.cs ][ 22] UnhandledException System.InvalidOperationException Could not create glyphTypeface.
at Avalonia.Media.Typeface.get_GlyphTypeface()
at Avalonia.Rendering.Composition.Compositor.get_DiagnosticTextRenderer()
at Avalonia.Rendering.Composition.Compositor.CreateCompositionTarget(Func1 surfaces) at Avalonia.Rendering.Composition.CompositingRenderer..ctor(IRenderRoot root, Compositor compositor, Func1 surfaces)
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 SyncClipboard.Desktop.Views.MainWindow..ctor() in D:\a\SyncClipboard\SyncClipboard\src\SyncClipboard.Desktop\Views\MainWindow.axaml.cs:line 17
at System.RuntimeMethodHandle.InvokeMethod(Object target, Span1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier) at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at SyncClipboard.Core.AppCore.Run() in D:\a\SyncClipboard\SyncClipboard\src\SyncClipboard.Core\AppCore.cs:line 50 at SyncClipboard.Desktop.App.OnFrameworkInitializationCompleted() in D:\a\SyncClipboard\SyncClipboard\src\SyncClipboard.Desktop\App.axaml.cs:line 72 at Avalonia.AppBuilder.SetupUnsafe() at Avalonia.AppBuilder.Setup() at Avalonia.AppBuilder.SetupWithLifetime(IApplicationLifetime lifetime) at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action1 lifetimeBuilder)
at SyncClipboard.Desktop.Default.Program.Main(String[] args) in D:\a\SyncClipboard\SyncClipboard\src\SyncClipboard.Desktop.Default\Program.cs:line 22

这是最新的错误信息

@mrbaiwei
Copy link
Author

mrbaiwei commented Jun 5, 2024

可能与这个有关
AvaloniaUI/Avalonia#15230

@Jeric-X
Copy link
Owner

Jeric-X commented Jun 5, 2024

可能与这个有关 AvaloniaUI/Avalonia#15230

看起来就是这个PR修改的文件抛出的错误,但是这个PR也只是加了调试信息,并没有改功能,从SyncClipboard的log来看,我正在引用的Avalonia版本使用的是这个PR合入前的代码

如果你确认之前有可以正常使用的版本话,可以使用二分查找的方式确定下是从哪个版本开始的问题吗,如果能确定改动的代码的话问题就很好排查了

另外你也可以尝试下在xyz.jericx.desktop.syncclipboard.desktop文件(我的是在/usr/share/applications目录,根据桌面环境可能不同),将Exec=/实际路径/SyncClipboard.Desktop.Default改为
Exec=env LANG=en_US.UTF-8 /实际路径/SyncClipboard.Desktop.Default,或者使用其他方式修改程序运行的环境变量使得LANG=en_US.UTF-8,看看能否在英语环境下正常运行

@mrbaiwei
Copy link
Author

mrbaiwei commented Jun 5, 2024

可能与这个有关 AvaloniaUI/Avalonia#15230

看起来就是这个PR修改的文件抛出的错误,但是这个PR也只是加了调试信息,并没有改功能,从SyncClipboard的log来看,我正在引用的Avalonia版本使用的是这个PR合入前的代码

如果你确认之前有可以正常使用的版本话,可以使用二分查找的方式确定下是从哪个版本开始的问题吗,如果能确定改动的代码的话问题就很好排查了

另外你也可以尝试下在xyz.jericx.desktop.syncclipboard.desktop文件(我的是在/usr/share/applications目录,根据桌面环境可能不同),将Exec=/实际路径/SyncClipboard.Desktop.Default改为 Exec=env LANG=en_US.UTF-8 /实际路径/SyncClipboard.Desktop.Default,或者使用其他方式修改程序运行的环境变量使得LANG=en_US.UTF-8,看看能否在英语环境下正常运行

英文环境启动正常了,太好了

@Jeric-X
Copy link
Owner

Jeric-X commented Jun 6, 2024

如果你想就这样正常使用的话那就OK

可能与这个有关 AvaloniaUI/Avalonia#15230

等更新到这个PR合入的Avalonia版本就能确认是什么字体引起的错误了,本条issue会保持开启,如果其他人也有相同的问题可以继续回复或者点一下表情

@Jeric-X Jeric-X added bug and removed bug report labels Jun 7, 2024
@Jeric-X
Copy link
Owner

Jeric-X commented Jun 20, 2024

v0.7.4 之后的Linux版本会默认以英语语言启动

@Jeric-X Jeric-X closed this as completed Jun 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants