X Tutup
Skip to content

Fix iOS/visionOS export plugin crash on exit.#110485

Merged
akien-mga merged 1 commit intogodotengine:masterfrom
bruvzg:aemb_dtr
Oct 13, 2025
Merged

Fix iOS/visionOS export plugin crash on exit.#110485
akien-mga merged 1 commit intogodotengine:masterfrom
bruvzg:aemb_dtr

Conversation

@bruvzg
Copy link
Member

@bruvzg bruvzg commented Sep 13, 2025

Device poll thread seems to be rarely crashing during export plugin destruction, seems to have something to do with destructor call order (vtable for the child class disposed before base class destructor is called), since it's crashing with pure virtual call error.

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1920f79b8 __ulock_wait + 8
1   libsystem_pthread.dylib       	       0x19213a0b0 _pthread_join + 608
2   Godot                         	       0x107d7474c Thread::wait_to_finish() + 196 (thread_apple.cpp:112)
3   Godot                         	       0x1088b1c9c EditorExportPlatformAppleEmbedded::~EditorExportPlatformAppleEmbedded() + 108 (editor_export_platform_apple_embedded.cpp:2899)
4   Godot                         	       0x108339588 EditorExportPlatformVisionOS::~EditorExportPlatformVisionOS() + 28
5   Godot                         	       0x1083395b4 EditorExportPlatformVisionOS::~EditorExportPlatformVisionOS() + 28
6   Godot                         	       0x10557d62c void memdelete<RefCounted>(RefCounted*) + 52 (memory.h:139)
7   Godot                         	       0x1082ce844 Ref<EditorExportPlatform>::unref() + 68 (ref_counted.h:206)
...

Thread 24 Crashed:
0   libsystem_kernel.dylib        	       0x1920fe388 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x19213788c pthread_kill + 296
2   libsystem_c.dylib             	       0x192040a3c abort + 124
3   libc++abi.dylib               	       0x1920ed384 abort_message + 132
4   libc++abi.dylib               	       0x1920eccb0 __cxa_pure_virtual + 24
5   Godot                         	       0x1088aded4 EditorExportPlatformAppleEmbedded::_check_for_changes_poll_thread(void*) + 720 (editor_export_platform_apple_embedded.cpp:2440)
6   Godot                         	       0x107d74398 Thread::thread_callback(void*) + 64 (thread_apple.cpp:55)
7   libsystem_pthread.dylib       	       0x192137c0c _pthread_start + 136
8   libsystem_pthread.dylib       	       0x192132b80 thread_start + 8

Fixes #110634
Fixes #111416

@bruvzg bruvzg added this to the 4.6 milestone Sep 13, 2025
@bruvzg bruvzg added the bug label Sep 13, 2025
@bruvzg bruvzg requested a review from a team as a code owner September 13, 2025 08:27
@bruvzg bruvzg requested a review from a team September 13, 2025 08:27
@akien-mga akien-mga added the cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release label Oct 8, 2025
@akien-mga akien-mga merged commit 4219ce9 into godotengine:master Oct 13, 2025
20 checks passed
@akien-mga
Copy link
Member

Thanks!

Togira123 pushed a commit to Togira123/godot-custom that referenced this pull request Oct 13, 2025
Fix iOS/visionOS export plugin crash on exit.
@akien-mga
Copy link
Member

Cherry-picked for 4.5.1 (back in October).

@akien-mga akien-mga removed the cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release label Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Random SIGABRT on macOS 26.01 Apple Silicon M1 Max on headless export [4.6 dev] Godot editor sometimes crashes on entry and exit on macOS

2 participants

X Tutup