Omniverse open stage error

Hello,

I have a question or more a note I found a way around the error.

When I want to open a stage with:

from omni.isaac.core.utils.stage import open_stage
open_stage(usd_path)

I get the error: Inconsistency detected by ld.so: …/elf/dl-tls.c: 618: _dl_allocate_tls_init: Assertion `listp != NULL’ failed!

The way I fixed it is to open the stage with:

from pxr import Usd
stage = Usd.Stage.Open(usd_path)

What is the difference between these two. Why does the second one work and the first one not.

Thank you in advance.

Hi @nickbakker40 - The open_stage function from omni.isaac.core.utils.stage and Usd.Stage.Open from pxr.Usd both open a USD stage, but they do so in slightly different ways and may have different behaviors depending on the context.

Usd.Stage.Open is a function provided by the USD API (from Pixar). It opens a USD file and returns a Usd.Stage object that you can use to interact with the data in the file.

On the other hand, open_stage from omni.isaac.core.utils.stage is a utility function provided by the Isaac SDK. It likely includes additional functionality or setup specific to the Isaac SDK. The error you’re seeing could be due to this additional functionality not being compatible with your specific setup or usage.

The reason why Usd.Stage.Open works while open_stage does not could be due to a variety of factors, such as differences in your environment, the specific USD file you’re trying to open, or how you’re using the returned stage. Without more information, it’s hard to say exactly why one works and the other doesn’t in your specific case.

1 Like

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