gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.19k stars 480 forks source link

Gazebo freezes on Save As with too many cameras #2648

Open osrf-migration opened 5 years ago

osrf-migration commented 5 years ago

Original report (archived issue) by Anonymous.


I have installed Gazebo 9 with ROS melodic on Ubuntu 18.04. I keep getting following unexpected behaviour:

Create a new world in Gazebo (only ground plane and sun) Add an object to the world (any object e.g. a car) Add cameras to the world (4 cameras needed, from standard library) File -> Save As... or Ctrl+Shift+S The program freezes and the saving window does not show up gzclient process starts using 100% CPU It is possible to Alt+F4 to return to the world editor. The only thing showing up in the terminal: Gtk-Message: 16:30:04.390: GtkDialog mapped without a transient parent. This is discouraged.

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I just tried to reproduce this on xenial and bionic but was unable to see the problem. Can you attach a world file and/or roslaunch file along with instructions to reproduce the problem?

osrf-migration commented 5 years ago

Original comment by Krzysztof Dąbek (Bitbucket: k_dabek).


I have also tried to reproduce the problem on my colleague’s computer but was unable to.

On my PC I have installed a completely new system on a completely formatted hard drive. I have installed gazebo according to the tutorial. I have created a new world with only added cameras. The problem persists.

Maybe it is only present in some specific case?

I also needed to upgrade the libignition-math2 because I got a symbol lookup error on libgazebo_common.so.9
Could this have something to do with the problem?

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I doubt that ignition-math is related to the problem. A graphics driver issue would seem more likely to me. Perhaps you can run gzclient with gdb and get a backtrace when it hangs?

Terminal 1:

$ gzserver --verbose cameras_freeze.world

Terminal 2:

$ gdb gzclient
...
(gdb) r --verbose
... (wait for freeze, then Ctrl + C)
(gdb) bt
...
(gdb thread apply all bt

The gdb output for bt and thread apply all bt should indicate what gzclient is doing during the freezes.

osrf-migration commented 5 years ago

Original comment by Krzysztof Dąbek (Bitbucket: k_dabek).


Here is the output from gdb: https://pastebin.com/iZVKfL3d

Looks like threads are being quickly created and exited.

Further you have the bt and thread apply all bt output.

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


I noticed that your SIGINT catches the code in /usr/lib/x86_64-linux-gnu/dri/i965_dri.so, which looks like a driver for an intel video card. That may be the key to reproducing this issue, as my desktop has an nvidia video card.

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).