Search code examples
unity-game-enginecrashgoogle-project-tango

Unity3D Crash When Leaving Tango Scene


When leaving a scene that uses Motion Tracking, Area Learning, and WebcamTexture and moving to a menu scene that uses a standard Camera and no Tango prefabs, the application will crash.

02-25 13:32:46.285     886-1005/? W/InputDispatcher﹕ channel '6510e8f0 com.google.atap.app/com.unity3d.player.UnityPlayerNativeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
02-25 13:32:46.285     886-1005/? E/InputDispatcher﹕ channel '6510e8f0 com.google.atap.app/com.unity3d.player.UnityPlayerNativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
02-25 13:32:46.292     165-5890/? E/Camera2-FrameProcessor﹕ get3aResult: Camera 0: No afState provided by HAL for frame 709!
02-25 13:32:46.308     165-5896/? E/Surface﹕ queueBuffer: error queuing buffer to SurfaceTexture, -32
02-25 13:32:46.308     165-5896/? E/Camera3-OutputStream﹕ returnBufferCheckedLocked: Stream 0: Error queueing buffer to native window: Broken pipe (-32)
02-25 13:32:46.308     165-5896/? E/Camera3-Device﹕ Can't return buffer 0 for frame 708 to its stream:  Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-OutputStream﹕ getBufferLocked: Stream 0: Can't dequeue next output buffer: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-Device﹕ RequestThread: Can't get output buffer, skipping request: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-OutputStream﹕ getBufferLocked: Stream 0: Can't dequeue next output buffer: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-Device﹕ RequestThread: Can't get output buffer, skipping request: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-OutputStream﹕ getBufferLocked: Stream 0: Can't dequeue next output buffer: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-Device﹕ RequestThread: Can't get output buffer, skipping request: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-OutputStream﹕ getBufferLocked: Stream 0: Can't dequeue next output buffer: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-Device﹕ RequestThread: Can't get output buffer, skipping request: Broken pipe (-32)
02-25 13:32:46.308     165-5888/? E/Camera3-OutputStream﹕ getBufferLocked: Stream 0: Can't dequeue next output buffer: Broken pipe (-32)
02-25 13:32:46.309      165-165/? W/CameraService﹕ Disconnecting camera client 0xb8ac5f40 since the binder for it died (this pid 165)
02-25 13:32:46.309      165-165/? I/Camera2Client﹕ stopPreviewL: stopPreview ++
02-25 13:32:46.309      183-670/? I/sensor-hub-uart﹕ sensor_hub_uart_msg_queue: 54 15 9 2 returned 0
02-25 13:32:46.309     183-5904/? I/sensor-hub-uart﹕ wrote 54:15:9:2 0 0 to 13
02-25 13:32:46.309     886-1131/? I/ActivityManager﹕ Process com.google.atap.app (pid 5673) has died.

Is there any method that must be called when done using Tango prefabs and leaving the scene? Any idea why the crash is occurring?


Solution

  • I don't use Unity, but at the C level you need to call TangoService_disconnect - if you don't do that, and you do have live callbacks, well, who knows what will happen :-)