If you run an app and then exit the app using double tap home button and swipe the app away the app crashes when trying to shut down.
GetIsOrientationEnabled() crashes with
Thread 1: EXC_BAD_ACCESS (code=1, address=0x2c)
Call Stack:
Thread 1 Queue : com.apple.main-thread (serial)
#0 0x00000001049ac2e0 in GetIsOrientationEnabled [inlined] at /Users/builduser/buildslave/unity/build/Runtime/Graphics/ScreenManager.h:250
#1 0x00000001049ac2e0 in UnityIsOrientationEnabled at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/LibEntryPoint.mm:586
#2 0x000000010401f53c in EnabledAutorotationInterfaceOrientations() at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/Classes/UI/UnityViewControllerBase+iOS.mm:178
#3 0x000000010401407c in -[UnityAppController application:supportedInterfaceOrientationsForWindow:] at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/Classes/UnityAppController.mm:203
#4 0x00000001846dfd14 in -[UIApplication _supportedInterfaceOrientationsForWindow:] ()
#5 0x00000001840b5218 in -[UIViewController __supportedInterfaceOrientations] ()
#6 0x00000001840a6904 in -[UIViewController _preferredInterfaceOrientationGivenStatusBarAndDeviceAndOrientation:] ()
#7 0x00000001840b4e94 in -[UIViewController _preferredInterfaceOrientationForPresentationInWindow:fromInterfaceOrientation:] ()
#8 0x0000000183fc6494 in -[_UIFullscreenPresentationController _adjustOrientationIfNecessaryInWindow:forViewController:preservingViewController:] ()
#9 0x0000000183fbc288 in -[UIPresentationController _dismissWithAnimationController:interactionController:target:didEndSelector:] ()
#10 0x00000001840af8ac in __99-[UIViewController _dismissViewControllerWithAnimationController:interactionController:completion:]_block_invoke_2 ()
#11 0x0000000184b7d5ec in +[UIView(Animation) performWithoutAnimation:] ()
#12 0x00000001840af728 in -[UIViewController _dismissViewControllerWithAnimationController:interactionController:completion:] ()
#13 0x0000000184b7d5ec in +[UIView(Animation) performWithoutAnimation:] ()
#14 0x00000001840af3dc in -[UIViewController _dismissViewControllerWithTransition:from:completion:] ()
#15 0x00000001840aeab4 in -[UIViewController dismissViewControllerWithTransition:completion:] ()
#16 0x00000001840ae51c in -[UIViewController _performCoordinatedPresentOrDismiss:animated:] ()
#17 0x00000001840b0c24 in -[UIViewController dismissViewControllerAnimated:completion:] ()
#18 0x0000000184714904 in __68-[UIWindow _removeAllViewControllersFromWindowHierarchyFromDealloc:]_block_invoke ()
#19 0x00000001840a89d8 in +[UIViewController _performWithoutDeferringTransitionsAllowingAnimation:actions:] ()
#20 0x00000001847145a4 in -[UIWindow _removeAllViewControllersFromWindowHierarchyFromDealloc:] ()
#21 0x0000000184714ab0 in -[UIWindow setRootViewController:] ()
#22 0x0000000104013f60 in UnityCleanupTrampoline at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/Classes/UnityAppController.mm:170
#23 0x0000000104014fb8 in -[UnityAppController applicationWillTerminate:] at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/Classes/UnityAppController.mm:480
#24 0x00000001846e17ec in -[UIApplication _terminateWithStatus:] ()
#25 0x0000000183e81b14 in -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] ()
#26 0x0000000183e8179c in -[_UISceneLifecycleMultiplexer forceExitWithTransitionContext:scene:] ()
#27 0x00000001846d798c in -[UIApplication workspaceShouldExit:withTransitionContext:] ()
#28 0x00000001857a4490 in -[FBSUIApplicationWorkspaceShim workspaceShouldExit:withTransitionContext:] ()
#29 0x00000001857cf5ac in __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke_2 ()
#30 0x00000001857b57ec in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] ()
#31 0x00000001857cf53c in __83-[FBSWorkspaceScenesClient willTerminateWithTransitionContext:withAcknowledgement:]_block_invoke ()
#32 0x00000001802f7524 in _dispatch_client_callout ()
#33 0x00000001802a0434 in _dispatch_block_invoke_direct$VARIANT$mp ()
#34 0x00000001857f4440 in FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK ()
#35 0x00000001857f410c in -[FBSSerialQueue _queue_performNextIfPossible] ()
#36 0x00000001857f4634 in -[FBSSerialQueue _performNextFromRunLoopSource] ()
#37 0x00000001805afb64 in CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION ()
#38 0x00000001805afabc in __CFRunLoopDoSource0 ()
#39 0x00000001805af244 in __CFRunLoopDoSources0 ()
#40 0x00000001805aa274 in __CFRunLoopRun ()
#41 0x00000001805a9c34 in CFRunLoopRunSpecific ()
#42 0x000000018a6f338c in GSEventRunModal ()
#43 0x00000001846dc22c in UIApplicationMain ()
#44 0x0000000104019464 in -[UnityFramework runUIApplicationMainWithArgc:argv:] at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/Classes/main.mm:96
#45 0x0000000102733e1c in main at /Volumes/Storage/FantasticFoundry/Projects/MiniGolf/Builds/iOS/MainApp/main.mm:26
#46 0x0000000180431800 in start ()
Not sure if this is related but there is also a strange log too:
→ applicationWillResignActive()
→ applicationDidEnterBackground()
→ applicationWillTerminate()
Setting up 1 worker threads for Enlighten.
Thread → id: 16f04f000 → priority: 1
Why is enlighten trying to start threads on exit?