Isaac Sim 6.0.0 + Newton Physics — ROS 2 Joint State Action Graph Addition System Crash

I have been migrating our simulation framework from PhysX to Newton Physics in Isaac Sim 6.0.0 and have hit ROS2 crash issue that prevent us from running stable robot trajectories. Posting both here since they appear related to the Newton backend and ROS 2 bridge initialization order.

Environment

  • Isaac Sim: 6.0.0
  • Physics backend: Newton (switched from PhysX)
  • Robot: Franka Research 3 (FR3), USD loaded from custom asset pipeline
  • ROS 2: Humble
  • OS: Ubuntu 22.04

Issue: System Segmentation Fault on addition of ROS2 Joint State Publisher in Action Graph

Isaac Sim 6.0.0 crashes with a Segmentation Fault and fails to launch entirely after a ROS 2 Joint State Publisher node is added to the Action Graph connected to a Franka FR3 articulation. The crash occurs before the viewport is even rendered. The application exits at the extension/plugin loading stage. Removing the ROS 2 Joint State Publisher node from the Action Graph restores normal startup.

Reproduction steps

  1. Open Isaac Sim 6.0.0 with Newton Physics and ROS 2 bridge extension enabled.
  2. Load default Franka FR3 robot in the stage
  3. Open the Action Graph editor and add the following nodes:
    1. On Playback Tick
    2. ROS2 Joint State Subscriber
    3. Articulation Controller and add robot root Prim
    4. ROS2 Publish Joint State
    5. Wire Articulation ControllerROS2 Joint State Subscriber
    6. Wire On Playback TickROS2 Joint State Publisher and add robot root Prim
  4. Save the stage.
  5. Run the Isaac Sim 6.0.0 with Newton.
  6. Isaac Sim crashes after sometime with: Segmentation fault (core dumped) and No viewport appears. The process exits before simulation starts.

What I have tried:

  • Re-creating the Action Graph from scratch — crash persists once the ROS2 Publish Joint State node is wired.

  • Removing the ROS2 Publish Joint State node — Isaac Sim launches normally.

  • Replacing with ROS2 Publish Clock node — no crash, launches fine.

  • Verified RMW_IMPLEMENTATION=rmw_fastrtps_cpp is set; ROS_DOMAIN_ID is consistent.

  • Tested with PhysX using different usd file with same config. It runs normally and publishes joint state values

Hello @p.tiwari,

For Isaac Sim 6.0, I would avoid having ROS2 Publish Joint State read the articulation directly through targetPrim. The current ROS2 Publish Joint State node documentation lists the Isaac Read Joint State outputs as the preferred input path for joint names, positions, velocities, and efforts. Reference: ROS2 Publish Joint State API.

Please try enabling these extensions:

--enable isaacsim.ros2.bridge \
--enable isaacsim.ros2.nodes \
--enable isaacsim.sensors.physics.nodes

You could follow the documentation here.

Then add an Isaac Read Joint State node to the Action Graph. This node is provided by: isaacsim.sensors.physics.nodes. Use it between the physics simulation and ROS2 Publish Joint State:

On Physics Step
→ Isaac Read Joint State
→ ROS2 Publish Joint State

Set the articulation root on Isaac Read Joint State, then connect its joint-state outputs into ROS2 Publish Joint State. For the first test, drive this from On Physics Step instead of On Playback Tick, so the joint-state read happens after physics state is available and avoids reading during application/playback startup timing. After that, you can also test whether On Playback Tick works.

If it still crashes, please share the Isaac Sim log and crash backtrace/minidump.