Frequent session interruption events when running a modified RoomPlan.

When running a modified version of the RoomPlan Demo I get frequent Session Interrupted conditions. In looking at the traces I find a status of SensorDidPause in the interruption Side of the error but am mystified as to how to determine which sensor it was that paused and how to diagnose it. It appears there is a bitmap of available and active sensor devices in the sensor info passed with the session data on the error. In looking at the error status I can see that one or two of the motion sensors have had a problem. How do I do further diagnostic checks on what the cause of the error is? I am also curious why the error occurred as soon as the AR Session for my test started via the “session.run” call. The documentation in this area seems difficult to find. Attached are traces from running the test and stack dumps for the calls. Please send me guidance on how to proceed. The device in question is an iPad iPhone(3) that is attached to the Mac mini named “Hawkeye”. There is no known direct involvement for the Hawkeye system

I also have an active feedback thread through my user account.

My concern is the question whether the sensor is connected through a bus structure (similar to a PCIe crossbar type switch chip) that if one devices is reset some developers take the short cut by resetting the switch chip instead of resetting individual ports. see attached file for more info

My concern is the question whether the sensor is connected through a bus structure (similar to a PCIe crossbar type switch chip) that if one devices is reset some developers take the short cut by resetting the switch chip instead of resetting individual ports. I have been in those trenches with PCIe extenders and their switches and it impacts any activities on the bus resulting in uncontrolled device timeouts.  Most developers will not go to the trouble of implementing downstream logic to do device port specific resets in favour. of a simpler switch reset.  In the case of a switch reset you must also have implemented the recovery of each device connected through the crossbar to make sure the transfer completes.  Is there someone who can discuss this design and see if that is truly the way the existing driver(s) have implemented their operation? I have included the storage structure dump for the Sensors to give an idea what I am talking about. It appears the queues for the sensors are attached through chip that functions as a switch node for multiple devices downstream from the node. 

_session	ARSession?	0x000000010a3071f0
_imageSensor	id	0x0	0x0000000000000000
[0]	id	
_locationSensor	ARRemoteLocationSensor?	0x0000000303d18d20
baseARRemoteSensor@0	ARRemoteSensor	
baseNSObject@0	NSObject	
_serverConnection	ARServerConnection?	0x00000003026ff940
_serviceProxy	id	0x0	0x0000000000000000
_running	bool	false
_delegate	id	0x0	0x0000000000000000
_replaySensor	id	0x0	0x0000000000000000
_availableSensors	__NSArrayM *	4 elements	0x0000000303f9b210
[0]	ARParentImageSensor?	0x00000003018c9880
baseNSObject@0	NSObject	
_bufferPopulationMonitor	id	0x0	0x0000000000000000
_captureQueue	OS_dispatch_queue_serial?	0x0000000301de7900
_captureSessionNotificationsQueue	OS_dispatch_queue_serial?	0x0000000301de5f80
_recordingMode	bool	false
_running	bool	true
_interrupted	bool	false
_unrecoverable	bool	false
_settings	ARParentImageSensorSettings?	0x0000000303718460
_sensors	__NSArrayM *	@"4 elements"	0x0000000303d61b00
_delegate	ARSession?	0x000000010a3071f0
_powerUsage	unsigned long long	0
_captureSession	AVCaptureMultiCamSession?	0x0000000303261460
_audioInput	id	0x0	0x0000000000000000
_audioOutput	id	0x0	0x0000000000000000
_audioConnection	id	0x0	0x0000000000000000
[1]	ARMotionSensor?	0x00000003026ff980
baseNSObject@0	NSObject	
_motionManager	CMMotionManager?	0x00000003030f6fa0
_currentGyroData	ARGyroscopeData?	0x0000000303d1aca0
_currentAccelerometerData	ARAccelerometerData?	0x0000000303d1b330
_currentMagnetometerData	id	0x0	0x0000000000000000
_requestMagnetometerData	bool	false
_delegate	ARSession?	0x000000010a3071f0
_interval	double	0.01
[2]	ARDeviceOrientationSensor?	0x00000003026ffa00
baseNSObject@0	NSObject	
_motionManager	CMMotionManager?	0x00000003030f6fa0
_taskDeviceMotion	OperationQueue?	0x0000000103f112f0
_previousCaptureEndingTimestamp	double	164380.42998462502
_delegate	ARSession?	0x000000010a3071f0
_worldAlignment	long long	0
_interval	double	0.01
[3]	ARRemoteLocationSensor?	0x0000000303d18d20
baseARRemoteSensor@0	ARRemoteSensor	
baseNSObject@0	NSObject	
_serverConnection	ARServerConnection?	0x00000003026ff940
_serviceProxy	id	0x0	0x0000000000000000
_running	bool	false
_delegate	id	0x0	0x0000000000000000
_runningSensors	unsigned long long	63
_pausedSensors	unsigned long long	05

Interesting that nobody has commented.

Frequent session interruption events when running a modified RoomPlan.
 
 
Q