Stopping the recording of a simulation of articulation results in a segmentation fault

Isaac Sim Version

4.2.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: NVIDIA GeForce RTX 3070
  • Driver Version: 535

Stopping the recording of a simulation of articulation results in a segmentation fault

I am trying to record the movements of a robotic arm with articulation. The simulation runs fine without recording, but when I enable recording, it crashes. Specifically, the crash occurs when I stop the recording (I code after 500 ticks). The recorder layer/file is created and is usable. Additionally, when I run the recorder on a simple scene with a cube, it works without any problems.

Here is used code:

RECORD_TO_FILE = "FILE"
RECORD_TO_NEW_LAYER = "NEW_LAYER"


class StageRecorder(BaseTask):
    def __init__(self) -> None:
        enable_extension('omni.kit.stagerecorder.core')

    def post_reset(self) -> None:
        self.start()

    def pre_step(self, time_step_index: int, simulation_time: float) -> None:
        if time_step_index == 500:
            self.stop()

    def start(self) -> None:
        print("Starting recording")
        omni.kit.commands.execute(
            'StartRecording',
            target_paths=[("/World/sunrise_cell/robot_small", True)],
            live_mode=False,
            use_frame_range=False,
            start_frame=0,
            end_frame=300,
            use_preroll=False,
            preroll_frame=0,
            record_to=RECORD_TO_NEW_LAYER,
            take_name="realna",
            record_folder="/home/clockwinder/Work/RecorderTest",
            increment_name=False,
            apply_root_anim=True,
            fps=60)

    def stop(self) -> None:
        print("Stopping recording")
        omni.kit.commands.execute('StopRecording')


Steps to Reproduce

  1. Create robotic arm with articulation
  2. Use StageRecorder to record movements of the articulaiton

Error Messages

Here is output:

[15.983s] [ext: omni.kit.stagerecorder.core-105.0.5] startup
Starting recording
Stopping recording
Fatal Python error: Segmentation fault

Thread 0x00007844f4c00640 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 953 in run
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x0000784552800640 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 953 in run
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x0000784595e00640 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 953 in run
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007846cbe00640 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 953 in run
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007846d2200640 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 953 in run
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/kit/python/lib/python3.10/threading.py", line 973 in _bootstrap

Current thread 0x000078499e5a1b80 (most recent call first):
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.surface_gripper/omni/isaac/surface_gripper/ogn/python/nodes/OgnSurfaceGripper.py", line 67 in update
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.surface_gripper/omni/isaac/surface_gripper/ogn/python/nodes/OgnSurfaceGripper.py", line 47 in _on_physics_step
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.core/omni/isaac/core/simulation_context/simulation_context.py", line 696 in step
  File "/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/exts/omni.isaac.core/omni/isaac/core/world/world.py", line 536 in step
  File "/home/my_name/Work/my_company_name_isaac/src/my_company_name_isaac/application_world_reinit.py", line 27 in run
  File "/home/my_name/Work/my_company_name_isaac/standalone/customer_name/simulation/main.py", line 213 in main
  File "/home/my_name/Work/my_company_name_isaac/standalone/customer_name/simulation/main.py", line 302 in <module>

Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, yaml._yaml, omni.mdl.pymdlsdk._pymdlsdk, psutil._psutil_linux, psutil._psutil_posix, torch._C, torch._C._fft, torch._C._linalg, torch._C._nested, torch._C._nn, torch._C._sparse, torch._C._special, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.linalg._propack._spropack, scipy.sparse.linalg._propack._dpropack, scipy.sparse.linalg._propack._cpropack, scipy.sparse.linalg._propack._zpropack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.special._ufuncs_cxx, scipy.special._cdflib, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial.transform._rotation, PIL._imaging, PIL._imagingft, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, osqp._osqp, multidict._multidict, yarl._quoting_c, aiohttp._helpers, aiohttp._http_writer, aiohttp._http_parser, aiohttp._websocket, _cffi_backend, frozenlist._frozenlist, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils, bezier._speedup (total: 82)
/home/my_name/.local/share/ov/pkg/isaac-sim-4.2.0/python.sh: line 41: 30256 Segmentation fault      (core dumped) $python_exe "$@" $args
There was an error running python

Btw you have an error in your documentation:

https://docs.omniverse.nvidia.com/extensions/latest/ext_animation_stage-recorder.html

omni.kit.commands.execute(

'StartRecording',
target_paths= [["/World/Character_Center", True], ["/World/Character_Left", True]],
live_mode=True,
use_frame_range=False,
start_frame=0,
end_frame=100,
use_preroll=False,
preroll_frame=0,
record_to="New Layer", <---- Should be "NEW_LAYER"
take_name="My_Cool_Take",
record_folder="C:/Temp",
increment_name=False,
apply_root_anim=True,
fps=30.0
)

Additional Information

What I’ve Tried

Different parameters for recording command.

Sorry for bumping the topic, but this is a significant blocker for me. Could you please investigate it?