2
votes

I am currently playing around with the dev kit of project tango using unity for a simple AR scene. As a base I used the AR demo provided with the SDK. What I realized is, that whenever I move the device too fast or too close to an object, the app just crashes (also the pure sample app has this problem). On the other hand I found a lot of tango+unity apps on the market that instead of crashing displays an error message on the top of the screen. Any idea, how to have the same in my app ?

I just tried it again and it is reproducible by 100%:

  1. Create a new unity project
  2. import the tango Okul for unity
  3. open the sample scene AugmentedReality from the SDK
  4. build it and run it on the dev kit
  5. shake the device

=> crash

logs before the crash:

W/TangoConsumer(32004): [ProCamera::mCpuConsumer] Max buffers have been locked (16), cannot lock anymore.
D/NvOsDebugPrintf(18410): routeResultFromCAM: WARNING: only 0 requests in flight on sensor 0, frame drops likely
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
E/Sensors (  895): [nosae] setDelay: 8000000 sec
D/Sensors (  895): Writing packet 54 32 0A 04 40 1F 00 00 74 
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
I/WindowState(  895): WIN DEATH: Window{6580c378 u0 com.tango.sample/com.google.unity.GoogleUnityActivity}
W/InputDispatcher(  895): Attempted to unregister already unregistered input channel '6580c378 com.tango.sample/com.google.unity.GoogleUnityActivity (server)'
D/Sensors (  895): Writing packet 54 36 0C 00 74 
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
I/WindowState(  895): WIN DEATH: Window{64923f78 u0 SurfaceView}
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
D/Sensors (  895): Writing packet 54 31 0C 00 74 
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/tango   (32004): tango-image-callback.cc:72 Could not promote most recent fisheye image
W/MediaFocusControl(  895):   AudioFocus   audio focus client died
I/MediaFocusControl(  895): AudioFocus  removeFocusStackEntry(): removing entry for android.os.BinderProxy@6535f660
E/Sensors (  895): [nosae] setDelay: 10000000 sec
D/Sensors (  895): Writing packet 54 32 0B 04 10 27 00 00 74 
E/Sensors (  895): [nosae] setDelay: 8000000 sec
D/Sensors (  895): Writing packet 54 32 0A 04 40 1F 00 00 74 
I/tango   (32004): data-manager.cc:1141 Behind by: 1.87951 seconds, skip current frame.
I/tango   (32004): data-manager.cc:1141 Behind by: 1.76053 seconds, skip current frame.
E/Sensors (  895): [nosae] setDelay: 10000000 sec
D/Sensors (  895): Writing packet 54 32 0B 04 10 27 00 00 74 
I/tango   (32004): data-manager.cc:1141 Behind by: 1.5368 seconds, skip current frame.
E/Sensors (  895): [nosae] setDelay: 8000000 sec
D/Sensors (  895): Writing packet 54 32 0A 04 40 1F 00 00 74 
W/st-log  (32004): Final features: 0
I/tango   (32004): data-manager.cc:1141 Behind by: 1.30901 seconds, skip current frame.
D/Sensors (  895): Writing packet 54 36 0B 00 74 
I/tango   (32004): data-manager.cc:1141 Behind by: 1.07433 seconds, skip current frame.
D/Sensors (  895): Writing packet 54 31 0B 00 74 
I/tango   (32004): data-manager.cc:1141 Behind by: 0.846438 seconds, skip current frame.
I/art     (  164): Process 2786 terminated by signal (11)
I/tango   (32004): vio-fault-detector.cc:131 Stop recording last good pose.
I/tango   (32004): data-manager.cc:1141 Behind by: 0.585513 seconds, skip current frame.
I/tango   (32004): data-manager.cc:1141 Behind by: 0.40689 seconds, skip current frame.
I/tango   (32004): data-manager.cc:1141 Behind by: 0.344115 seconds, skip current frame.
I/tango   (32004): data-manager.cc:1141 Behind by: 0.259456 seconds, skip current frame.
E/tango   (32004): filter-update-inl.h:70 Temporary visual feature update failed when computing its residual and Jacobian.
I/tango   (32004): vio-fault-detector.cc:131 Stop recording last good pose.
E/tango   (32004): manager.cc:266 VioCallback queue time = 0.060062 seconds. Skipping packet.
E/tango   (32004): manager.cc:266 VioCallback queue time = 0.050133 seconds. Skipping packet.
E/tango   (32004): manager.cc:266 VioCallback queue time = 0.037234 seconds. Skipping packet.
E/tango   (32004): manager.cc:266 VioCallback queue time = 0.02806 seconds. Skipping packet.
E/tango   (32004): manager.cc:266 VioCallback queue time = 0.023363 seconds. Skipping packet.
W/tango   (32004): tango-xyzij-callback.cc:125 No points in point cloud.
E/Sensors (  895): [nosae] setDelay: 10000000 sec
D/Sensors (  895): Writing packet 54 32 0A 04 10 27 00 00 74 
W/ActivityManager(  895): Exception thrown during pause
W/ActivityManager(  895): android.os.DeadObjectException
W/ActivityManager(  895):   at android.os.BinderProxy.transact(Native Method)
W/ActivityManager(  895):   at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660)
W/ActivityManager(  895):   at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:768)
W/ActivityManager(  895):   at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2473)
W/ActivityManager(  895):   at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2347)
W/ActivityManager(  895):   at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2045)
W/ActivityManager(  895):   at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9569)
W/ActivityManager(  895):   at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9462)
W/ActivityManager(  895):   at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10107)
W/ActivityManager(  895):   at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9658)
W/ActivityManager(  895):   at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
D/Sensors (  895): Writing packet 54 36 10 00 74 
I/ActivityManager(  895): Process com.tango.sample (pid 2786) has died.
W/JavaBinder(  895): Binder has been finalized when calling linkToDeath() with recip=0x47663aa8)
D/Sensors (  895): Writing packet 54 31 10 00 74 
I/art     (  895): Heap trim of managed (duration=10.891083ms, advised=2MB) and native (duration=2.739167ms, advised=1092KB) heaps. Managed heap utilization of 73%.
D/DropBoxEntryAddedChimeraService( 1352): User is not opted-in to Usage & Diagnostics.
D/DropBoxEntryAddedChimeraService( 1352): User is not opted-in to Usage & Diagnostics.
D/NvOsDebugPrintf(18410): routeResultFromCAM: WARNING: only 0 requests in flight on sensor 0, frame drops likely
D/NvOsDebugPrintf(18410): routeResultFromCAM: WARNING: only 0 requests in flight on sensor 1, frame drops likely
D/NvOsDebugPrintf(18410): NvCamScaler_OutputThread-- (error 0x0)
D/NvOsDebugPrintf(18410): SensorBayer_SetPowerLevel 1
E/Sensors (  895): [nosae] setDelay: 10000000 sec
D/Sensors (  895): Writing packet 54 32 0A 04 10 27 00 00 74 
I/tango   (32004): tango-service-application.cc:357 TangoServiceApplication: Joined successfully.
I/tango   (32004): manager.cc:132 IMU average latency 0.712673ms variance 2.2942 max 22.4214ms hz 100.275
I/tango   (32004): manager.cc:138 VIO average latency 42.1586ms variance 10062.1 max 749.343ms hz 6.54341
I/tango   (32004): tango-hal-interface.cc:88 Average feature detection frequency: 8.50136
2

2 Answers

4
votes

I had same problem and I solved it by disabling Draw Default UX Exception of TangoManager.

Thanks to this comment from github:

https://github.com/googlesamples/tango-examples-unity/issues/52#issuecomment-249151431

0
votes

well I am facing the same problem, did some research and found this unity Example project with fast movement or camera close up handling. at the moment I am reading it and studying it.

https://github.com/googlesamples/tango-examples-unity/tree/b8ca964a24fff3381d666538f699e76a0e8f9aef

you will find it inside the Plugins/android/tango-us-support-library/src/com/google/atap/tango/ux

Good luck for both of us :P