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

[Bug] Fire Emblem Engage crashes on macOS Silicon #4548

Closed
RayFirefist opened this issue Mar 15, 2023 · 11 comments
Closed

[Bug] Fire Emblem Engage crashes on macOS Silicon #4548

RayFirefist opened this issue Mar 15, 2023 · 11 comments
Labels
bug Something isn't working os:macOS An issue or feature request exclusively relating to macOS

Comments

@RayFirefist
Copy link

RayFirefist commented Mar 15, 2023

Description of the issue

Fire Emblem Engage 1.X.0 crashes with the app built from source code. Downloading the prebuilt version works instead. Tested without any mods/save/shaders (literally clean) and it still crashes (it had all correct keys and firmware installed)

Reproduction steps

Build from source code, install it as you are supposed to do, try to open the game.

Log file

Crash log when loading romfs mods
00:00:00.003 |I| Configuration LogValueChange: EnableFileLog set to: True
00:00:00.034 |I| Configuration LogValueChange: ResScale set to: 2
00:00:00.036 |I| Configuration LogValueChange: ResScaleCustom set to: 1
00:00:00.036 |I| Configuration LogValueChange: MaxAnisotropy set to: -1
00:00:00.036 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9
00:00:00.037 |I| Configuration LogValueChange: BackendThreading set to: Auto
00:00:00.037 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan
00:00:00.037 |I| Configuration LogValueChange: PreferredGpu set to: 0x106B_0xD0203EF
00:00:00.038 |I| Configuration LogValueChange: AntiAliasing set to: None
00:00:00.038 |I| Configuration LogValueChange: ScalingFilter set to: Bilinear
00:00:00.038 |I| Configuration LogValueChange: ScalingFilterLevel set to: 80
00:00:00.039 |I| Configuration LogValueChange: EnableDockedMode set to: True
00:00:00.043 |I| Configuration LogValueChange: EnableVsync set to: True
00:00:00.043 |I| Configuration LogValueChange: EnableShaderCache set to: True
00:00:00.043 |I| Configuration LogValueChange: EnableTextureRecompression set to: True
00:00:00.043 |I| Configuration LogValueChange: EnableMacroHLE set to: True
00:00:00.043 |I| Configuration LogValueChange: EnablePtc set to: True
00:00:00.043 |I| Configuration LogValueChange: EnableInternetAccess set to: False
00:00:00.043 |I| Configuration LogValueChange: EnableFsIntegrityChecks set to: True
00:00:00.043 |I| Configuration LogValueChange: FsGlobalAccessLogMode set to: 0
00:00:00.043 |I| Configuration LogValueChange: AudioBackend set to: SDL2
00:00:00.043 |I| Configuration LogValueChange: AudioVolume set to: 1
00:00:00.044 |I| Configuration LogValueChange: MemoryManagerMode set to: HostMappedUnsafe
00:00:00.044 |I| Configuration LogValueChange: ExpandRam set to: False
00:00:00.044 |I| Configuration LogValueChange: IgnoreMissingServices set to: False
00:00:00.044 |I| Configuration LogValueChange: UseHypervisor set to: True
00:00:00.045 |N| Application PrintSystemInfo: Ryujinx Version: 1.1.1+0
00:00:00.048 |N| Application Print: Operating System: Darwin 22.3.0 Darwin Kernel Version 22.3.0: Mon Jan 30 20:38:37 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T6000 (Arm64)
00:00:00.048 |N| Application Print: CPU: Apple M1 Pro� ; 10 logical
00:00:00.049 |N| Application Print: RAM: Total 16384 MiB ; Available 4369 MiB
00:00:00.050 |N| Application PrintSystemInfo: Logs Enabled: Info, Warning, Error, Guest, Stub
00:00:00.050 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.120 |I| Gpu : Backend Threading (Auto): True
00:00:00.437 |N| Application LoadGuestApplication: Using Firmware Version: 16.0.0
00:00:00.437 |I| Application LoadGuestApplication: Loading as XCI.
00:00:00.500 |I| Application AddAocItem: Found AddOnContent with TitleId 0100A6301214F002
00:00:00.501 |I| Application AddAocItem: Found AddOnContent with TitleId 0100A6301214F001
00:00:00.515 |I| ModLoader QueryContentsDir: Searching mods for Title 0100A6301214E000
00:00:00.516 |I| ModLoader QueryTitleDir: Found mod 'Battle Outfits and More Outfits' [R]
00:00:00.516 |I| ModLoader QueryTitleDir: Found mod 'Patch Uncensored' [R]
00:00:00.516 |I| ModLoader QueryContentsDir: Searching mods for DLC 0100A6301214F001
00:00:00.516 |I| ModLoader QueryContentsDir: Searching mods for DLC 0100A6301214F002
00:00:00.517 |I| ModLoader QueryContentsDir: Searching mods for Title 0100A6301214E000
00:00:00.517 |I| ModLoader QueryContentsDir: Searching mods for DLC 0100A6301214F001
00:00:00.517 |I| ModLoader QueryContentsDir: Searching mods for DLC 0100A6301214F002
00:00:00.519 |I| Loader LoadExeFs: Loading rtld...
00:00:00.524 |I| Loader PrintRoSectionInfo: rtld:
    Module: nnrtld
