segmentation-fault - virtualbox 上的 Gazebo 导致段错误

标签 segmentation-fault virtualbox ros

尝试在 osx 上的 virtualbxo 4.3.6 内的 ros Hydro 上通过 roslaunch Gazebo_ros 运行 Gazebo 会导致段错误。在virtualbox机器中安装virtualbox扩展并启用3d加速并不能解决问题。

$ roslaunch gazebo_ros empty_world.launch
... logging to /home/payneio/.ros/log/7f974af4-6e56-11e3-b11b-08002763a8b0/roslaunch-payneio-ubuntu-2906.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://payneio-ubuntu:51513/

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion
 * /use_sim_time

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)

auto-starting new master
process[master]: started with pid [2920]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 7f974af4-6e56-11e3-b11b-08002763a8b0
process[rosout-1]: started with pid [2933]
started core service [/rosout]
process[gazebo-2]: started with pid [2947]
process[gazebo_gui-3]: started with pid [2952]
Gazebo multi-robot simulator, version 1.9.2
Copyright (C) 2013 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Gazebo multi-robot simulator, version 1.9.2
Copyright (C) 2013 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

Msg Waiting for master.[ INFO] [1388080354.950623737]: Finished loading Gazebo ROS API Plugin.
Msg Waiting for master
[ INFO] [1388080354.952556883]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 10.0.2.15
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table

Msg Connected to gazebo master @ http://127.0.0.1:11345
Msg Publicized address: 10.0.2.15
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
[ INFO] [1388080356.166684005, 0.022000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1388080356.290063300, 0.104000000]: Physics dynamic reconfigure ready.
OpenGL Warning: crPixelCopy3D:  simply crMemcpy'ing from srcPtr to dstPtr
OpenGL Warning: crPixelCopy3D:  simply crMemcpy'ing from srcPtr to dstPtr
OpenGL Warning: crPixelCopy3D:  simply crMemcpy'ing from srcPtr to dstPtr
OpenGL Warning: crPixelCopy3D:  simply crMemcpy'ing from srcPtr to dstPtr
Segmentation fault (core dumped)
[gazebo_gui-3] process has died [pid 2952, exit code 139, cmd /opt/ros/hydro/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/payneio/.ros/log/7f974af4-6e56-11e3-b11b-08002763a8b0/gazebo_gui-3.log].
log file: /home/payneio/.ros/log/7f974af4-6e56-11e3-b11b-08002763a8b0/gazebo_gui-3*.log
^C[gazebo-2] killing on exit
Segmentation fault (core dumped)

最佳答案

出于某种原因,virtualbox 4.3 硬件 3d 加速似乎不起作用。作为一种解决方法,我告诉 Gazebo 通过在控制台中使用它来使用软件加速:

导出 LIBGL_ALWAYS_SOFTWARE=1

然后凉亭启动,没有出现段错误。

关于segmentation-fault - virtualbox 上的 Gazebo 导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789287/

相关文章:

c - 操作字符串时出现段错误?

PHP编程段错误

c - C 中的强制转换结构中的段错误

database - Vagrant Error,盒子未能正确解包

python - 在 ROS 之外使用 ROS 消息类

c - 在内存中执行 2D 数组表示时会导致段错误 : 11

linux - 如何从 Dev 分支提取最新文件而不是 master 文件?

linux - Virtualbox 卡住了整个 Ubuntu 16.04.3 LTS

python - message_filters 不调用回调函数

使用 Visual Studio Code 在 ROS 中调试 python 脚本