Unable to open second Astra Pro sensor (segfault)

Background: Ubuntu 16.04 (x86_64), Astra SDK v2.0.8-beta2.

I’ve been working on developing against the Astra SDK using Astra Pro cameras. I recently attempted to open a second Astra Pro connected to the same system (two devices plugged into different USB ports) and I’ve been hitting the following issue. It’s easily reproduced by running MultiSensorViewer-SFML provided with the SDK. Opening up gdb to check the core file gives me:

Core was generated by `../bin/MultiSensorViewer-SFML'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f451f5e144e in uvc_get_stream_ctrl_format_size ()
   from /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/bin/../lib/Plugins/libopenni_sensor.so
[Current thread is 1 (Thread 0x7f454ac9b780 (LWP 11479))]
(gdb) bt
#0  0x00007f451f5e144e in uvc_get_stream_ctrl_format_size ()
   from /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/bin/../lib/Plugins/libopenni_sensor.so
#1  0x00007f451f5da012 in orbbec::ni::LibuvcColorStream::on_set_parameter(_astra_streamconnection*, int, unsigned int, void*) ()
   from /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/bin/../lib/Plugins/libopenni_sensor.so
#2  0x00000000004076b2 in configure_color(astra::StreamReader&) ()
#3  0x0000000000404a84 in main ()

(running the binary under gdb stops in the same function).

In my code, I hit a segmentation fault in the same place trying to open device/sensor1 even if I only attempt to open one camera (i.e. this does not appear to be related to opening the second camera in the same process, just sensor1 at all.

Any advice for how to address any sensor except for sensor0 would be appreciated.

Thanks!

Also, I’m not sure it’s related, but this valgrind output near the same library could be part of the same issue:
‘’’
==14652== Memcheck, a memory error detector
==14652== Copyright (C) 2002-2015, and GNU GPL’d, by Julian Seward et al.
==14652== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==14652== Command: …/bin/MultiSensorViewer-SFML
==14652==
Warning: USB events thread - failed to set priority. This might cause loss of data…
unsupported descriptor subtype VS_COLORFORMAT
unsupported descriptor subtype VS_COLORFORMAT
attempt to claim already-claimed interface 1
==14652== Conditional jump or move depends on uninitialised value(s)
==14652== at 0x226517BE: orbbec::ni::LibuvcColorStream::on_open() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x2264EC7C: orbbec::ni::device_streamset::open_sensor_streams() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x2264F0F0: orbbec::ni::device_streamset::open() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x22647876: orbbec::ni::oni_adapter_plugin::add_or_get_device(char const*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x22647CBC: orbbec::ni::oni_adapter_plugin::onDeviceConnected(openni::DeviceInfo const*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x2288482D: oni::implementation::Context::deviceDriver_DeviceConnected(oni::implementation::Device*, void*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/libOpenNI2.so)
==14652== by 0x22896BB5: oni::implementation::DeviceDriver::driver_DeviceConnected(OniDeviceInfo const*, void*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/libOpenNI2.so)
==14652== by 0x22FED304: XnDeviceEnumeration::OnConnectivityEvent(char const*, XnUSBEventType, XnDeviceEnumeration::XnUsbId) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/OpenNI2/Drivers/liborbbec.so)
==14652== by 0x22FED9E2: XnDeviceEnumeration::Initialize() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/OpenNI2/Drivers/liborbbec.so)
==14652== by 0x22FBD36A: XnOniDriver::initialize(void ()(OniDeviceInfo const, void*), void ()(OniDeviceInfo const, void*), void ()(OniDeviceInfo const, int, void*), void*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/OpenNI2/Drivers/liborbbec.so)
==14652== by 0x22898191: oni::implementation::DeviceDriver::initialize() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/libOpenNI2.so)
==14652== by 0x22887486: oni::implementation::Context::loadLibraries(char const*) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/libOpenNI2.so)
==14652== by 0x22887960: oni::implementation::Context::initialize() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/openni2/libOpenNI2.so)
==14652== by 0x226465CC: orbbec::ni::oni_adapter_plugin::init_openni() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x2264678A: astra_plugin_initialize (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/Plugins/libopenni_sensor.so)
==14652== by 0x4E83A5C: astra::plugin_manager::try_load_plugin(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/libastra_core.so)
==14652== by 0x4E848CC: astra::plugin_manager::load_plugins(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/libastra_core.so)
==14652== by 0x4E63D0B: astra::context_impl::initialize() (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/lib/libastra_core.so)
==14652== by 0x404848: main (in /home/sammy/astra/AstraSDK-v2.0.8-beta2-c1b800ad80-20180201T091618Z-Linux/bin/MultiSensorViewer-SFML)
‘’’