`ComposableNodeContainer` crashes when unloading `NitrosNode` with `ros2 component unload`.

Open
#56 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cpp
Domain
backend

Research direction

Start with the example.launch.py reproduction using ComposableNodeContainer, DecoderNode, and demo_nodes_cpp::Talker. Run ros2 component unload /example_namespace/example_container 1 after launch and inspect the component unload path for the NitrosNode. Done means unloading the DecoderNode no longer crashes the container and the remaining Talker continues running.

Written by the indexing model from the issue text.

Description

Hello,

I need to dynamically load and unload NitrosNode instances in my multi-agent software stack. Specifically, I'm trying to load/unload nvidia::isaac_ros::h264_decoder::DecoderNode instances to decode compressed H.264 image data shared by other agents based on the presence/absence of these agent during runtime. To achieve this, I'm leveraging the ros2 component load/unload service interface. I noticed that when I unload an nvidia::isaac_ros::h264_decoder::DecoderNode the entire container crashes.

MWE:

example.launch.py
import launch
from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode


def generate_launch_description():
    example_container = ComposableNodeContainer(
        package="rclcpp_components",
        executable="component_container",
        name="example_container",
        namespace="example_namespace",
        composable_node_descriptions=(
            ComposableNode(
                package="isaac_ros_h264_decoder",
                plugin="nvidia::isaac_ros::h264_decoder::DecoderNode",
            ),
            ComposableNode(
                package="demo_nodes_cpp",
                plugin="demo_nodes_cpp::Talker",
            ),
        ),
        output="screen",
    )

    return launch.LaunchDescription([example_container])

When I launch the above launch file and subsequently try to unload the nvidia::isaac_ros::h264_decoder::DecoderNode with ros2 component unload /example_namespace/example_container 1, I get the following console output:

