google-deepmind / google-deepmind/dm_control

AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'

Open
#509 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
4.7k
Forks
764
PR merge metrics
No merged PRs in 30d

Description

The Jan 14, 2025 MuJoCo update introduced a [breaking change](https://mujoco.readthedocs.io/en/3.2.7/changelog.html#general) affecting `dm_control`.

To reproduce:
```python
from dm_control.locomotion.examples.basic_rodent_2020 import rodent_escape_bowl
env = rodent_escape_bowl()
```
Traceback:
```
AttributeError Traceback (most recent call last)

[](https://localhost:8080/#) in ()
----> 1 env = rodent_escape_bowl()

11 frames

[/usr/local/lib/python3.10/dist-packages/dm_control/mujoco/index.py](https://localhost:8080/#) in struct_indexer(struct, struct_name, size_to_axis_indexer)
626 # Skip over structured arrays and fields that have sizes but aren't numpy
627 # arrays, such as text fields and contacts (b/34805932).
--> 628 attr = getattr(struct, field_name)
629 if not isinstance(attr, np.ndarray) or attr.dtype.fields:
630 continue

AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the rodent_escape_bowl() failure from the issue, then inspect dm_control/mujoco/index.py and the linked MuJoCo 3.2.7 changelog entry. Trace how qLDiagSqrtInv is discovered and identify the compatibility change needed. Done means the example environment initializes without this AttributeError and related indexing still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.