00:00:00.524 |I| Loader LoadExeFs: Loading main...
00:00:00.942 |I| Loader PrintRoSectionInfo: main:
    Module: D:\Iron19\trunk\Unity\Iron19\SwitchIL2CPPCache\il2cpp_cache\linkresult_7ABA532808DD5EA2A77480EAD9BCC68F\SwitchPlayer.nss
    SDK Libraries: SDK MW+UnityTechnologies+Unity-2020_3_18_f1
                   SDK MW+Nintendo+NintendoSDK_libcurl-12_3_7-Release
                   SDK MW+Nintendo+NintendoSDK_libz-12_3_7-Release
                   SDK MW+Nintendo+NEX-4_6_6-
                   SDK MW+Nintendo+NEX_DS-4_6_6
                   SDK MW+Nintendo+NEX_RK-4_6_6
                   SDK MW+Nintendo+NEX_UT-4_6_6
                   SDK MW+Nintendo+NEX_R2-4_6_6
                   SDK MW+Nintendo+NEX_SC-4_6_6
                   SDK MW+Nintendo+NEX_SS-4_6_6
                   SDK MW+Nintendo+NEX_CO-4_6_6
00:00:00.942 |I| Loader LoadExeFs: Loading subsdk0...
00:00:00.972 |I| Loader PrintRoSectionInfo: subsdk0:
    Module: multimedia
    SDK Libraries: SDK MW+Nintendo+NintendoSDK_movie-12_3_7-Release
00:00:00.972 |I| Loader LoadExeFs: Loading sdk...
00:00:01.014 |I| Loader PrintRoSectionInfo: sdk:
    Module: nnSdk
    FS SDK Version: 12.3.7
    SDK Libraries: SDK MW+Nintendo+NintendoSDK_libz-12_3_7-Release
                   SDK MW+Nintendo+NintendoSdk_nnSdk-12_3_7-Release
                   SDK MW+Nintendo+NintendoSDK_NVN-12_3_7-Release
00:00:01.053 |I| Loader LoadNsos: Loading image 0 at 0x0000000008000000...
00:00:01.054 |I| Loader LoadNsos: Loading image 1 at 0x0000000008004000...
00:00:01.075 |I| Loader LoadNsos: Loading image 2 at 0x000000000e69f000...
00:00:01.077 |I| Loader LoadNsos: Loading image 3 at 0x000000000ed39000...
00:00:01.082 |I| ModLoader LoadCheats: Build ids found for title 0100A6301214E000:
    E79AB9AF2AB0517496B6C5630B5C7A69769806D4000000000000000000000000
    B98244D9F41763D672667D269FCE02E800000000000000000000000000000000
    BFFED55EA46C1B48DDEABCACDFBF81BF418125AC000000000000000000000000
    56EC24747EC9E7F19B3EFB062483A19D1DA091A8000000000000000000000000
