Skip to content

[Bug Report] Utils Mesh Imports in IsaacLab v2.3.2 #4600

@Idantim

Description

@Idantim

If you are submitting a bug report, please fill in the following details and use the tag [bug].

Describe the bug

With the introduction of IsaacLab tag v2.3.2, there has been an introduction of the file:
IsaacLab/source/isaaclab/isaaclab/utils/mesh.py

and the addition of the following line (14):
"from .mesh import * "
within the file:
IsaacLab/source/isaaclab/isaaclab/utils/__init__.py

It inevitably calls the line "from pxr import Usd, UsdGeom" inside mesh.py .
This causes any file which imports any isaaclab util (e.g. isaaclab.utils.string or DelayBuffer) to forcibly try and import pxr, which is only available while an AppLauncher runtime is present (and fails if it does not).
The behavior breaks our test sequence since some tests import some utils, and pytest scans imports during the collection phase without any regard to the AppLauncher, resulting in an error: ModuleNotFoundError: No module named 'pxr'.
Commenting out the line "from .mesh import * " will fix the issue and let all tests run smoothly.

Steps to reproduce

Create and run any test which has the line "from isaaclab.utils import DelayBuffer".
My actual test has a chain of imports through several files I cannot attach here.

System Info

Describe the characteristic of your environment:

  • Commit: [v2.3.2]
  • Isaac Sim Version: [5.1.0]
  • OS: [Ubuntu 22.04.5]
  • GPU: [e.g. RTX 4070 Ti]
  • CUDA: [11.8]
  • GPU Driver: [550.163.01]

Checklist

  • I have checked that there is no similar issue in the repo (required)
  • I have checked that the issue is not in running Isaac Sim itself and is related to the repo

Acceptance Criteria

Add the criteria for which this task is considered done. If not known at issue creation time, you can add this once the issue is assigned.

  • There is a solution for running tests that require isaaclab utils without getting the error.
  • OR pxr import is decoupled from the utils' init.py in any way

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions