Isaac Sim 5.1 RTX Lidar segfaults in MaterialManager::processReturns only

Hi NVIDIA team,

I’m trying to run an Isaac Sim ROS 2 simulation with renderer multi-GPU enabled.
Basic Isaac multi-GPU works in the container, but the simulation consistently
segfaults when RTX lidars are enabled.

The failure appears specific to this combination:

RTX lidar + Isaac renderer multi-GPU

Environment

  • Isaac Sim: 5.1
  • isaacsim.sensors.rtx: 15.8.4
  • omni.sensors.nv.lidar: 3.0.0
  • Driver: 575.57.08
  • Graphics API: Vulkan
  • OS: Ubuntu 22.04.5, kernel 6.8.0-110-generic
  • Running inside Docker/container
  • ROS 2 Humble with Isaac ROS 2 bridge
  • GPUs: 2x NVIDIA GeForce RTX 5090, 32 GB each

Inside the container CUDA sees both GPUs.

SimulationApp config

The failing run starts Isaac roughly like this:

SimulationApp({
“headless”: True,
“renderer”: “RaytracedLighting”,
“multi_gpu”: True,
“max_gpu_count”: 2,
“fast_shutdown”: True,
“extra_args”: [
“–/renderer/multiGpu/activeGpus=0,1”,
],
})

What works / fails

I tried to isolate this carefully:

Test Result
Minimal headless SimulationApp with multi_gpu=True, active GPUs 0,1 Passes
Same scene, cameras enabled, lidars disabled, multi-GPU enabled Passes
Same scene, RTX lidars enabled, multi-GPU disabled Passes
Same scene, RTX lidars enabled, multi-GPU enabled Segfaults

So the GPUs, Vulkan, and basic Isaac multi-GPU path appear to work. The crash
only appears when RTX lidar is active while renderer multi-GPU is enabled.

Crash stack

The crash is a native SIGSEGV, exit code -11. The relevant backtrace is:

libcuda.so.1!cuLaunchKernel
libomni.sensors.nv.lidar.rtxmodel_lidar_core.plugin.so!
omni::sensors::materials::MaterialManager::processReturns(
omni::sensors::materials::MaterialManager::LaunchCfg const&, void*
)
libomni.sensors.nv.lidar.rtxmodel_lidar_core.plugin.so!
omni::sensors::nv::lidar::processBatchReturn(…)
librtx.rtxsensor.plugin.so
libgpu.foundation.plugin.so
libcarb.tasking.plugin.so

The important frame seems to be:

omni::sensors::materials::MaterialManager::processReturns

This suggests the crash happens during RTX lidar/material return CUDA processing,
before the data is successfully published through ROS.

Workarounds tried

I tried disabling GPU output buffers for lidar:

--/app/sensors/nv/lidar/outputBufferOnGPU=false

That did not change the crash.

I also tried changing the ROS RTX lidar helper fullScan setting. That also did
not change the crash, which makes sense because the segfault appears to happen
inside the NVIDIA RTX lidar plugin/material return path rather than in ROS
publication.

Question

Is RTX lidar expected to work with Isaac renderer multi-GPU in Isaac Sim 5.1?

If yes, is there a required setting for binding RTX lidar processing to a
specific GPU, disabling cross-GPU lidar processing, or forcing the lidar return/
material processing buffers onto the same device as the render product?

If no, it would be useful to know whether this is a known limitation/bug of RTX
sensors with renderer multi-GPU, especially on multi-GPU RTX 50-series systems.

Could you please try with Isaac Sim 6.0?
Internally, we run multi-RTX-lidar benchmarks on multi-GPU machines without getting segfaults with Isaac SIm 6.0. But there is one restriction. The model has to have a dedicated GPU assignment for its lifetime. What currently is not supported is GPU migration, which means, that during sensor model lifetime the assigned device switches.

If you have to stay with Isaac Sim 5.1, please try setting multi_gpu=False for SimulationApp or adding "--/renderer/multiGpu/enabled=0" to extra_args. This should help resolve the crash.