00:00:01.084 |I| ModLoader ApplyRomFsMods: Applying RomFS mods for Title 0100A6301214E000
00:00:01.102 |I| ModLoader ApplyRomFsMods: Replaced 126 file(s) over 2 mod(s). Processing base storage...
00:00:01.142 |S| HLE.OsThread.20 ServiceAm GetAppletResourceUserId: Stubbed. {appletResourceUserId: 1}
00:00:01.149 |S| HLE.OsThread.20 ServiceAm AcquireForegroundRights: Stubbed. 
00:00:01.149 |S| HLE.OsThread.20 ServiceAm SetFocusHandlingMode: Stubbed. {unknownFlag1: False ; unknownFlag2: False ; unknownFlag3: True}
00:00:01.149 |S| HLE.OsThread.20 ServiceAm SetOutOfFocusSuspendingEnabled: Stubbed. {outOfFocusSuspendingEnabled: False}
00:00:01.158 |S| HLE.OsThread.20 ServicePctl Initialize: Stubbed. 
00:00:01.176 |S| HLE.OsThread.10 ServiceNv FinishInitialize: Stubbed. 
00:00:01.184 |S| HLE.OsThread.20 ServiceAm SetRestartMessageEnabled: Stubbed. {restartMessageEnabled: True}
00:00:01.184 |S| HLE.OsThread.20 ServiceAm SetPerformanceModeChangedNotification: Stubbed. {performanceModeChangedNotification: True}
00:00:01.184 |S| HLE.OsThread.20 ServiceAm SetOperationModeChangedNotification: Stubbed. {operationModeChangedNotification: True}
00:00:01.222 |E| HLE.OsThread.8 Application : Unhandled exception caught: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.Collections.Generic.KeyNotFoundException: The given key '96' was not present in the dictionary.
   at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(TKey)
   at System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey)
   at Ryujinx.HLE.FileSystem.VirtualFileSystem.GetRomFs(UInt64 pid) in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs:line 87
   at Ryujinx.HLE.HOS.Services.Fs.IFileSystemProxy.OpenDataStorageByCurrentProcess(ServiceCtx context) in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Services/Fs/IFileSystemProxy.cs:line 707
   at System.RuntimeMethodHandle.InvokeMethod(Object, Void**, Signature, Boolean)
   at System.Reflection.MethodInvoker.Invoke(Object, IntPtr*, BindingFlags)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object, IntPtr*, BindingFlags)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Ryujinx.HLE.HOS.Services.IpcService.CallHipcMethod(ServiceCtx context) in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Services/IpcService.cs:line 122
   at Ryujinx.HLE.HOS.Services.ServerBase.Process(Int32 serverSessionHandle, UInt64 recvListAddr) in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Services/ServerBase.cs:line 228
   at Ryujinx.HLE.HOS.Services.ServerBase.ServerLoop() in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Services/ServerBase.cs:line 137
   at Ryujinx.HLE.HOS.Services.ServerBase.Main() in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Services/ServerBase.cs:line 85
   at Ryujinx.HLE.HOS.Kernel.Threading.KThread.ThreadStart() in /Users/admin/Documents/Git/Ryujinx/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs:line 1262
   at System.Threading.Thread.StartCallback()

OS

macOS 13.2.1

Ryujinx version

1.1.1

Game version

1.X.0

CPU

M1 Pro

GPU

M1 Pro

RAM

16GB

List of applied mods

No response

Additional context?

No response

@RayFirefist RayFirefist added the bug Something isn't working label Mar 15, 2023
@TSRBerry TSRBerry added the os:macOS An issue or feature request exclusively relating to macOS label Mar 16, 2023
@TSRBerry
Copy link
Member

Could you please add the current Ryujinx version at the time you compiled your build?
I'm not able to reproduce this issue using other romfs mods, so if you could add the mods you were using too that would be great.

@RayFirefist
Copy link
Author

RayFirefist commented Mar 18, 2023

I removed the mods in order to see if it was a romfs mod issue but nah, literally the same error.
I compiled it at commit da073fce6127243fcd93b736cde951c4e835e508

@gdkchan
Copy link
Member

gdkchan commented Mar 18, 2023

Does it happen on #4480 ?
Right now the process is started before the RomFS stream is added to the dictionary, so it's possible that the game will try to access the RomFS before the initialization has finished if it boots fast enough. I don't think that issue exists on the PR I linked since it adds the RomFS to the dictionary before starting the process.

@RayFirefist
Copy link
Author

I just tried to compile your PR (testing on arm64 and it provided only x64 bin) and I got a different exception this time with FE Engage

