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

iOS App crashes when system native Alarm app triggers alarm. #86477

Open
normano opened this issue Dec 23, 2023 · 3 comments
Open

iOS App crashes when system native Alarm app triggers alarm. #86477

normano opened this issue Dec 23, 2023 · 3 comments

Comments

@normano
Copy link

normano commented Dec 23, 2023

Tested versions

  • Reproducible in 4.2.1

System information

Godot v4.2.1.stable - macOS 14.1.2 - Vulkan (Mobile) - integrated Apple M1 Pro - Apple M1 Pro (8 Threads)

iPhone:
Godot Engine v4.2.stable.official.46dc27791 - https://godotengine.org
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple A14 GPU

Issue description

iPhone app freezes after iphone alarm app triggers alarm. Vulkan errors start popping up afterwards in XCode debug log.

Debug log on Xcode

Execution of the command buffer was aborted due to an error during execution. Insufficient Permission (to submit GPU work from background) (00000006:kIOGPUCommandBufferCallbackErrorBackgroundExecutionNotPermitted)
[mvk-error] VK_ERROR_DEVICE_LOST: MTLCommandBuffer "vkQueueSubmit CommandBuffer on Queue 0-0" execution failed (code 7): Insufficient Permission (to submit GPU work from background) (00000006:kIOGPUCommandBufferCallbackErrorBackgroundExecutionNotPermitted)
USER ERROR: Vulkan: Did not create swapchain successfully. Error code: VK_ERROR_DEVICE_LOST
 at: prepare_buffers (drivers/vulkan/vulkan_context.cpp:2459)
USER ERROR: Vulkan: Cannot submit graphics queue. Error code: VK_ERROR_DEVICE_LOST
 at: swap_buffers (drivers/vulkan/vulkan_context.cpp:2536)

repeatedly...

Steps to reproduce

Setup an alarm on iphone for hte next minute. Start your godot powered app on iPhone. Wait till alarm triggers and the app will freeze with debug log filling iwth vulkan errors.

Minimal reproduction project (MRP)

Just make any project guys. I did it with my full app and another one of my apps.

@normano
Copy link
Author

normano commented Jan 18, 2024

I retested with 4.2 and 4.3 dev2 on a iPhone 15 Pro, older device was a 12 pro, and only loses context when system alarm triggers and you press onto the alarm alert to switch to the timer app. If you swipe out the alert then the game engine keeps the Vulkan context and everything is good.

@AThousandShips
Copy link
Member

I believe this is and has been a problem with other apps as well, as I've heard from friends who have had apps crash with alarms, unsure what the wider solution would be

@Calinou
Copy link
Member

Calinou commented Jan 18, 2024

Like #52738, this may be another issue that requires implementing godotengine/godot-proposals#6423 to be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants