Ryujinx
Ryujinx copied to clipboard
[Bug] Mario Strikers: Battle League - Crash when starting any match or training
Description of the issue
Crash when starting any match or training
similar error as https://github.com/Ryujinx/Ryujinx/issues/4575
Reproduction steps
Start any match or training, crash after a short while
build commit 250fc5137 via the following command
git clean -fdx; DOTNET_CLI_TELEMETRY_OPTOUT=1 sh -x ./distribution/macos/create_macos_release.sh . ./temp ./output distribution/macos/entitlements.xml `git describe --tags`-macos `git describe --always`
00:00:00.631 |E| .NET ThreadPool Worker [mvk-info] MoltenVK version 1.2.0, supporting Vulkan version 1.2.231.
00:00:00.631 |E| .NET ThreadPool Worker The following 83 Vulkan extensions are supported:
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_16bit_storage v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_8bit_storage v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_bind_memory2 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_buffer_device_address v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_create_renderpass2 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_dedicated_allocation v3
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_depth_stencil_resolve v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_descriptor_update_template v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_device_group v4
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_device_group_creation v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_driver_properties v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_dynamic_rendering v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_fence v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_fence_capabilities v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_memory v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_memory_capabilities v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_semaphore v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_external_semaphore_capabilities v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_fragment_shader_barycentric v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_get_memory_requirements2 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_get_physical_device_properties2 v2
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_get_surface_capabilities2 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_imageless_framebuffer v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_image_format_list v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_maintenance1 v2
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_maintenance2 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_maintenance3 v1
00:00:00.631 |E| .NET ThreadPool Worker VK_KHR_multiview v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_portability_subset v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_push_descriptor v2
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_relaxed_block_layout v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_sampler_mirror_clamp_to_edge v3
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_sampler_ycbcr_conversion v14
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_separate_depth_stencil_layouts v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_shader_draw_parameters v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_shader_float_controls v4
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_shader_float16_int8 v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_shader_subgroup_extended_types v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_spirv_1_4 v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_storage_buffer_storage_class v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_surface v25
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_swapchain v70
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_swapchain_mutable_format v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_timeline_semaphore v2
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_uniform_buffer_standard_layout v1
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_variable_pointers v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_buffer_device_address v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_debug_marker v4
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_debug_report v10
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_debug_utils v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_descriptor_indexing v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_fragment_shader_interlock v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_hdr_metadata v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_host_query_reset v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_image_robustness v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_inline_uniform_block v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_memory_budget v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_metal_objects v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_metal_surface v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_post_depth_coverage v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_private_data v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_robustness2 v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_sample_locations v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_scalar_block_layout v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_separate_stencil_usage v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_shader_stencil_export v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_shader_viewport_index_layer v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_subgroup_size_control v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_swapchain_colorspace v4
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_texel_buffer_alignment v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_texture_compression_astc_hdr v1
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_vertex_attribute_divisor v3
00:00:00.632 |E| .NET ThreadPool Worker VK_AMD_gpu_shader_half_float v2
00:00:00.632 |E| .NET ThreadPool Worker VK_AMD_negative_viewport_height v1
00:00:00.632 |E| .NET ThreadPool Worker VK_AMD_shader_image_load_store_lod v1
00:00:00.632 |E| .NET ThreadPool Worker VK_AMD_shader_trinary_minmax v1
00:00:00.632 |E| .NET ThreadPool Worker VK_IMG_format_pvrtc v1
00:00:00.632 |E| .NET ThreadPool Worker VK_INTEL_shader_integer_functions2 v1
00:00:00.632 |E| .NET ThreadPool Worker VK_GOOGLE_display_timing v1
00:00:00.632 |E| .NET ThreadPool Worker VK_MVK_macos_surface v3
00:00:00.632 |E| .NET ThreadPool Worker VK_MVK_moltenvk v36
00:00:00.632 |E| .NET ThreadPool Worker VK_NV_fragment_shader_barycentric v1
00:00:00.632 |E| .NET ThreadPool Worker VK_NV_glsl_shader v1
00:00:00.632 |E| .NET ThreadPool Worker [mvk-info] GPU device:
00:00:00.632 |E| .NET ThreadPool Worker model: Apple M2
00:00:00.632 |E| .NET ThreadPool Worker type: Integrated
00:00:00.632 |E| .NET ThreadPool Worker vendorID: 0x106b
00:00:00.632 |E| .NET ThreadPool Worker deviceID: 0xd0303ef
00:00:00.632 |E| .NET ThreadPool Worker pipelineCacheUUID: 260BAD42-0D03-03EF-0000-000000000000
00:00:00.632 |E| .NET ThreadPool Worker supports the following Metal Versions, GPU's and Feature Sets:
00:00:00.632 |E| .NET ThreadPool Worker Metal Shading Language 2.4
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 7
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 6
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 5
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 4
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 3
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 2
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Apple 1
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Mac 2
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Mac 1
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Common 3
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Common 2
00:00:00.632 |E| .NET ThreadPool Worker GPU Family Common 1
00:00:00.632 |E| .NET ThreadPool Worker macOS GPU Family 2 v1
00:00:00.632 |E| .NET ThreadPool Worker macOS GPU Family 1 v4
00:00:00.632 |E| .NET ThreadPool Worker macOS GPU Family 1 v3
00:00:00.632 |E| .NET ThreadPool Worker macOS GPU Family 1 v2
00:00:00.632 |E| .NET ThreadPool Worker macOS GPU Family 1 v1
00:00:00.632 |E| .NET ThreadPool Worker [mvk-info] Created VkInstance for Vulkan version 1.2.0, as requested by app, with the following 3 Vulkan extensions enabled:
00:00:00.632 |E| .NET ThreadPool Worker VK_KHR_surface v25
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_debug_utils v2
00:00:00.632 |E| .NET ThreadPool Worker VK_EXT_metal_surface v1
00:00:00.655 |E| .NET ThreadPool Worker [mvk-info] Vulkan semaphores using Metal implicit guarantees within a single queue.
00:00:00.655 |E| .NET ThreadPool Worker [mvk-info] Created VkDevice to run on GPU Apple M2 with the following 9 Vulkan extensions enabled:
00:00:00.655 |E| .NET ThreadPool Worker VK_KHR_portability_subset v1
00:00:00.655 |E| .NET ThreadPool Worker VK_KHR_push_descriptor v2
00:00:00.655 |E| .NET ThreadPool Worker VK_KHR_shader_float16_int8 v1
00:00:00.655 |E| .NET ThreadPool Worker VK_KHR_swapchain v70
00:00:00.655 |E| .NET ThreadPool Worker VK_EXT_descriptor_indexing v2
00:00:00.655 |E| .NET ThreadPool Worker VK_EXT_fragment_shader_interlock v1
00:00:00.655 |E| .NET ThreadPool Worker VK_EXT_robustness2 v1
00:00:00.655 |E| .NET ThreadPool Worker VK_EXT_shader_stencil_export v1
00:00:00.655 |E| .NET ThreadPool Worker VK_EXT_subgroup_size_control v2
00:00:00.700 |E| .NET ThreadPool Worker [mvk-info] Created 3 swapchain images with initial size (2560, 1414) and contents scale 2.0 for screen Built-in Retina Display.
00:00:00.701 |N| GUI.RenderThread Gpu PrintGpuInformation: Apple Apple M2 (Vulkan v1.2.231, Driver v0.2.2008)
00:00:00.981 |W| HLE.OsThread.10 ServiceNv Wait: GPU processing thread is too slow, waiting on CPU...
00:00:01.983 |E| HLE.OsThread.10 Gpu WaitOnSyncpoint: Wait on syncpoint 1 for threshold 15 took more than 1000ms, resuming execution...
00:00:04.503 |E| .NET ThreadPool Worker [mvk-info] Created 3 swapchain images with initial size (2940, 1840) and contents scale 2.0 for screen Built-in Retina Display.
00:01:12.462 |E| .NET ThreadPool Worker [mvk-error] VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| Gpu UserCallback: VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| Gpu UserCallback: VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| Gpu UserCallback: VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| .NET ThreadPool Worker [mvk-error] VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| .NET ThreadPool Worker [mvk-error] VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| Gpu UserCallback: VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.463 |E| .NET ThreadPool Worker [mvk-error] VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 9): Invalid Resource (00000009:kIOGPUCommandBufferCallbackErrorInvalidResource)
00:01:12.499 |E| GUI.RenderThread Application : Unhandled exception caught: Ryujinx.Graphics.Vulkan.VulkanException: Unexpected API error "ErrorDeviceLost".
at Ryujinx.Graphics.Vulkan.CommandBufferPool.Return(CommandBufferScoped cbs, ReadOnlySpan`1 waitSemaphores, ReadOnlySpan`1 waitDstStageMask, ReadOnlySpan`1 signalSemaphores) in /Users/timezlicer/opt/Ryujinx/src/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs:line 315
at Ryujinx.Graphics.Vulkan.PipelineFull.FlushCommandsImpl() in /Users/timezlicer/opt/Ryujinx/src/Ryujinx.Graphics.Vulkan/PipelineFull.cs:line 219
at Ryujinx.Graphics.GAL.Multithreading.CommandHelper.<>c.<InitLookup>b__5_1[T](Span`1 memory, ThreadedRenderer threaded, IRenderer renderer) in /Users/timezlicer/opt/Ryujinx/src/Ryujinx.Graphics.GAL/Multithreading/CommandHelper.cs:line 41
at Ryujinx.Graphics.GAL.Multithreading.ThreadedRenderer.RenderLoop()
at Ryujinx.Graphics.GAL.Multithreading.ThreadedRenderer.RunLoop(Action gpuLoop) in /Users/timezlicer/opt/Ryujinx/src/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs:line 115
at Ryujinx.Ava.AppHost.RenderLoop() in /Users/timezlicer/opt/Ryujinx/src/Ryujinx.Ava/AppHost.cs:line 871
at System.Threading.Thread.StartCallback()
Log file
Ryujinx_1.1.735-macos+250fc5137_2023-04-28_11-24-22.log
OS
macOS Ventura 13.3.1
Ryujinx version
1.1.735-macos+250fc5137
Game version
1.3.1
CPU
M2
GPU
M2
RAM
24GB
List of applied mods
No response
Additional context?
No response
Tested https://github.com/Ryujinx/Ryujinx/pull/4800 on top of master https://github.com/Ryujinx/Ryujinx/commit/fab11ba3f1fec3e3827a8350791d76d2fcd50173
config.ResumeLostDevice = true;
appears to workaround the crash
Thanks!
Does the game actually render correctly (or at least good enough to be playable) with this change?
Yes it is playable and I do not observe any new rendering issues (apart from what we already know about the audience)