Unhandled exception. System.Exception: Unexpected result "HV_DENIED".
   at Ryujinx.Cpu.AppleHv.HvResultExtensions.ThrowOnError(hv_result_t result) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvApi.cs:line 254
   at Ryujinx.Cpu.AppleHv.HvVm.CreateAddressSpace(MemoryBlock block) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvVm.cs:line 23
   at Ryujinx.Cpu.AppleHv.HvAddressSpace..ctor(MemoryBlock backingMemory, UInt64 asSize) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvAddressSpace.cs:line 31
   at Ryujinx.Cpu.AppleHv.HvMemoryManager..ctor(MemoryBlock backingMemory, UInt64 addressSpaceSize, InvalidAccessHandler invalidAccessHandler) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs:line 86
   at Ryujinx.HLE.HOS.ArmProcessContextFactory.Create(KernelContext context, UInt64 pid, UInt64 addressSpaceSize, InvalidAccessHandler invalidAccessHandler, Boolean for64Bit) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ArmProcessContextFactory.cs:line 51
   at Ryujinx.HLE.HOS.Kernel.Process.KProcess.InitializeMemoryManager(ProcessCreationFlags flags) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs:line 1086
   at Ryujinx.HLE.HOS.Kernel.Process.KProcess.Initialize(ProcessCreationInfo creationInfo, ReadOnlySpan`1 capabilities, KResourceLimit resourceLimit, MemoryRegion memRegion, IProcessContextFactory contextFactory, ThreadStart customThreadStart) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs:line 251
   at Ryujinx.HLE.HOS.ProgramLoader.LoadNsos(KernelContext context, MetaLoader metaData, ProgramInfo programInfo, Byte[] arguments, IExecutable[] executables) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ProgramLoader.cs:line 319
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadExeFs(IFileSystem codeFs, String displayVersion, MetaLoader metaData, Boolean isHomebrew) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 652
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadNca(Nca mainNca, Nca patchNca, Nca controlNca) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 494
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadXci(String xciFile) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 257
   at Ryujinx.HLE.Switch.LoadXci(String xciFile) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/Switch.cs:line 74
   at Ryujinx.Ava.AppHost.LoadGuestApplication() in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/AppHost.cs:line 550
   at Ryujinx.Ava.UI.ViewModels.MainWindowViewModel.<>c__DisplayClass369_0.<<LoadApplication>g__Action|0>d.MoveNext() in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs:line 1695
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object)
   at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0() in /_/src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs:line 33
   at Avalonia.Threading.JobRunner.Job.Avalonia.Threading.JobRunner.IJob.Run() in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 193
   at Avalonia.Native.Interop.Impl.__MicroComIAvnSignaledCallbackVTable.Signaled(Void* this, Int32 priority, Int32 priorityContainsMeaningfulValue) in /_/src/Avalonia.Native/Interop.Generated.cs:line 4336
--- End of stack trace from previous location ---
   at Avalonia.Native.PlatformThreadingInterface.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Native/PlatformThreadingInterface.cs:line 90
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209
   at Ryujinx.Ava.Program.Main(String[] args) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/Program.cs:line 51

@gdkchan
Copy link
Member

gdkchan commented Mar 24, 2023

I just tried to compile your PR (testing on arm64 and it provided only x64 bin) and I got a different exception this time with FE Engage

Unhandled exception. System.Exception: Unexpected result "HV_DENIED".
   at Ryujinx.Cpu.AppleHv.HvResultExtensions.ThrowOnError(hv_result_t result) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvApi.cs:line 254
   at Ryujinx.Cpu.AppleHv.HvVm.CreateAddressSpace(MemoryBlock block) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvVm.cs:line 23
   at Ryujinx.Cpu.AppleHv.HvAddressSpace..ctor(MemoryBlock backingMemory, UInt64 asSize) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvAddressSpace.cs:line 31
   at Ryujinx.Cpu.AppleHv.HvMemoryManager..ctor(MemoryBlock backingMemory, UInt64 addressSpaceSize, InvalidAccessHandler invalidAccessHandler) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs:line 86
   at Ryujinx.HLE.HOS.ArmProcessContextFactory.Create(KernelContext context, UInt64 pid, UInt64 addressSpaceSize, InvalidAccessHandler invalidAccessHandler, Boolean for64Bit) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ArmProcessContextFactory.cs:line 51
   at Ryujinx.HLE.HOS.Kernel.Process.KProcess.InitializeMemoryManager(ProcessCreationFlags flags) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs:line 1086
   at Ryujinx.HLE.HOS.Kernel.Process.KProcess.Initialize(ProcessCreationInfo creationInfo, ReadOnlySpan`1 capabilities, KResourceLimit resourceLimit, MemoryRegion memRegion, IProcessContextFactory contextFactory, ThreadStart customThreadStart) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs:line 251
   at Ryujinx.HLE.HOS.ProgramLoader.LoadNsos(KernelContext context, MetaLoader metaData, ProgramInfo programInfo, Byte[] arguments, IExecutable[] executables) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ProgramLoader.cs:line 319
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadExeFs(IFileSystem codeFs, String displayVersion, MetaLoader metaData, Boolean isHomebrew) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 652
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadNca(Nca mainNca, Nca patchNca, Nca controlNca) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 494
   at Ryujinx.HLE.HOS.ApplicationLoader.LoadXci(String xciFile) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/HOS/ApplicationLoader.cs:line 257
   at Ryujinx.HLE.Switch.LoadXci(String xciFile) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.HLE/Switch.cs:line 74
   at Ryujinx.Ava.AppHost.LoadGuestApplication() in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/AppHost.cs:line 550
   at Ryujinx.Ava.UI.ViewModels.MainWindowViewModel.<>c__DisplayClass369_0.<<LoadApplication>g__Action|0>d.MoveNext() in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs:line 1695
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object)
   at Avalonia.Threading.AvaloniaSynchronizationContext.<>c__DisplayClass5_0.<Post>b__0() in /_/src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs:line 33
   at Avalonia.Threading.JobRunner.Job.Avalonia.Threading.JobRunner.IJob.Run() in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 193
   at Avalonia.Native.Interop.Impl.__MicroComIAvnSignaledCallbackVTable.Signaled(Void* this, Int32 priority, Int32 priorityContainsMeaningfulValue) in /_/src/Avalonia.Native/Interop.Generated.cs:line 4336
--- End of stack trace from previous location ---
   at Avalonia.Native.PlatformThreadingInterface.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Native/PlatformThreadingInterface.cs:line 90
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209
   at Ryujinx.Ava.Program.Main(String[] args) in /Users/admin/Documents/Git/AcK77_Ryujinx/Ryujinx.Ava/Program.cs:line 51

That means the app doesn't have the hypervisor entitlement, you probably didn't compile it properly and the signing step failed for some reason.

@RayFirefist
Copy link
Author

I compiled it with the very same method as I used for the main branch... that's odd

@AcK77
Copy link
Member

AcK77 commented May 2, 2023

As gdkchan suggested, it's an issue related to the hypervisor entitlement, since it seems to be an issue related to the user I close it.
If there is a real bug here we can reopen the issue. Thanks.

@AcK77 AcK77 closed this as completed May 2, 2023
@jneen
Copy link

jneen commented May 2, 2023

That means the app doesn't have the hypervisor entitlement, you probably didn't compile it properly and the signing step failed for some reason.

I'm running into this too on current master. I compiled as per the README, with dotnet -c Release -o build - is there a different way I am supposed to build the project for local testing?

@jneen
Copy link

jneen commented May 2, 2023

My build log:

MSBuild version 17.5.0-preview-23061-01+040e2a90e for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
/usr/local/share/dotnet/sdk/7.0.201/Current/SolutionFile/ImportAfter/Microsoft.NET.Sdk.Solution.targets(36,5): warning NETSDK1194: The "--output" option isn't supported when building a solution. Specifying a solution-level output path results in all projects copying outputs to the same directory, which can lead to inconsistent builds. [/Users/jneen/src/Ryujinx/Ryujinx.sln]
  Ryujinx.Tests.Unicorn -> /Users/jneen/src/Ryujinx/build/Ryujinx.Tests.Unicorn.dll
  Ryujinx.Common -> /Users/jneen/src/Ryujinx/build/Ryujinx.Common.dll
  Spv.Generator -> /Users/jneen/src/Ryujinx/build/Spv.Generator.dll
  Ryujinx.Graphics.Device -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Device.dll
  Ryujinx.Graphics.Video -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Video.dll
  Ryujinx.Memory -> /Users/jneen/src/Ryujinx/build/Ryujinx.Memory.dll
  Ryujinx.SDL2.Common -> /Users/jneen/src/Ryujinx/build/Ryujinx.SDL2.Common.dll
  Ryujinx.Horizon.Generators -> /Users/jneen/src/Ryujinx/build/Ryujinx.Horizon.Generators.dll
  Ryujinx.Ui.LocaleGenerator -> /Users/jneen/src/Ryujinx/build/Ryujinx.Ui.LocaleGenerator.dll
  Ryujinx.Graphics.Texture -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Texture.dll
  ARMeilleure -> /Users/jneen/src/Ryujinx/build/ARMeilleure.dll
  Ryujinx.Graphics.Shader -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Shader.dll
  Ryujinx.Tests.Memory -> /Users/jneen/src/Ryujinx/build/Ryujinx.Tests.Memory.dll
  Ryujinx.Horizon.Common -> /Users/jneen/src/Ryujinx/build/Ryujinx.Horizon.Common.dll
  Ryujinx.Horizon.Kernel.Generators -> /Users/jneen/src/Ryujinx/build/Ryujinx.Horizon.Kernel.Generators.dll
  Ryujinx.Graphics.Nvdec.Vp9 -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Nvdec.Vp9.dll
  Ryujinx.Graphics.Nvdec.FFmpeg -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Nvdec.FFmpeg.dll
  Ryujinx.ShaderTools -> /Users/jneen/src/Ryujinx/build/Ryujinx.ShaderTools.dll
  Ryujinx.Graphics.GAL -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.GAL.dll
  Ryujinx.Cpu -> /Users/jneen/src/Ryujinx/build/Ryujinx.Cpu.dll
  Ryujinx.Graphics.OpenGL -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.OpenGL.dll
  Ryujinx.Graphics.Vulkan -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Vulkan.dll
  Ryujinx.Graphics.Gpu -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Gpu.dll
  Ryujinx.Audio -> /Users/jneen/src/Ryujinx/build/Ryujinx.Audio.dll
  Ryujinx.Horizon -> /Users/jneen/src/Ryujinx/build/Ryujinx.Horizon.dll
  Ryujinx.Graphics.Nvdec -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Nvdec.dll
  Ryujinx.Graphics.Host1x -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Host1x.dll
  Ryujinx.Audio.Backends.SoundIo -> /Users/jneen/src/Ryujinx/build/Ryujinx.Audio.Backends.SoundIo.dll
  Ryujinx.Audio.Backends.OpenAL -> /Users/jneen/src/Ryujinx/build/Ryujinx.Audio.Backends.OpenAL.dll
  Ryujinx.Graphics.Vic -> /Users/jneen/src/Ryujinx/build/Ryujinx.Graphics.Vic.dll
  Ryujinx.Audio.Backends.SDL2 -> /Users/jneen/src/Ryujinx/build/Ryujinx.Audio.Backends.SDL2.dll
  Ryujinx.HLE -> /Users/jneen/src/Ryujinx/build/Ryujinx.HLE.dll
  Ryujinx.Ui.Common -> /Users/jneen/src/Ryujinx/build/Ryujinx.Ui.Common.dll
  Ryujinx.Input -> /Users/jneen/src/Ryujinx/build/Ryujinx.Input.dll
  Ryujinx.Input.SDL2 -> /Users/jneen/src/Ryujinx/build/Ryujinx.Input.SDL2.dll
  Ryujinx.Tests -> /Users/jneen/src/Ryujinx/build/Ryujinx.Tests.dll
  Ryujinx.Headless.SDL2 -> /Users/jneen/src/Ryujinx/build/Ryujinx.Headless.SDL2.dll
  Ryujinx.Ava -> /Users/jneen/src/Ryujinx/build/Ryujinx.Ava.dll
  /Users/jneen/src/Ryujinx/build/Ryujinx.Ava: replacing existing signature
  Ryujinx -> /Users/jneen/src/Ryujinx/build/Ryujinx.dll

Build succeeded.

/usr/local/share/dotnet/sdk/7.0.201/Current/SolutionFile/ImportAfter/Microsoft.NET.Sdk.Solution.targets(36,5): warning NETSDK1194: The "--output" option isn't supported when building a solution. Specifying a solution-level output path results in all projects copying outputs to the same directory, which can lead to inconsistent builds. [/Users/jneen/src/Ryujinx/Ryujinx.sln]
    1 Warning(s)
    0 Error(s)

Time Elapsed 00:00:02.81

@gdkchan
Copy link
Member

gdkchan commented May 2, 2023

If you just want to build it to play games, you can use the build script inside the distribution folder. There are some instructions on #4371.

Personally I just cd into the Ryujinx.Ava folder and do dotnet run -c Release. That will build and run it in a single command, which is convenient when you are constantly making changes to the code.

I never had entitlement issues with either method.

@jneen
Copy link

jneen commented May 2, 2023

Thank you! :]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working os:macOS An issue or feature request exclusively relating to macOS
Projects
None yet
Development

No branches or pull requests

5 participants