console output for single threaded component container
constantin@Laptop-CB:/workspaces/experimental_area/colcon_ws$ ros2 launch sfg_experimental_area example.launch.py 
[INFO] [launch]: All log files can be found below /home/constantin/.ros/log/2025-04-24-10-40-43-922251-Laptop-CB-78854
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [78866]
[component_container-1] [INFO] [1745484044.214638260] [example_namespace.example_container]: Load Library: /opt/ros/humble/lib/libdecoder_node.so
[component_container-1] [INFO] [1745484044.224797029] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_decoder::DecoderNode>
[component_container-1] [INFO] [1745484044.224816699] [example_namespace.example_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_decoder::DecoderNode>
[component_container-1] [INFO] [1745484044.370219755] [NitrosNode]: [NitrosNode] Initializing NitrosNode
[component_container-1] [INFO] [1745484044.370361594] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
[component_container-1] [INFO] [1745484044.370875998] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_gxf_helpers.so
[component_container-1] [INFO] [1745484044.372162986] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sight.so
[component_container-1] [INFO] [1745484044.373519589] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_atlas.so
[component_container-1] 2025-04-24 10:40:44.377 WARN  gxf/std/program.cpp@538: No GXF scheduler specified.
[component_container-1] [INFO] [1745484044.377278677] [NitrosNode]: [NitrosNode] Starting NitrosNode
[component_container-1] [INFO] [1745484044.378902133] [NitrosNode]: [NitrosNode] Loading extensions
[component_container-1] [INFO] [1745484044.378932143] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
[component_container-1] [INFO] [1745484044.379987270] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_message_compositor.so
[component_container-1] [INFO] [1745484044.380152908] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
[component_container-1] [INFO] [1745484044.381269680] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/serialization/libgxf_serialization.so
[component_container-1] [INFO] [1745484044.382710594] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_tensorops.so
[component_container-1] [INFO] [1745484044.384540365] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/codec/libgxf_video_decoder_extension.so
[component_container-1] [INFO] [1745484044.390871622] [NitrosNode]: [NitrosNode] Loading graph to the optimizer
[component_container-1] [INFO] [1745484044.391748899] [NitrosNode]: [NitrosNode] Running optimization
[component_container-1] [INFO] [1745484044.395374553] [NitrosNode]: [NitrosNode] Obtaining graph IO group info from the optimizer
[component_container-1] [INFO] [1745484044.397174719] [NitrosNode]: [NitrosNode] Starting negotiation...
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/NitrosNode' in container '/example_namespace/example_container'
[component_container-1] [INFO] [1745484044.398981334] [example_namespace.example_container]: Load Library: /opt/ros/humble/lib/libtopics_library.so
[component_container-1] [INFO] [1745484044.399528577] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringPublisher>
[component_container-1] [INFO] [1745484044.399535304] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringSubscriber>
[component_container-1] [INFO] [1745484044.399538385] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Listener>
[component_container-1] [INFO] [1745484044.399540740] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ListenerBestEffort>
[component_container-1] [INFO] [1745484044.399542849] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::LoanedMessageTalker>
[component_container-1] [INFO] [1745484044.399544695] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageListener>
[component_container-1] [INFO] [1745484044.399546564] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageTalker>
[component_container-1] [INFO] [1745484044.399548463] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[component_container-1] [INFO] [1745484044.399550574] [example_namespace.example_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/talker' in container '/example_namespace/example_container'
[component_container-1] [INFO] [1745484045.397528034] [NitrosNode]: [NitrosNode] Starting post negotiation setup
[component_container-1] [INFO] [1745484045.397577452] [NitrosNode]: [NitrosNode] Getting data format negotiation results
[component_container-1] [INFO] [1745484045.397589319] [NitrosNode]: [NitrosSubscriber] Negotiation ended with no results
[component_container-1] [INFO] [1745484045.397597067] [NitrosNode]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/image_compressed", data_format="nitros_compressed_image"
[component_container-1] [INFO] [1745484045.397653279] [NitrosNode]: [NitrosPublisher] Negotiation ended with no results
[component_container-1] [INFO] [1745484045.397661595] [NitrosNode]: [NitrosPublisher] Use only the compatible publisher: topic_name="/image_uncompressed", data_format="nitros_image_rgb8"
[component_container-1] [INFO] [1745484045.397771133] [NitrosNode]: [NitrosNode] Exporting the final graph based on the negotiation results
[component_container-1] [INFO] [1745484045.400185211] [NitrosNode]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/RHRHHSGGLK/RHRHHSGGLK.yaml"
[component_container-1] [INFO] [1745484045.400200070] [NitrosNode]: [DecoderNode] preLoadGraphCallback().
[component_container-1] [INFO] [1745484045.400210557] [NitrosNode]: [NitrosNode] Loading application
[component_container-1] [INFO] [1745484045.401571985] [NitrosNode]: [DecoderNode] postLoadGraphCallback().
[component_container-1] [INFO] [1745484045.401615510] [NitrosNode]: [NitrosNode] Initializing and running GXF graph
[component_container-1] [INFO] [1745484045.591538869] [NitrosNode]: [NitrosNode] Node was started
[component_container-1] [INFO] [1745484045.591755147] [talker]: Publishing: 'Hello World: 1'
[component_container-1] [INFO] [1745484046.400710812] [talker]: Publishing: 'Hello World: 2'
[component_container-1] [INFO] [1745484047.400775064] [talker]: Publishing: 'Hello World: 3'
[component_container-1] [INFO] [1745484048.400749492] [talker]: Publishing: 'Hello World: 4'
[component_container-1] [INFO] [1745484049.400815156] [talker]: Publishing: 'Hello World: 5'
[component_container-1] [INFO] [1745484050.400844608] [talker]: Publishing: 'Hello World: 6'
[component_container-1] [INFO] [1745484051.400798813] [talker]: Publishing: 'Hello World: 7'
[component_container-1] [INFO] [1745484052.400906021] [talker]: Publishing: 'Hello World: 8'
[component_container-1] [INFO] [1745484053.400829905] [talker]: Publishing: 'Hello World: 9'
[component_container-1] [INFO] [1745484054.400758481] [talker]: Publishing: 'Hello World: 10'
[component_container-1] [INFO] [1745484055.400899620] [talker]: Publishing: 'Hello World: 11'
[component_container-1] [INFO] [1745484056.400776694] [talker]: Publishing: 'Hello World: 12'
[component_container-1] [INFO] [1745484057.400883161] [talker]: Publishing: 'Hello World: 13'
[component_container-1] [INFO] [1745484058.400916632] [talker]: Publishing: 'Hello World: 14'
[component_container-1] [INFO] [1745484059.400865788] [talker]: Publishing: 'Hello World: 15'
[component_container-1] [INFO] [1745484060.400911203] [talker]: Publishing: 'Hello World: 16'
[component_container-1] [INFO] [1745484069.972032900] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringPublisher>
[component_container-1] [INFO] [1745484069.972062742] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringSubscriber>
[component_container-1] [INFO] [1745484069.972065335] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Listener>
[component_container-1] [INFO] [1745484069.972067504] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ListenerBestEffort>
[component_container-1] [INFO] [1745484069.972069510] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::LoanedMessageTalker>
[component_container-1] [INFO] [1745484069.972071502] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageListener>
[component_container-1] [INFO] [1745484069.972074091] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageTalker>
[component_container-1] [INFO] [1745484069.972076263] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[component_container-1] [INFO] [1745484069.972078209] [example_namespace.example_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[component_container-1] [INFO] [1745484070.973251870] [talker]: Publishing: 'Hello World: 1'
[component_container-1] [INFO] [1745484071.973378935] [talker]: Publishing: 'Hello World: 2'
[component_container-1] [INFO] [1745484072.973263418] [talker]: Publishing: 'Hello World: 3'
[component_container-1] [INFO] [1745484073.973349295] [talker]: Publishing: 'Hello World: 4'
[component_container-1] [INFO] [1745484074.749795506] [NitrosNode]: [NitrosNode] Terminating the running application
[component_container-1] [INFO] [1745484074.749818768] [NitrosNode]: [NitrosContext] Interrupting GXF...
[component_container-1] [INFO] [1745484074.750057681] [NitrosNode]: [NitrosContext] Waiting on GXF...
[component_container-1] [INFO] [1745484074.750063420] [NitrosNode]: [NitrosContext] Deinitializing...
[component_container-1] |==================================================================================================================================================================|
[component_container-1] |                                           Job Statistics Report (regular)                                                                                        |
[component_container-1] |==================================================================================================================================================================|
[component_container-1] | Name                                               |   Count | Time (Median - 90% - Max) [ms] | Load (%) | Exec(ms) | Variation (Median - 90% - Max) [ns]        |
[component_container-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container-1] |==================================================================================================================================================================|
[component_container-1] |==================================================================================================================================================================|
[component_container-1] |                                           Entity Statistics Report (regular)                                                                                     |
[component_container-1] |==================================================================================================================================================================|
[component_container-1] | Entity Name             | Entity State             |   Count | Time (Median - 90% - Max) [ms]                                                                    |
[component_container-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container-1] |==================================================================================================================================================================|
[component_container-1] [INFO] [1745484074.752878006] [NitrosNode]: [NitrosContext] Destroying context
[component_container-1] [INFO] [1745484074.752920305] [NitrosNode]: [NitrosNode] Application termination done
[component_container-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[component_container-1]   what():  failed to add guard condition to wait set: guard condition implementation is invalid, at ./src/rcl/guard_condition.c:172, at ./src/rcl/wait.c:460
[ERROR] [component_container-1]: process has died [pid 78866, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args -r __node:=example_container -r __ns:=/example_namespace'].

When, instead of a single threaded container I use a multi threaded container (i.e. component_container_mt), and repeat the launching/unloading procedure, I get another crash with the following output:

console output for multi threaded component container
constantin@Laptop-CB:/workspaces/experimental_area/colcon_ws$ ros2 launch sfg_experimental_area example.launch.py 
[INFO] [launch]: All log files can be found below /home/constantin/.ros/log/2025-04-24-10-51-35-987689-Laptop-CB-92872
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container_mt-1]: process started with pid [92884]
[component_container_mt-1] [INFO] [1745484696.280849121] [example_namespace.example_container]: Load Library: /opt/ros/humble/lib/libdecoder_node.so
[component_container_mt-1] [INFO] [1745484696.290371913] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_decoder::DecoderNode>
[component_container_mt-1] [INFO] [1745484696.290388219] [example_namespace.example_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_decoder::DecoderNode>
[component_container_mt-1] [INFO] [1745484696.449078895] [NitrosNode]: [NitrosNode] Initializing NitrosNode
[component_container_mt-1] [INFO] [1745484696.449223289] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
[component_container_mt-1] [INFO] [1745484696.449782402] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_gxf_helpers.so
[component_container_mt-1] [INFO] [1745484696.450943426] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_sight.so
[component_container_mt-1] [INFO] [1745484696.452376245] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_atlas.so
[component_container_mt-1] 2025-04-24 10:51:36.456 WARN  gxf/std/program.cpp@538: No GXF scheduler specified.
[component_container_mt-1] [INFO] [1745484696.456112915] [NitrosNode]: [NitrosNode] Starting NitrosNode
[component_container_mt-1] [INFO] [1745484696.457662526] [NitrosNode]: [NitrosNode] Loading extensions
[component_container_mt-1] [INFO] [1745484696.457702455] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
[component_container_mt-1] [INFO] [1745484696.458652599] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_message_compositor.so
[component_container_mt-1] [INFO] [1745484696.458816529] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
[component_container_mt-1] [INFO] [1745484696.459877667] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/serialization/libgxf_serialization.so
[component_container_mt-1] [INFO] [1745484696.461244044] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/libgxf_isaac_tensorops.so
[component_container_mt-1] [INFO] [1745484696.462930886] [NitrosNode]: [NitrosContext] Loading extension: gxf/lib/codec/libgxf_video_decoder_extension.so
[component_container_mt-1] [INFO] [1745484696.472627808] [NitrosNode]: [NitrosNode] Loading graph to the optimizer
[component_container_mt-1] [INFO] [1745484696.473507964] [NitrosNode]: [NitrosNode] Running optimization
[component_container_mt-1] [INFO] [1745484696.477078385] [NitrosNode]: [NitrosNode] Obtaining graph IO group info from the optimizer
[component_container_mt-1] [INFO] [1745484696.479096932] [NitrosNode]: [NitrosNode] Starting negotiation...
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/NitrosNode' in container '/example_namespace/example_container'
[component_container_mt-1] [INFO] [1745484696.480662664] [example_namespace.example_container]: Load Library: /opt/ros/humble/lib/libtopics_library.so
[component_container_mt-1] [INFO] [1745484696.481424248] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringPublisher>
[component_container_mt-1] [INFO] [1745484696.481438333] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ContentFilteringSubscriber>
[component_container_mt-1] [INFO] [1745484696.481456790] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Listener>
[component_container_mt-1] [INFO] [1745484696.481470123] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::ListenerBestEffort>
[component_container_mt-1] [INFO] [1745484696.481474992] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::LoanedMessageTalker>
[component_container_mt-1] [INFO] [1745484696.481477134] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageListener>
[component_container_mt-1] [INFO] [1745484696.481479144] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::SerializedMessageTalker>
[component_container_mt-1] [INFO] [1745484696.481481307] [example_namespace.example_container]: Found class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[component_container_mt-1] [INFO] [1745484696.481483478] [example_namespace.example_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<demo_nodes_cpp::Talker>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/talker' in container '/example_namespace/example_container'
[component_container_mt-1] [INFO] [1745484697.479482374] [NitrosNode]: [NitrosNode] Starting post negotiation setup
[component_container_mt-1] [INFO] [1745484697.479530673] [NitrosNode]: [NitrosNode] Getting data format negotiation results
[component_container_mt-1] [INFO] [1745484697.479543575] [NitrosNode]: [NitrosSubscriber] Negotiation ended with no results
[component_container_mt-1] [INFO] [1745484697.479550165] [NitrosNode]: [NitrosSubscriber] Use the compatible subscriber: topic_name="/image_compressed", data_format="nitros_compressed_image"
[component_container_mt-1] [INFO] [1745484697.479602582] [NitrosNode]: [NitrosPublisher] Negotiation ended with no results
[component_container_mt-1] [INFO] [1745484697.479611692] [NitrosNode]: [NitrosPublisher] Use only the compatible publisher: topic_name="/image_uncompressed", data_format="nitros_image_rgb8"
[component_container_mt-1] [INFO] [1745484697.479721849] [NitrosNode]: [NitrosNode] Exporting the final graph based on the negotiation results
[component_container_mt-1] [INFO] [1745484697.481641744] [NitrosNode]: [NitrosNode] Wrote the final top level YAML graph to "/tmp/isaac_ros_nitros/graphs/GDDSXCCCQX/GDDSXCCCQX.yaml"
[component_container_mt-1] [INFO] [1745484697.481679564] [NitrosNode]: [DecoderNode] preLoadGraphCallback().
[component_container_mt-1] [INFO] [1745484697.481682235] [NitrosNode]: [NitrosNode] Loading application
[component_container_mt-1] [INFO] [1745484697.482504006] [NitrosNode]: [DecoderNode] postLoadGraphCallback().
[component_container_mt-1] [INFO] [1745484697.482511712] [NitrosNode]: [NitrosNode] Initializing and running GXF graph
[component_container_mt-1] [INFO] [1745484697.483078543] [talker]: Publishing: 'Hello World: 1'
[component_container_mt-1] [INFO] [1745484697.675944291] [NitrosNode]: [NitrosNode] Node was started
[component_container_mt-1] [INFO] [1745484698.483150433] [talker]: Publishing: 'Hello World: 2'
[component_container_mt-1] [INFO] [1745484699.483088456] [talker]: Publishing: 'Hello World: 3'
[component_container_mt-1] [INFO] [1745484700.483216647] [talker]: Publishing: 'Hello World: 4'
[component_container_mt-1] [INFO] [1745484701.483294328] [talker]: Publishing: 'Hello World: 5'
[component_container_mt-1] [INFO] [1745484702.483075165] [talker]: Publishing: 'Hello World: 6'
[component_container_mt-1] [INFO] [1745484703.483141320] [talker]: Publishing: 'Hello World: 7'
[component_container_mt-1] [INFO] [1745484704.483096430] [talker]: Publishing: 'Hello World: 8'
[component_container_mt-1] [INFO] [1745484705.483185364] [talker]: Publishing: 'Hello World: 9'
[component_container_mt-1] [INFO] [1745484706.483289123] [talker]: Publishing: 'Hello World: 10'
[component_container_mt-1] [INFO] [1745484707.483297641] [talker]: Publishing: 'Hello World: 11'
[component_container_mt-1] [INFO] [1745484708.483148027] [talker]: Publishing: 'Hello World: 12'
[component_container_mt-1] [INFO] [1745484709.483219859] [talker]: Publishing: 'Hello World: 13'
[component_container_mt-1] [INFO] [1745484710.483286500] [talker]: Publishing: 'Hello World: 14'
[component_container_mt-1] [INFO] [1745484711.157555502] [NitrosNode]: [NitrosNode] Terminating the running application
[component_container_mt-1] [INFO] [1745484711.157609201] [NitrosNode]: [NitrosContext] Interrupting GXF...
[component_container_mt-1] [INFO] [1745484711.157880500] [NitrosNode]: [NitrosContext] Waiting on GXF...
[component_container_mt-1] [INFO] [1745484711.157918837] [NitrosNode]: [NitrosContext] Deinitializing...
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] |                                           Job Statistics Report (regular)                                                                                        |
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Name                                               |   Count | Time (Median - 90% - Max) [ms] | Load (%) | Exec(ms) | Variation (Median - 90% - Max) [ns]        |
[component_container_mt-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] |                                           Entity Statistics Report (regular)                                                                                     |
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] | Entity Name             | Entity State             |   Count | Time (Median - 90% - Max) [ms]                                                                    |
[component_container_mt-1] |------------------------------------------------------------------------------------------------------------------------------------------------------------------|
[component_container_mt-1] |==================================================================================================================================================================|
[component_container_mt-1] [INFO] [1745484711.163499756] [NitrosNode]: [NitrosContext] Destroying context
[component_container_mt-1] [INFO] [1745484711.163603151] [NitrosNode]: [NitrosNode] Application termination done
[ERROR] [component_container_mt-1]: process has died [pid 92884, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=example_container -r __ns:=/example_namespace'].

Note that, while unloading nvidia::isaac_ros::h264_decoder::DecoderNode always results in a crash, unloading demo_nodes_cpp::Talker (which I included for testing purposes) works without issue. Also loading additional nvidia::isaac_ros::h264_decoder::DecoderNode instances works.

Dominant language
C++
Stars
220
Forks
55
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA-ISAAC-ROS/isaac_ros_nitros

All issues in NVIDIA-ISAAC-ROS/isaac_ros_nitros

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.