Robotics StackExchange | Archived questions

Gazebo crashes (race condition?)

Hi all,

-- Question initially posted on ROS answers but I realized I should have posted it here --

I am currently using gazebo with a urdf of mine (under precise and hydro). It turns out to work well... once in every 5 or 6 sessions. With absolutely no change in the urdf or the config (I am repeatedly launching the same file from the same command line), I get repeated crashes and then once every 5 or 10 sessions (it varies) the simulation happens to work.

There are actually different error messages and which error message is displayed seems to be random depending on the session.

From the example error messages provided below, this problem could look like a race condition. Any idea of what's going on? Is this a known problem?

Thanks,

Antoine.

1st example error message

[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request:  153 (DRI2)
Minor opcode of failed request:  3 (DRI2CreateDrawable)
Resource id in failed request:  0x4a00002
Serial number of failed request:  29
Current serial number in output stream:  31
[Thread 0xaf9ffb40 (LWP 6304) exited]
[Thread 0xb17ffb40 (LWP 6295) exited]
[Thread 0xb0dffb40 (LWP 6296) exited]
[Thread 0xae7feb40 (LWP 6306) exited]
[Thread 0xadffdb40 (LWP 6307) exited]
gzserver: /usr/include/boost/thread/pthread/mutex.hpp:47: boost::mutex::~mutex(): Assertion `!pthread_mutex_destroy(&m)' failed.
[Thread 0xacffbb40 (LWP 6309) exited]
[Thread 0xaefffb40 (LWP 6305) exited]
[Thread 0xad7fcb40 (LWP 6308) exited]

Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) 

2nd example error message

[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request:  153 (DRI2)
Minor opcode of failed request:  3 (DRI2CreateDrawable)
Resource id in failed request:  0x4a00002
Serial number of failed request:  29
Current serial number in output stream:  31
[Thread 0xafbfeb40 (LWP 8328) exited]
[Thread 0xb17ffb40 (LWP 8318) exited]
[Thread 0xb0ffeb40 (LWP 8319) exited]
[Thread 0xad9fdb40 (LWP 8332) exited]
[Thread 0xae1feb40 (LWP 8331) exited]
[Thread 0xad1fcb40 (LWP 8333) exited]
[Thread 0xaf3fdb40 (LWP 8329) exited]
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'
terminate called recursively
what():  boost::lock_error
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xac9fbb40 (LWP 8334)]
0xb7fdd424 in __kernel_vsyscall ()
(gdb)

3rd example error message

[ INFO] [1410583321.907129485]: Starting gazebo_ros_control plugin in namespace: /
[ INFO] [1410583321.908766555]: gazebo_ros_control plugin is waiting for model URDF in parameter [robot_description] on the ROS param server.
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request:  153 (DRI2)
Minor opcode of failed request:  3 (DRI2CreateDrawable)
Resource id in failed request:  0x4e00002
Serial number of failed request:  29
Current serial number in output stream:  31
[spawn_gazebo_model-4] process has finished cleanly
log file: /home/arennuit/.ros/log/4abaa3e0-3b00-11e4-8318-0024d7bbc374/spawn_gazebo_model-4*.log
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
gzclient: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr<T>::operator->() const [with T = gazebo::transport::Connection]: Assertion `px != 0' failed.
[ INFO] [1410583322.212769885]: Loaded gazebo_ros_control.
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
Aborted (core dumped)
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[New Thread 0xa377ab40 (LWP 11321)]
[gazebo_gui-3] process has died [pid 11095, exit code 134, cmd /opt/ros/hydro/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/arennuit/.ros/log/4abaa3e0-3b00-11e4-8318-0024d7bbc374/gazebo_gui-3.log].
log file: /home/arennuit/.ros/log/4abaa3e0-3b00-11e4-8318-0024d7bbc374/gazebo_gui-3*.log
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[New Thread 0xa2d55b40 (LWP 11493)]
[New Thread 0xa2554b40 (LWP 11500)]

Asked by arennuit on 2014-09-12 23:56:40 UTC

Comments

Answers