Adding New Object Fails After Previous Object Removal Due to Invalid Physics View

Isaac Sim Version

[√ ] 4.5.0

Operating System

[ √ ] Windows 10

GPU Information

  • Model: RTX 3060
  • Driver Version: 31.0.15.4612

Detailed Description

Hello, I’d like to report a bug that occurs when I try to remove an object from the scene and then add a new one. Thanks in advance for looking into it.

Steps to Reproduce

from isaacsim import SimulationApp
simulation_app = SimulationApp({"headless": True}) 

from isaacsim.core.api import World
from isaacsim.core.api.objects import DynamicCuboid
import numpy as np

world = World()
world.reset()

first_cube = world.scene.add(
    DynamicCuboid(
        prim_path="/World/DynamicCuboid",
        name="DynamicCuboid",
        position=np.array([0, 0, 1]),
        orientation=np.array([0, 0, 0, 1]),
        scale=np.array([1, 1, 1]),
        color=np.array([1, 0, 0])
    ))


world.scene.remove_object("DynamicCuboid")

second_cube = world.scene.add(
    DynamicCuboid(
        prim_path="/World/AnotherCube",
        name="AnotherCube",
        position=np.array([2, 2, 1]),
        orientation=np.array([0, 0, 0, 1]),
        scale=np.array([0.5, 0.5, 0.5]),
        color=np.array([0, 1, 0])
    ))
print(second_cube.get_world_pose())
simulation_app.close()

Error log:

[20.218s] Simulation App Startup Complete
2025-06-10 08:29:29 [20,408ms] [Warning] [omni.physx.tensors.plugin] prim '/World/DynamicCuboid' was deleted while being used by a shape in a tensor view class. The physics.tensors simulationView was invalidated.
2025-06-10 08:29:29 [20,446ms] [Error] [omni.physx.tensors.plugin] Simulation view object is invalidated and cannot be used again to call omni::physx::tensors::CpuRigidBodyView::getVelocities
2025-06-10 08:29:29 [20,447ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
2025-06-10 08:29:29 [20,447ms] [Error] [omni.kit.app._impl] [py stderr]:   File "D:\Fuzzing-Issac-Sim\my_application.py", line 25, in <module>
2025-06-10 08:29:29 [20,448ms] [Error] [omni.kit.app._impl] [py stderr]:     DynamicCuboid(
2025-06-10 08:29:29 [20,448ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/exts/isaacsim.core.api/isaacsim/core/api/objects/cuboid.py", line 334, in __init__
2025-06-10 08:29:29 [20,449ms] [Error] [omni.kit.app._impl] [py stderr]:     SingleRigidPrim.__init__(
2025-06-10 08:29:29 [20,449ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/single_rigid_prim.py", line 110, in __init__
2025-06-10 08:29:29 [20,450ms] [Error] [omni.kit.app._impl] [py stderr]:     self._rigid_prim_view = RigidPrim(
2025-06-10 08:29:29 [20,450ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/rigid_prim.py", line 196, in __init__
2025-06-10 08:29:29 [20,451ms] [Error] [omni.kit.app._impl] [py stderr]:     RigidPrim._on_physics_ready(self, None)
2025-06-10 08:29:29 [20,451ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/rigid_prim.py", line 2262, in 
_on_physics_ready
2025-06-10 08:29:29 [20,452ms] [Error] [omni.kit.app._impl] [py stderr]:     linear_velocities = self.get_linear_velocities()
2025-06-10 08:29:29 [20,453ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/rigid_prim.py", line 633, in get_linear_velocities
2025-06-10 08:29:29 [20,453ms] [Error] [omni.kit.app._impl] [py stderr]:     linear_velocities = self._physics_view.get_velocities()
2025-06-10 08:29:29 [20,454ms] [Error] [omni.kit.app._impl] [py stderr]:   File "d:/isaacsim/extsphysics/omni.physics.tensors/omni/physics/tensors/impl/api.py", line 2882, in get_velocities
2025-06-10 08:29:29 [20,455ms] [Error] [omni.kit.app._impl] [py stderr]:     raise Exception("Failed to get rigid body velocities from backend")
2025-06-10 08:29:29 [20,455ms] [Error] [omni.kit.app._impl] [py stderr]: Exception: Failed to get rigid body velocities from backend

Hi @Tommmmm, thank you for your question! I believe this is due to the same issue described in this forum post: Delete prim from simulation and keep the simulation running.

the conclusion is that, unfortunately, it is not possible to delete objects on the fly. You will need to call stop on the simulation context (e.g. world.stop()), delete the prims, then start simulation again. The reason for this is that right now when deleting a prim it is not possible to fully synchronize the event with the physics engine. To protect against faulty behaviors, when deleting a prim the simulation context is invalidated.

Thanks for your reply!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.