Hey,
I was wondering if anyone else encountered similar issue when using AR on iOS devices. Namely, everything works fine, but sometimes the scene just hangs until the game crashes due to the watchdog timeout.
Here’s the crash log, and as you can see it dies inside XREngineCallbacks class:
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, scene-update watchdog transgression: com.glu.hod2 exhausted real (wall clock) time allowance of 10.00 seconds | | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | “Elapsed total CPU time (seconds): 48.190 (user 48.190, system 0.000), 45% CPU”, | “Elapsed application CPU time (seconds): 17.627, 17% CPU” | )
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x000000018545b5a4 semaphore_wait_trap + 8
1 libdispatch.dylib 0x00000001852e8f04 _dispatch_sema4_wait$VARIANT$mp + 24
2 libdispatch.dylib 0x00000001852e98b4 _dispatch_semaphore_wait_slow + 140
3 hod2 0x000000010546c1d8 XREngineCallbacks::XREngineCallbacks()::FrameEventsXRBeginFrameRegistrator::Forward() + 9847256 (XREngineCallbacks.cpp:59)
4 hod2 0x0000000105007d9c PlayerSendFrameStarted() + 5242268 (Player.cpp:942)
5 hod2 0x0000000105008c64 ExecutePlayerLoop(NativePlayerLoopSystem*) + 5246052 (PlayerLoop.cpp:340)
6 hod2 0x0000000105008c8c ExecutePlayerLoop(NativePlayerLoopSystem*) + 5246092 (PlayerLoop.cpp:357)
7 hod2 0x0000000105008de8 PlayerLoop() + 5246440 (PlayerLoop.cpp:411)
8 hod2 0x0000000104de8f60 UnityPlayerLoopImpl(bool) + 3018592 (LibEntryPoint.mm:299)
9 hod2 0x0000000104b14ddc UnityRepaint + 52700 (UnityAppController+Rendering.mm:280)
10 hod2 0x0000000104b14cc8 -[UnityAppController(Rendering) repaintDisplayLink] + 52424 (UnityAppController+Rendering.mm:77)
11 QuartzCore 0x000000018989564c CA: isplay: isplayLink::dispatch_items+ 50764 (unsigned long long, unsigned long long, unsigned long long) + 672
12 IOKit 0x0000000185bd2098 IODispatchCalloutFromCFMessage + 392
13 CoreFoundation 0x00000001858f5090 __CFMachPortPerform + 188
14 CoreFoundation 0x000000018590fe00 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 56
15 CoreFoundation 0x000000018590f504 __CFRunLoopDoSource1 + 440
16 CoreFoundation 0x000000018590cfd8 __CFRunLoopRun + 2196
17 CoreFoundation 0x000000018582cc58 CFRunLoopRunSpecific + 436
18 GraphicsServices 0x00000001876d8f84 GSEventRunModal + 100
19 UIKit 0x000000018ef855c4 UIApplicationMain + 236
20 hod2 0x0000000104b0dd10 main + 23824 (main.mm:33)
21 libdyld.dylib 0x000000018534c56c start + 4
viktor_chernikov:
Hey,
I was wondering if anyone else encountered similar issue when using AR on iOS devices. Namely, everything works fine, but sometimes the scene just hangs until the game crashes due to the watchdog timeout.
Here’s the crash log, and as you can see it dies inside XREngineCallbacks class:
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, scene-update watchdog transgression: com.glu.hod2 exhausted real (wall clock) time allowance of 10.00 seconds | | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-update | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | “Elapsed total CPU time (seconds): 48.190 (user 48.190, system 0.000), 45% CPU”, | “Elapsed application CPU time (seconds): 17.627, 17% CPU” | )
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x000000018545b5a4 semaphore_wait_trap + 8
1 libdispatch.dylib 0x00000001852e8f04 _dispatch_sema4_wait$VARIANT$mp + 24
2 libdispatch.dylib 0x00000001852e98b4 _dispatch_semaphore_wait_slow + 140
3 hod2 0x000000010546c1d8 XREngineCallbacks::XREngineCallbacks()::FrameEventsXRBeginFrameRegistrator::Forward() + 9847256 (XREngineCallbacks.cpp:59)
4 hod2 0x0000000105007d9c PlayerSendFrameStarted() + 5242268 (Player.cpp:942)
5 hod2 0x0000000105008c64 ExecutePlayerLoop(NativePlayerLoopSystem*) + 5246052 (PlayerLoop.cpp:340)
6 hod2 0x0000000105008c8c ExecutePlayerLoop(NativePlayerLoopSystem*) + 5246092 (PlayerLoop.cpp:357)
7 hod2 0x0000000105008de8 PlayerLoop() + 5246440 (PlayerLoop.cpp:411)
8 hod2 0x0000000104de8f60 UnityPlayerLoopImpl(bool) + 3018592 (LibEntryPoint.mm:299)
9 hod2 0x0000000104b14ddc UnityRepaint + 52700 (UnityAppController+Rendering.mm:280)
10 hod2 0x0000000104b14cc8 -[UnityAppController(Rendering) repaintDisplayLink] + 52424 (UnityAppController+Rendering.mm:77)
11 QuartzCore 0x000000018989564c CA: isplay: isplayLink::dispatch_items+ 50764 (unsigned long long, unsigned long long, unsigned long long) + 672
12 IOKit 0x0000000185bd2098 IODispatchCalloutFromCFMessage + 392
13 CoreFoundation 0x00000001858f5090 __CFMachPortPerform + 188
14 CoreFoundation 0x000000018590fe00 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 56
15 CoreFoundation 0x000000018590f504 __CFRunLoopDoSource1 + 440
16 CoreFoundation 0x000000018590cfd8 __CFRunLoopRun + 2196
17 CoreFoundation 0x000000018582cc58 CFRunLoopRunSpecific + 436
18 GraphicsServices 0x00000001876d8f84 GSEventRunModal + 100
19 UIKit 0x000000018ef855c4 UIApplicationMain + 236
20 hod2 0x0000000104b0dd10 main + 23824 (main.mm:33)
21 libdyld.dylib 0x000000018534c56c start + 4
This sounds like a known issue which was fixed in Unity 2018.3. (Note the issue tracker reports it as having been fixed in a later ARKit package release, but this is wrong.)
Thank you. Will give it a try when 2018.3 is released or the fix is backported to 2018.2