Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offcreen framebuffer is not complete #357

Open
harjatinsingh opened this issue Feb 13, 2019 · 7 comments
Open

Offcreen framebuffer is not complete #357

harjatinsingh opened this issue Feb 13, 2019 · 7 comments

Comments

@harjatinsingh
Copy link

Using offscreen rendering throws this error message with Tesla P100 GPU
ERROR: Offscreen framebuffer is not complete, error 0x8cdd.

However the same code works with 1080 Ti and Titan X GPUs. Is there something I need to modify. I am using mujoco1.5 with Ananconda Python 3.6.5.

@Gaoee
Copy link

Gaoee commented Apr 19, 2019

I got a similar error too.

@ajabri
Copy link

ajabri commented Apr 26, 2019

Bump on this. Did you guys figure this issue out?

@yusukeurakami
Copy link

yusukeurakami commented May 2, 2019

I have it too. In my case, it happens after I started using pytorch.multiprocess. Mujoco 1.55, Mujoco-py 1.5 Titan X GPU. Ubuntu 16.04.

I got following both errors.
ERROR: Shadow framebuffer is not complete, error 0x8cdd
ERROR: Offscreen framebuffer is not complete, error 0x8cdd

@btickell
Copy link

@yusukeurakami any luck?

@yusukeurakami
Copy link

yusukeurakami commented May 29, 2019

@btickell
So, in my case, this problem happened because of the off-screen framebuffer became full by opening too many Mjviewers. Every iteration, I was creating the new MujocoEnv and calling MujocoEnv._get_viewer() for rendering purpose. However, I realized that the viewer will not be deleted even I deleted the env itself and eventually it will full up my off-screen memory space.
Therefore, I stopped calling the _get_viewer() function and use Unity to render the image instead of Mujoco renderer. Then I never got this error again.

@btickell
Copy link

Interesting, I am actually getting this error when I STOP naively generating new render contexts. In my case I am using offscreen rendering and when creating a new simulator I first access the original doing

rc = old_sim.render_contexts[0]
new_sim = mujoco_py.MjSim(model)
sim.add_render_context(rc)
rc.update_sim(new_sim)

If I remove this process the error goes away...

@tkelestemur
Copy link

tkelestemur commented Jul 19, 2019

I'm getting the same issue with the following:

    def __init__(self, render=False):

        self.model = mj.load_model_from_path(MODEL_PATH)
        self.sim = mj.MjSim(self.model)
        if render:
            self.viewer = mj.MjViewer(self.sim)
        else:
            self.depth_viewer = mj.MjRenderContextOffscreen(self.sim)

If the render is False it imideatly throws the same error. I don't even need to call or render or read_pixel functions. I'm on Ubuntu 18.04 with Titan RTX.

Edit: Exact same code works with Macbook Pro. So the issue is related to Ubuntu/nvidia.
To reproduce the error: https://github.com/tkelestemur/diff_histogram/blob/mocap/env/test_env.py

Edit 2: The read_pixels_depth functions works on both Mac and Ubuntu 18.04.
https://github.com/openai/mujoco-py/blob/master/mujoco_py/tests/test_opengl_context.py#L52

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants