Symbol lookup error when launching isaac_ros_visual_slam 3.2

Since last week’s update a symbol lookup error is thrown by the component_container node when trying to launch isaac slam from within the dev environment docker container. I’m on Ubuntu 22.04 x86_64.

admin@xxx:/workspaces/isaac_ros-dev$ ros2 launch isaac_ros_visual_slam isaac_ros_visual_slam_realsense.launch.py
[INFO] [launch]: All log files can be found below /home/admin/.ros/log/2024-12-17-15-13-42-134222-xxx-3838
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [3848]
[INFO] [realsense2_camera_node-2]: process started with pid [3850]
[realsense2_camera_node-2] [INFO] [1734444822.500958383] [camera.camera]: RealSense ROS v4.51.1
[realsense2_camera_node-2] [INFO] [1734444822.501039037] [camera.camera]: Built with LibRealSense v2.55.1
[realsense2_camera_node-2] [INFO] [1734444822.501051994] [camera.camera]: Running with LibRealSense v2.55.1
[component_container-1] [INFO] [1734444822.525813684] [visual_slam_launch_container]: Load Library: /opt/ros/humble/lib/libvisual_slam_node.so
[realsense2_camera_node-2] 
[realsense2_camera_node-2] [INFO] [1734444822.776890927] [camera.camera]: Device with physical ID 2-5-2 was found.
[realsense2_camera_node-2] [INFO] [1734444822.776900289] [camera.camera]: Device with name Intel RealSense D455 was found.
[component_container-1] [INFO] [1734444822.858055209] [visual_slam_launch_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] [INFO] [1734444822.860507959] [visual_slam_launch_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::visual_slam::VisualSlamNode>
[component_container-1] /opt/ros/humble/lib/rclcpp_components/component_container: symbol lookup error: /opt/ros/humble/lib/libvisual_slam_node.so: undefined symbol: _ZN9isaac_ros6common15AddQosParameterERN6rclcpp4NodeENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_i
[ERROR] [component_container-1]: process has died [pid 3848, exit code 127, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args -r __node:=visual_slam_launch_container -r __ns:=/'].

Hi @lfritzsche

Welcome to the Isaac ROS forum.

If you were using exist 3.1 workspace, some repositories you sync’d earlier might still stay at Isaac ROS 3.1 branch. To avoid this case, you could delete ${ISAAC_ROS_WS}/src/* and clone the required git repositories then try again.

Let me know.

Best,
Ahung

Hey @Ahung,

thanks for your warm welcoming and your helpful reply. I did delete and recreate the whole workspace and the error disappeared. However, I’m still unable to run the visual_slam_node successfully (as it did flawlessly with 3.1).

I’m now receiving an error Failed to initialize CUVSLAM tracker: 4, even when running the ROS bag sample. Below there’s a verbose log.

I’ve found this other thread with a similar issue, but it seems to be resolved by setting num_cameras parameter to 2 which should be the default value as far as I understand.

Any hints will be appreciated.

Best,
Lukas

admin@xxx:/workspaces/isaac_ros-dev$ ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=visual_slam \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_visual_slam/quickstart_interface_specs.json \
rectified_images:=false
[INFO] [launch]: All log files can be found below /home/admin/.ros/log/2025-01-06-17-06-51-502471-xxx-1742
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container_mt-1]: process started with pid [1754]
[component_container_mt-1] [INFO] [1736179611.841380577] [isaac_ros_examples.container]: Load Library: /opt/ros/humble/lib/libimage_format_converter_node.so
[component_container_mt-1] [INFO] [1736179611.891809299] [isaac_ros_examples.container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::image_proc::ImageFormatConverterNode>
[component_container_mt-1] [INFO] [1736179611.891852076] [isaac_ros_examples.container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::image_proc::ImageFormatConverterNode>
[component_container_mt-1] [INFO] [1736179611.906598728] [image_format_node_left]: [NitrosNode] Initializing NitrosNode
[component_container_mt-1] [INFO] [1736179611.906806255] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
[component_container_mt-1] [INFO] [1736179611.908041298] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_gxf_helpers.so
[component_container_mt-1] [INFO] [1736179611.910371730] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sight.so
[component_container_mt-1] [INFO] [1736179611.912919290] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_atlas.so
[component_container_mt-1] 2025-01-06 17:06:51.919 WARN  gxf/std/program.cpp@538: No GXF scheduler specified.
[component_container_mt-1] [INFO] [1736179611.920041366] [image_format_node_left]: [ImageFormatConverterNode] Set output data format to: "nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179611.920099766] [image_format_node_left]: [NitrosNode] Starting NitrosNode
[component_container_mt-1] [INFO] [1736179611.927620166] [image_format_node_left]: [NitrosNode] Loading extensions
[component_container_mt-1] [INFO] [1736179611.927689963] [image_format_node_left]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
[component_container_mt-1] [INFO] [1736179611.929606392] [image_format_node_left]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_message_compositor.so
[component_container_mt-1] [INFO] [1736179611.929891473] [image_format_node_left]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
[component_container_mt-1] [INFO] [1736179611.931913635] [image_format_node_left]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_tensorops.so
[component_container_mt-1] [INFO] [1736179611.964861210] [image_format_node_left]: [NitrosNode] Loading graph to the optimizer
[component_container_mt-1] [INFO] [1736179611.966174356] [image_format_node_left]: [NitrosNode] Running optimization
[component_container_mt-1] [INFO] [1736179612.011386091] [image_format_node_left]: [NitrosNode] Obtaining graph IO group info from the optimizer
[component_container_mt-1] [INFO] [1736179612.017125059] [image_format_node_left]: [NitrosPublisherSubscriberGroup] Pinning the component "sink/sink" (type="nvidia::isaac_ros::MessageRelay") to use its compatible format only: "nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179612.020501267] [image_format_node_left]: [NitrosNode] Starting negotiation...
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/image_format_node_left' in container '/isaac_ros_examples/container'
[component_container_mt-1] [INFO] [1736179612.022008366] [isaac_ros_examples.container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::image_proc::ImageFormatConverterNode>
[component_container_mt-1] [INFO] [1736179612.022036106] [isaac_ros_examples.container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::image_proc::ImageFormatConverterNode>
[component_container_mt-1] [INFO] [1736179612.024830618] [image_format_node_right]: [NitrosNode] Initializing NitrosNode
[component_container_mt-1] [INFO] [1736179612.025069989] [image_format_node_right]: [ImageFormatConverterNode] Set output data format to: "nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179612.025117672] [image_format_node_right]: [NitrosNode] Starting NitrosNode
[component_container_mt-1] [INFO] [1736179612.033210556] [image_format_node_right]: [NitrosNode] Loading extensions
[component_container_mt-1] [INFO] [1736179612.033318997] [image_format_node_right]: [NitrosNode] Loading graph to the optimizer
[component_container_mt-1] [INFO] [1736179612.034356510] [image_format_node_right]: [NitrosNode] Running optimization
[component_container_mt-1] [INFO] [1736179612.081317426] [image_format_node_right]: [NitrosNode] Obtaining graph IO group info from the optimizer
[component_container_mt-1] [INFO] [1736179612.087618303] [image_format_node_right]: [NitrosPublisherSubscriberGroup] Pinning the component "sink/sink" (type="nvidia::isaac_ros::MessageRelay") to use its compatible format only: "nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179612.088740682] [image_format_node_right]: [NitrosNode] Starting negotiation...
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/image_format_node_right' in container '/isaac_ros_examples/container'
[component_container_mt-1] [INFO] [1736179612.090229096] [isaac_ros_examples.container]: Load Library: /opt/ros/humble/lib/libvisual_slam_node.so
[component_container_mt-1] [INFO] [1736179612.404698063] [isaac_ros_examples.container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::visual_slam::VisualSlamNode>
[component_container_mt-1] [INFO] [1736179612.404772452] [isaac_ros_examples.container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::visual_slam::VisualSlamNode>
[component_container_mt-1] [INFO] [1736179612.409276922] [visual_slam_node.ManagedNitrosSubscriber]: Starting Managed Nitros Subscriber
[component_container_mt-1] [INFO] [1736179612.409348663] [image_format_node_left]: Negotiating
[component_container_mt-1] [INFO] [1736179612.409377698] [image_format_node_left]: Could not negotiate
[component_container_mt-1] [INFO] [1736179612.410031245] [visual_slam_node.ManagedNitrosSubscriber]: Starting Managed Nitros Subscriber
[component_container_mt-1] [INFO] [1736179612.410183598] [image_format_node_right]: Negotiating
[component_container_mt-1] [INFO] [1736179612.410226911] [image_format_node_right]: Could not negotiate
[component_container_mt-1] [INFO] [1736179612.423069169] [visual_slam_node]: cuVSLAM version: 12.6
[component_container_mt-1] [INFO] [1736179612.510201406] [visual_slam_node]: Time taken by CUVSLAM_WarmUpGPU(): 0.087104
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/visual_slam_node' in container '/isaac_ros_examples/container'
[component_container_mt-1] [INFO] [1736179613.021379279] [image_format_node_left]: [NitrosNode] Starting post negotiation setup
[component_container_mt-1] [INFO] [1736179613.021487789] [image_format_node_left]: [NitrosNode] Getting data format negotiation results
[component_container_mt-1] [INFO] [1736179613.021536043] [image_format_node_left]: [NitrosPublisher] Negotiation ended with no results
[component_container_mt-1] [INFO] [1736179613.021566598] [image_format_node_left]: [NitrosPublisher] Use only the compatible publisher: topic_name="/left/image_rect_mono", data_format="nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179613.021603794] [image_format_node_left]: [NitrosSubscriber] Negotiation ended with no results
[component_container_mt-1] [INFO] [1736179613.021630914] [image_format_node_left]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/left/image_rect", data_format="nitros_image_rgb8"
[component_container_mt-1] [INFO] [1736179613.024440915] [image_format_node_left]: [NitrosNode] Exporting the final graph based on the negotiation results
[component_container_mt-1] [INFO] [1736179613.035259618] [image_format_node_left]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/IPFGSUYAXB/IPFGSUYAXB.yaml"
[component_container_mt-1] [INFO] [1736179613.035319223] [image_format_node_left]: [NitrosNode] Loading application
[component_container_mt-1] [INFO] [1736179613.036373276] [image_format_node_left]: [ImageFormatConverterNode] postLoadGraphCallback().
[component_container_mt-1] [INFO] [1736179613.036442381] [image_format_node_left]: [NitrosNode] Initializing and running GXF graph
[component_container_mt-1] [INFO] [1736179613.050316035] [image_format_node_left]: [NitrosNode] Node was started
[component_container_mt-1] [INFO] [1736179613.089440911] [image_format_node_right]: [NitrosNode] Starting post negotiation setup
[component_container_mt-1] [INFO] [1736179613.089510026] [image_format_node_right]: [NitrosNode] Getting data format negotiation results
[component_container_mt-1] [INFO] [1736179613.089529899] [image_format_node_right]: [NitrosPublisher] Negotiation ended with no results
[component_container_mt-1] [INFO] [1736179613.089546084] [image_format_node_right]: [NitrosPublisher] Use only the compatible publisher: topic_name="/right/image_rect_mono", data_format="nitros_image_mono8"
[component_container_mt-1] [INFO] [1736179613.089563517] [image_format_node_right]: [NitrosSubscriber] Negotiation ended with no results
[component_container_mt-1] [INFO] [1736179613.089577653] [image_format_node_right]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/right/image_rect", data_format="nitros_image_rgb8"
[component_container_mt-1] [INFO] [1736179613.089793681] [image_format_node_right]: [NitrosNode] Exporting the final graph based on the negotiation results
[component_container_mt-1] [INFO] [1736179613.101156303] [image_format_node_right]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/MPSHTSTIZB/MPSHTSTIZB.yaml"
[component_container_mt-1] [INFO] [1736179613.101213209] [image_format_node_right]: [NitrosNode] Loading application
[component_container_mt-1] [INFO] [1736179613.102122586] [image_format_node_right]: [ImageFormatConverterNode] postLoadGraphCallback().
[component_container_mt-1] [INFO] [1736179613.102152617] [image_format_node_right]: [NitrosNode] Initializing and running GXF graph
[component_container_mt-1] [INFO] [1736179613.103207039] [image_format_node_right]: [NitrosNode] Node was started
[component_container_mt-1] [INFO] [1736179631.249004544] [visual_slam_node]: Initializing cuVSLAM.
[component_container_mt-1] [INFO] [1736179631.249158953] [visual_slam_node]: Use use_gpu: true
[component_container_mt-1] [INFO] [1736179631.249167988] [visual_slam_node]: Enable IMU Fusion: false
[component_container_mt-1] [INFO] [1736179631.249190055] [visual_slam_node]: Time taken by CUVSLAM_CreateTracker(): 0.000016
[component_container_mt-1] [ERROR] [1736179631.249233534] [visual_slam_node]: Failed to initialize CUVSLAM tracker: 4

Hi @lfritzsche

We verified this working at many x86 setup. Maybe you observe some issues related to image h264 unpack\delivery. Can you confirm if you start with the official example and rosbag sample? BTW, if there are some other demo running in backgound, you might want to stop them or just reboot your system to try again?

Best,
Ahung