NVIDIA-ISAAC-ROS / isaac_ros_image_pipeline

NVIDIA-accelerated ROS2 packages for camera image processing.
https://developer.nvidia.com/isaac-ros-gems
Apache License 2.0
112 stars 19 forks source link

Segmentation fault when trying to run isaac_ros_image_proc node #41

Closed ehong-tl closed 8 months ago

ehong-tl commented 8 months ago

I got segmentation fault when i try to run isaac_ros_image_proc node.

Here's the output of gdb backtrace:

Thread 13 "isaac_ros_image" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xffff6eeca900 (LWP 453)]
YAML::Node::Type (this=0xffff6eea8008) at /usr/include/yaml-cpp/node/impl.h:79
79    return m_pNode ? m_pNode->type() : NodeType::Null;
(gdb) backtrace
#0  YAML::Node::Type (this=0xffff6eea8008)
    at /usr/include/yaml-cpp/node/impl.h:79
#1  YAML::as_if<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>::operator() (this=<optimized out>)
    at /usr/include/yaml-cpp/node/impl.h:135
#2  YAML::Node::as<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (this=0xffff6eea8008)
    at /usr/include/yaml-cpp/node/impl.h:146
#3  nvidia::gxf::ParameterParser<nvidia::gxf::Handle<nvidia::isaac::tensor_ops::ImageAdapter>, void>::Parse (context=0xffffa4189010, component_uid=23, 
    key=0xffffa40edec0 "input_adapter", node=..., prefix="")
    at /shared_volume/isaac_ros2_ws/src/isaac_ros_nitros/isaac_ros_gxf/gxf/core/include/gxf/std/parameter_parser.hpp:177
#4  0x0000ffffa408d708 in nvidia::gxf::ParameterBackend<nvidia::gxf::Handle<nvidia::isaac::tensor_ops::ImageAdapter> >::parse (this=0xffff6032f890, node=..., 
    prefix=...)
    at /shared_volume/isaac_ros2_ws/src/isaac_ros_nitros/isaac_ros_gxf/gxf/core/include/gxf/core/parameter.hpp:48
#5  0x0000ffffb2347f74 in nvidia::gxf::ParameterStorage::parse(long, char const*, YAML::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
--Type <RET> for more, q to quit, c to continue without paging--
#6  0x0000ffffb233a3f0 in nvidia::gxf::YamlFileLoader::setParameters(void*, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, YAML::Node const&) [clone .localalias] ()
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
#7  0x0000ffffb233d084 in nvidia::gxf::YamlFileLoader::load(void*, nvidia::FixedVectorBase<YAML::Node> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long, char const**, unsigned int, YAML::Node const&) ()
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
#8  0x0000ffffb233f774 in nvidia::gxf::YamlFileLoader::loadFromFile(void*, 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&, char const**, unsigned int, long, YAML::Node const&) ()
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
#9  0x0000ffffb22b0574 in nvidia::gxf::Runtime::GxfGraphLoadFileInternal(char const*, char const*, char const**, unsigned int, long, YAML::Node const&) ()
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
#10 0x0000ffffb22b983c in nvidia::gxf::Runtime::GxfGraphLoadFile(char const*, char const**, unsigned int) ()
--Type <RET> for more, q to quit, c to continue without paging--
   from /shared_volume/isaac_ros2_ws/install/isaac_ros_gxf/share/isaac_ros_gxf/gxf/lib/core/libgxf_core.so
#11 0x0000ffffb26b9eec in nvidia::isaac_ros::nitros::NitrosContext::loadApplication (this=this@entry=0xaaaac3dec0a0, 
    list_of_files="/shared_volume/isaac_ros2_ws/install/isaac_ros_image_proc/share/isaac_ros_image_proc/LPNIXETCRK.yaml")
    at /usr/include/c++/9/bits/stl_vector.h:915
#12 0x0000ffffb266b1a4 in nvidia::isaac_ros::nitros::NitrosNode::postNegotiationCallback (this=0xaaaac3debc80)
    at /shared_volume/isaac_ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_node.cpp:578
#13 0x0000ffffb266d414 in nvidia::isaac_ros::nitros::NitrosNode::<lambda()>::operator() (__closure=0xaaaac47f08a0)
    at /shared_volume/isaac_ros2_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/nitros_node.cpp:527
#14 rclcpp::GenericTimer<nvidia::isaac_ros::nitros::NitrosNode::startNitrosNode()::<lambda()>, 0>::execute_callback_delegate<> (this=0xaaaac47f0870)
    at /opt/ros/humble/install/include/rclcpp/rclcpp/timer.hpp:244
#15 rclcpp::GenericTimer<nvidia::isaac_ros::nitros::NitrosNode::startNitrosNode()::<lambda()>, 0>::execute_callback(void) (this=0xaaaac47f0870)
    at /opt/ros/humble/install/include/rclcpp/rclcpp/timer.hpp:230
#16 0x0000ffffb32aff80 in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&) () from /opt/ros/humble/install/lib/librclcpp.so
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x0000ffffb32b6d1c in rclcpp::executors::MultiThreadedExecutor::run(unsigned long) () from /opt/ros/humble/install/lib/librclcpp.so
#18 0x0000ffffb2cb8fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#19 0x0000ffffb2a2b624 in start_thread (arg=0xffffb2cb8f90)
    at pthread_create.c:477
#20 0x0000ffffb2b2649c in thread_start ()
    at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

Need help to resolve this issue.

I'm running ROS2 on Jetson docker container on Jetson Nano Orin.

ehong-tl commented 8 months ago

Issue fixed after building yaml-cpp from source from latest branch.