google-deepmind / google-deepmind/dm_control

mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd

未关闭
#370 34 条评论 6 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
4.7k
派生
764
PR 合并指标
30 天内没有已合并 PR

描述

I'm getting this error while using the EGL rendering backend:

`mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd`

The error is rare (but still fatal for a long job) so not sure if I can provide a script to reproduce. I believe this might be a known issue though? Thanks so much!

The full traceback:

``` File "/acme/environment_loop.py", line 176, in run
result = self.run_episode()
File "/acme/environment_loop.py", line 94, in run_episode
timestep = self._environment.reset()
File "/acme/wrappers/base.py", line 55, in reset
return self._environment.reset()
File "/acme/wrappers/single_precision.py", line 40, in reset
return self._convert_timestep(self._environment.reset())
File "/dm_control/composer/environment.py", line 339, in reset
return self._reset_attempt()
File "/dm_control/composer/environment.py", line 349, in _reset_attempt
self._recompile_physics_and_update_observables()
File "/dm_control/composer/environment.py", line 243, in _recompile_physics_and_update_observables
self._observation_updater.reset(self._physics_proxy, self._random_state)
File "/dm_control/composer/observation/updater.py", line 165, in reset
enabled.observation_callable())
File "/dm_control/composer/observation/observable/mjcf.py", line 266, in get_observation
pixels = physics.render(
File "/dm_control/mujoco/engine.py", line 216, in render
camera = Camera(
File "/dm_control/mujoco/engine.py", line 695, in __init__
if self._physics.contexts.mujoco is not None:
File "/dm_control/mujoco/engine.py", line 526, in contexts
self._make_rendering_contexts()
File "/dm_control/mujoco/engine.py", line 512, in _make_rendering_contexts
mujoco_context = wrapper.MjrContext(self.model, render_context)
File "/dm_control/mujoco/wrapper/core.py", line 606, in __init__
ptr = ctx.call(mujoco.MjrContext, model.ptr, font_scale)
File "/dm_control/_render/executor/render_executor.py", line 138, in call
return func(*args, **kwargs)
mujoco.FatalError: Offscreen framebuffer is not complete, error 0x8cdd
(EnvironmentLoop pid=593400) Exception ignored in:
(EnvironmentLoop pid=593400) Traceback (most recent call last):
(EnvironmentLoop pid=593400) File "/dm_control/mujoco/wrapper/core.py", line 636, in __del__
(EnvironmentLoop pid=593400) self.free()
(EnvironmentLoop pid=593400) File "/dm_control/mujoco/wrapper/core.py", line 624, in free
(EnvironmentLoop pid=593400) ptr = self.ptr
(EnvironmentLoop pid=593400) File "/dm_control/mujoco/wrapper/core.py", line 614, in ptr
(EnvironmentLoop pid=593400) return self._ptr()
(EnvironmentLoop pid=593400) AttributeError: 'MjrContext' object has no attribute '_ptr'```

贡献指南

打开贡献指南

调研方向

从 dm_control/mujoco/engine.py 中 _make_rendering_contexts 附近以及 wrapper/core.py 中 MjrContext 附近开始,以报告中的 EGL 后端和 traceback 作为切入点。调查间歇性的 offscreen framebuffer 失败,以及随后出现的缺少 _ptr 清理的错误;完成的标准是得到可复现的诊断,并确认修复有效或记录明确的限制。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
computer-graphics
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。