getSynchronizedRobot throws warning and Seg. fault at scenario startup
When starting my scenario (example_scenario) https://gitlab.com/h2t/student-projects/ba-johann-bonneau/goal-oriented-manipulation/-/tree/PC_objectSeperator all components at the same time my component point_cloud_preprocessor calls getSynchronizedRobot(...), then throws the following warning and segmentation fault with the following backtrace.
To avoid the problem I just start the component after all components finished starting (e.g. 10 sec. startup delay).
Error: Caught armarx::LocalException:
Reason: The following expression is not true, but needs to be: 'snapshot'
(at /common/homes/students/bonneau/code/armarx/RobotAPI/source/RobotAPI/libraries/armem_robot_state/common/localization/TransformHelper.cpp:270 in _obtainTransform in )
No snapshot found before or at time 2022-08-15_12-11-13.656111
Backtrace:
1 0x7f9adf8ac2a8 Eigen::Transform<float, 3, 2, 0> armarx::armem::common::robot_state::localization::TransformHelper::_obtainTransform<armarx::armem::wm::Entity, armarx::armem::wm::ProviderSegment>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, armarx::armem::base::ProviderSegmentBase<armarx::armem::wm::Entity, armarx::armem::wm::ProviderSegment> const&, armarx::core::time::DateTime const&) + 920
2 0x7f9adf8ad1ce std::vector<Eigen::Transform<float, 3, 2, 0>, std::allocator<Eigen::Transform<float, 3, 2, 0> > > armarx::armem::common::robot_state::localization::TransformHelper::_obtainTransforms<armarx::armem::wm::ProviderSegment, armarx::armem::wm::CoreSegment>(armarx::armem::base::CoreSegmentBase<armarx::armem::wm::ProviderSegment, armarx::armem::wm::CoreSegment> const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, armarx::core::time::DateTime const&) + 270
3 0x7f9adf8af1fb armarx::armem::common::robot_state::localization::TransformResult armarx::armem::common::robot_state::localization::TransformHelper::_lookupTransform<armarx::armem::wm::ProviderSegment, armarx::armem::wm::CoreSegment>(armarx::armem::base::CoreSegmentBase<armarx::armem::wm::ProviderSegment, armarx::armem::wm::CoreSegment> const&, armarx::armem::common::robot_state::localization::TransformQuery const&) + 107
4 0x7f9adf8a2f51 armarx::armem::common::robot_state::localization::TransformHelper::lookupTransform(armarx::armem::wm::CoreSegment const&, armarx::armem::common::robot_state::localization::TransformQuery const&) + 33
5 0x7f9adf8da9cf armarx::armem::client::robot_state::localization::TransformReader::lookupTransform(armarx::armem::common::robot_state::localization::TransformQuery const&) const + 2415
6 0x7f9adf8d8b93 armarx::armem::client::robot_state::localization::TransformReader::getGlobalPose(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, armarx::core::time::DateTime const&) const + 211
7 0x7f9adf8b5a74 armarx::armem::robot_state::RobotReader::queryGlobalPose(armarx::armem::robot::RobotDescription const&, armarx::core::time::DateTime const&) const + 68
8 0x7f9adf8b5c2b armarx::armem::robot_state::RobotReader::queryState(armarx::armem::robot::RobotDescription const&, armarx::core::time::DateTime const&) + 171
9 0x7f9adf8d6acc armarx::armem::robot_state::VirtualRobotReader::synchronizeRobot(VirtualRobot::Robot&, armarx::core::time::DateTime const&) + 508
10 0x7f9adf8d78f1 armarx::armem::robot_state::VirtualRobotReader::_getSynchronizedRobot(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, armarx::core::time::DateTime const&, VirtualRobot::BaseIO::RobotDescription const&, bool) + 193
11 0x7f9adf8d7d74 armarx::armem::robot_state::VirtualRobotReader::getSynchronizedRobot(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, VirtualRobot::BaseIO::RobotDescription const&, bool) + 84
12 0x55b5cb7fd9b0 /common/homes/students/bonneau/code/h2t/student_projects/ba-johann-bonneau/goal_oriented_manipulation/build/bin/point_cloud_preprocessor_run(+0x209b0) [0x55b5cb7fd9b0]
13 0x7f9ae050f2b3 visionx::PointCloudProcessor::onConnectComponent() + 867
14 0x7f9adaf121f4 armarx::ManagedIceObject::start(IceInternal::ProxyHandle<IceProxy::Ice::Object>&, IceInternal::Handle<Ice::ObjectAdapter> const&) + 532
15 0x7f9adaf08fdb armarx::ArmarXObjectScheduler::startObject() + 299
16 0x7f9adaf09d54 armarx::ArmarXObjectScheduler::scheduleObject() + 116
17 0x7f9adaf87de5 armarx::RunningTaskBase::run() + 181
18 0x7f9adb48ace9 /usr/lib/x86_64-linux-gnu/libIce.so.37(+0x1a7ce9) [0x7f9adb48ace9]
19 0x7f9ad9e706db /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f9ad9e706db]
20 0x7f9ad8cf061f clone + 63
Trace created by calling ARMARX_TRACE:
Segmentation fault - Backtrace:
/common/homes/students/bonneau/code/armarx/ArmarXCore/build/lib/libArmarXCore.so.0(_ZN6armarx11Application12HandlerFaultEi+0x4a9)[0x7f9adafad789]
/lib/x86_64-linux-gnu/libc.so.6(+0x3ef10)[0x7f9ad8c0df10]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZNK6armarx5armem4base18EntitySnapshotBaseINS0_2wm14EntityInstanceENS3_14EntitySnapshotEE11getInstanceEi+0x35)[0x7f9adf8a7f95]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem4base6detail16forEachChildPairISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_2wm6EntityESt4lessISA_ESaISt4pairIKSA_SC_EEERZNS0_6common11robot_state12localization15TransformHelper16_obtainTimestampIJNSB_15ProviderSegmentENSB_11CoreSegmentEEEENS_4core4time8DateTimeERKNS1_15CoreSegmentBaseIDpT_EERKST_EUlRKT_E_EEbRS12_OT0_+0xfc)[0x7f9adf8aef5c]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem6common11robot_state12localization15TransformHelper16_obtainTimestampIJNS0_2wm15ProviderSegmentENS6_11CoreSegmentEEEENS_4core4time8DateTimeERKNS0_4base15CoreSegmentBaseIDpT_EERKSB_+0x65)[0x7f9adf8af0c5]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem6common11robot_state12localization15TransformHelper16_lookupTransformIJNS0_2wm15ProviderSegmentENS6_11CoreSegmentEEEENS3_15TransformResultERKNS0_4base15CoreSegmentBaseIDpT_EERKNS3_14TransformQueryE+0x81)[0x7f9adf8af211]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem6common11robot_state12localization15TransformHelper15lookupTransformERKNS0_2wm11CoreSegmentERKNS3_14TransformQueryE+0x21)[0x7f9adf8a2f51]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZNK6armarx5armem6client11robot_state12localization15TransformReader15lookupTransformERKNS0_6common11robot_state12localization14TransformQueryE+0x96f)[0x7f9adf8da9cf]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZNK6armarx5armem6client11robot_state12localization15TransformReader13getGlobalPoseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_RKNS_4core4time8DateTimeE+0xd3)[0x7f9adf8d8b93]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZNK6armarx5armem11robot_state11RobotReader15queryGlobalPoseERKNS0_5robot16RobotDescriptionERKNS_4core4time8DateTimeE+0x44)[0x7f9adf8b5a74]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem11robot_state11RobotReader10queryStateERKNS0_5robot16RobotDescriptionERKNS_4core4time8DateTimeE+0xab)[0x7f9adf8b5c2b]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem11robot_state18VirtualRobotReader16synchronizeRobotERN12VirtualRobot5RobotERKNS_4core4time8DateTimeE+0x1fc)[0x7f9adf8d6acc]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem11robot_state18VirtualRobotReader21_getSynchronizedRobotERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_4core4time8DateTimeERKN12VirtualRobot6BaseIO16RobotDescriptionEb+0xc1)[0x7f9adf8d78f1]
/common/homes/students/bonneau/code/armarx/RobotAPI/build/lib/libarmem_robot_state.so.0(_ZN6armarx5armem11robot_state18VirtualRobotReader20getSynchronizedRobotERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN12VirtualRobot6BaseIO16RobotDescriptionEb+0x54)[0x7f9adf8d7d74]
/common/homes/students/bonneau/code/h2t/student_projects/ba-johann-bonneau/goal_oriented_manipulation/build/bin/point_cloud_preprocessor_run(+0x209b0)[0x55b5cb7fd9b0]
/common/homes/students/bonneau/code/armarx/VisionX/build/lib/libVisionXPointCloud.so.0(_ZN7visionx19PointCloudProcessor18onConnectComponentEv+0x363)[0x7f9ae050f2b3]
/common/homes/students/bonneau/code/armarx/ArmarXCore/build/lib/libArmarXCore.so.0(_ZN6armarx16ManagedIceObject5startERN11IceInternal11ProxyHandleIN8IceProxy3Ice6ObjectEEERKNS1_6HandleIN3Ice13ObjectAdapterEEE+0x214)[0x7f9adaf121f4]
/common/homes/students/bonneau/code/armarx/ArmarXCore/build/lib/libArmarXCore.so.0(_ZN6armarx21ArmarXObjectScheduler11startObjectEv+0x12b)[0x7f9adaf08fdb]
/common/homes/students/bonneau/code/armarx/ArmarXCore/build/lib/libArmarXCore.so.0(_ZN6armarx21ArmarXObjectScheduler14scheduleObjectEv+0x74)[0x7f9adaf09d54]
/common/homes/students/bonneau/code/armarx/ArmarXCore/build/lib/libArmarXCore.so.0(_ZN6armarx15RunningTaskBase3runEv+0xb5)[0x7f9adaf87de5]