How to Debug Common Failures¶
The shortest checks for common GeneLab failures.
Unknown task¶
If the second command works, the package is importable only with --import. Install an
entry point or keep using an explicit import. If neither works, confirm the package is installed or
its src/ directory is on PYTHONPATH.
Unknown override path¶
Copy the path from Overridable cfg paths. Remember that play shortcuts may retarget
env.simulation.* to play_env.simulation.* when a task has play_env.
Torch or Genesis import errors¶
python -c "import torch; print(torch.__version__, torch.version.cuda)"
python -c "import genesis; print(genesis.__version__)"
Pick exactly one torch-* extra and resync if needed:
Cache or write-location errors¶
This creates project-local cache directories and points XDG_CACHE_HOME and MPLCONFIGDIR at
.cache/.
Viewer failures¶
First run headless:
Then try viewer mode:
Viewer failures are usually graphics-driver, display, or OpenGL platform problems rather than registry problems.
Observation or reward shape errors¶
Manager terms should return batch-shaped tensors:
| Term type | Expected shape |
|---|---|
| observation term | (num_envs, d) or (num_envs,) |
| reward term | (num_envs,) |
| termination term | (num_envs,) bool |
Avoid scalar () tensors. They can broadcast incorrectly or fail later in the runner.
Distributed env-count errors¶
--num_envs is total across ranks and must divide evenly by --gpus.
Use --num_envs_per_gpu to avoid division: