google-deepmind / google-deepmind/dm_control
AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'
- 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
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