Skip to content

Fix the default log file path of OVRTX renderer#5763

Merged
huidongc merged 1 commit into
isaac-sim:release/3.0.0-beta2from
huidongc:port-ovrtx-renderer-logging
May 25, 2026
Merged

Fix the default log file path of OVRTX renderer#5763
huidongc merged 1 commit into
isaac-sim:release/3.0.0-beta2from
huidongc:port-ovrtx-renderer-logging

Conversation

@huidongc
Copy link
Copy Markdown
Collaborator

@huidongc huidongc commented May 24, 2026

Description

Cherry-picked PR #5749 from develop.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

# Description

- The default log file path of OVRTX renderer uses
`/tmp/ovrtx_renderer.log` which is Linux specific. We need to use a
cross-platform temp directory instead.
- Redirect OVRTX renderer log to stdout for rendering tests so that we
can view what is going on with CI, e.g. time for shader compilation will
be visible in the CI logs, see `rendering-correctness` test job
(https://github.com/isaac-sim/IsaacLab/actions/runs/26287973633/job/77380393480?pr=5749):
```log
2026-05-22T12:41:09Z [376,470ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 30 seconds so far
2026-05-22T12:41:39Z [406,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 60 seconds so far
2026-05-22T12:42:09Z [436,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 90 seconds so far
2026-05-22T12:42:39Z [466,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 120 seconds so far
2026-05-22T12:43:09Z [496,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 150 seconds so far
2026-05-22T12:43:39Z [526,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 180 seconds so far
2026-05-22T12:44:09Z [556,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 210 seconds so far
2026-05-22T12:44:16Z [563,300ms] [Info] [omni.rtx] Ray tracing shader compilation for RTX renderer main raytracing pipeline finished after 216 seconds
```

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
@huidongc huidongc requested a review from kellyguo11 May 24, 2026 14:40
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label May 24, 2026
@huidongc huidongc requested a review from pbarejko May 24, 2026 14:40
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 24, 2026

Greptile Summary

This PR fixes two logging issues with the OVRTX renderer: replacing the hardcoded Linux-only /tmp/ovrtx_renderer.log default path with a cross-platform equivalent, and redirecting OVRTX renderer output to stdout during CI rendering tests so shader compilation progress is visible in CI logs.

  • ovrtx_renderer_cfg.py: Default log_file_path now uses os.path.join(tempfile.gettempdir(), \"ovrtx_renderer.log\"), evaluated at import time to a platform-appropriate temp directory.
  • rendering_test_utils.py: New _redirect_ovrtx_renderer_log_to_stdout helper walks the fixed set of named camera attributes and points log_file_path at /dev/stdout (Linux) or CON (Windows); called from the three existing rendering test entry points when the OVRTX renderer is active.

Confidence Score: 5/5

Straightforward cross-platform fix with no behavioral regressions expected on existing Linux workflows.

Both changes are narrow and well-contained: the config default is a simple string substitution using standard library calls, and the test helper is gated behind an explicit renderer check and only active in test code. No production paths are affected beyond the default log file location.

No files require special attention.

Important Files Changed

Filename Overview
source/isaaclab_ov/isaaclab_ov/renderers/ovrtx_renderer_cfg.py Replaces hardcoded Linux-only /tmp/ovrtx_renderer.log default with os.path.join(tempfile.gettempdir(), 'ovrtx_renderer.log') for cross-platform compatibility. Clean fix with no issues.
source/isaaclab_tasks/test/rendering_test_utils.py Adds _redirect_ovrtx_renderer_log_to_stdout to route OVRTX renderer output to stdout during CI tests; called from three test helpers. Only handles a fixed set of named camera attributes (tiled_camera, base_camera, wrist_camera), which is documented and intentional.
source/isaaclab_ov/changelog.d/huidongc-ovrtx-renderer-logging.rst Changelog entry for the cross-platform temp directory fix.
source/isaaclab_tasks/changelog.d/huidongc-ovrtx-renderer-logging.skip Empty skip marker indicating no changelog entry is needed for the isaaclab_tasks package.

Reviews (1): Last reviewed commit: "Fix the default log file path of OVRTX r..." | Re-trigger Greptile

Copy link
Copy Markdown

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary

This PR fixes the cross-platform compatibility issue with the OVRTX renderer log file path and adds useful stdout redirection for CI visibility. Overall, this is a well-targeted bug fix.

✅ Positive Aspects

  1. Correct cross-platform fix: Using tempfile.gettempdir() is the idiomatic Python approach for cross-platform temporary directories. This will correctly resolve to /tmp on Linux, C:\Users\<user>\AppData\Local\Temp on Windows, and appropriate paths on macOS.

  2. Good CI observability: Redirecting OVRTX renderer logs to stdout during CI tests is valuable for debugging shader compilation times and renderer issues.

  3. Proper documentation: The docstring update clearly explains the default behavior.

  4. Changelog entries: Both the feature changelog and the skip file are properly added.

📝 Observations

Hardcoded camera names in test helper (non-blocking)

In _redirect_ovrtx_renderer_log_to_stdout, the camera names are hardcoded:

for camera_name in ("base_camera", "wrist_camera"):
    camera_cfg = getattr(scene, camera_name, None)

This pattern requires maintenance when new cameras are added to test environments. Consider whether a more dynamic approach (e.g., iterating over all attributes that match a naming pattern or type check) would be more maintainable. However, given that this is test infrastructure and the current approach is explicit and clear, this is not a blocking concern.

CI check status (informational)

The rendering-correctness-kitless check shows as failed. If this is a transient CI issue unrelated to this PR's changes, it may be worth re-running. If it's a genuine failure introduced by this PR, please investigate before merging.

Verdict

Looks good to merge once CI is green. The core changes are correct and well-implemented.

Copy link
Copy Markdown

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Isaac Lab Review Bot

Summary

This PR fixes a cross-platform compatibility bug where the OVRTX renderer log file path was hardcoded to /tmp/ovrtx_renderer.log (Linux-specific). The fix uses tempfile.gettempdir() for cross-platform temp directory resolution. Additionally, the PR adds stdout redirection for OVRTX logs in CI tests to improve debugging visibility during shader compilation.

Design Assessment

Architecture: ✅ Appropriate

  • Changes to ovrtx_renderer_cfg.py are correctly scoped to the renderer configuration
  • Test infrastructure changes in rendering_test_utils.py follow established patterns
  • Changelog entries properly placed in respective extension directories

Implementation: ✅ Correct

  • tempfile.gettempdir() is the idiomatic Python approach for cross-platform temp paths
  • Import ordering follows stdlib-first convention
  • Type hints and Google-style docstrings are complete

Findings

🔵 Suggestions

Hardcoded camera names in test helper

File: source/isaaclab_tasks/test/rendering_test_utils.py:305-307

for camera_name in ("base_camera", "wrist_camera"):
    camera_cfg = getattr(scene, camera_name, None)

The camera names are hardcoded, requiring maintenance when new cameras are added to test environments. A more dynamic approach (e.g., type-based discovery) could reduce maintenance burden. However, this explicit approach is clear and the current test coverage is sufficient.

Test Coverage

  • Bug fix coverage: The cross-platform path fix is exercised by existing rendering-correctness and rendering-correctness-kitless CI jobs that use OVRTX renderer configurations
  • New helper coverage: _redirect_ovrtx_renderer_log_to_stdout is applied consistently across all three test functions (rendering_test_shadow_hand, rendering_test_cartpole, rendering_test_dexsuite_kuka)

CI Status

Check Status
license-check ✅ Pass
pre-commit ✅ Pass
rendering-correctness ✅ Pass
rendering-correctness-kitless ❌ Fail
isaaclab_ov ✅ Pass
Most others ⏳ Pending

Note on rendering-correctness-kitless failure: This is a CI infrastructure issue, not a code problem. The failure is caused by a network timeout during pip install ovrtx:

pip._vendor.urllib3.exceptions.ProtocolError: Connection broken: IncompleteRead(32768 bytes read, 76108 more expected)
ERROR: Failed to build 'ovrtx' when installing build dependencies for ovrtx

Re-running the CI job should resolve this transient network issue.

Verdict

No issues found

The implementation is correct and well-documented. The CI failure is an infrastructure issue unrelated to this PR's code changes.

@huidongc huidongc changed the title Fix the default log file path of OVRTX renderer (Cherry-pick #5749) Fix the default log file path of OVRTX renderer May 25, 2026
@huidongc huidongc merged commit c1b495b into isaac-sim:release/3.0.0-beta2 May 25, 2026
64 of 65 checks passed
@huidongc huidongc deleted the port-ovrtx-renderer-logging branch May 25, 2026 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants