-
Notifications
You must be signed in to change notification settings - Fork 8.6k
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
Rendering causes crash when gym is wrapped in a ROS node #247
Comments
Exit code 139 == segmentation fault. How is the process connecting to the X server? |
The error shown below is without connecting to the X server. However, when I try to connect to the X server as follows: I am getting the following error: Checking: Do you have any suggestions? |
Your installation of xvfb doesn't support GLX (needed for OpenGL). There is lots written about it at http://stackexchange.com/search?q=xvfb+GLX Here's what worked for me on ubuntu 14.04 inside a Docker container on an AWS instance:
|
@evenmarbles any updates here? |
@tlbtlbtlb Can you share the AMI you used? I can't seem to get pass the "pyglet requires an X server with GLX" error with your configuration. |
I get the same error as you @luongminh97. I was recommended to try http://www.karlrunge.com/x11vnc/Xdummy but opt-out and just disabled rendering for now. I also tried virtualgl which works good for |
I run this inside docker containers, based on 64-bit Ubuntu 14.04. I haven't tried directly inside an AMI-based system. The X server log may reveal why it failed to enable GLX. |
What @pemami4911 wrote on #366 (THANKS!) finally pointed me into the right direction. I didn't xvfb and sadly also X-dummy to work for a long time but when I followed pemami4911's hint and installed the Nvidia driver with --no-opengl-files option and CUDA with --no-opengl-libs xvfb worked right away. |
@DavidSanwald / @tlbtlbtlb do you still do this? It works for me, but it seems that this forces rendering onto the CPU (just basing this off of watching nvidia-smi), and it'd be nice to render on the GPU (since they were made for this after all). |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I wrote a ROS node wrapping openaigym to run the environments an then pass the action from another ROS. But for some reason the code crashes with exit code 139 whenever rendering is turned on. The program works fine without rendering.
Furthermore, when rendering is turned on, it starts by displaying the environment in the window, but crashes when updating the rendering after receiving its first action from the other node. To be more precise it crashes when executing the command glClearColor(1, 1, 1, 1) in gym.env.classic_control.rendering.py (so far I tried it for the CartPole and the MountainCar domains).
As an interesting tidbit, when I am running the ROS node openaigym wrapper, and sample actions in the node and pass it directly into the function dealing with updating the environment and rendering it (without involving the agent ROS node, the program runs just fine (doesn't crash).
So my best guess is that the crash is somehow related to using tcp (since this is how the information is passed from the agent to the environment) and pyglet/opengl.
The text was updated successfully, but these errors were encountered: