啓動ROS rviz出現`段錯誤(核心已轉儲)`問題的解決方法

ROS kinetic運行rviz出錯

問題描述


最近在學ROS,按照wiki上在Ubuntu 16.04.4上安裝了ROS kinetic,初級教程走了一遍運行讓rqt_graph,rqt_console之類的工具都沒有問題,
結果在運行rviz的時候出問題了,一直提示我段錯誤(核心已轉儲)(segment fault ,core dump),具體如下

Ubuntu:~$ rosrun rviz rviz
[ INFO] [1522369870.091615347]: rviz version 1.12.15
[ INFO] [1522369870.091690402]: compiled against Qt version 5.5.1
[ INFO] [1522369870.091714375]: compiled against OGRE version 1.9.0 (Ghadamon)
段錯誤 (核心已轉儲)
Ubuntu:~$ rosrun rviz rviz -l
[ INFO] [1522370140.225215260]: rviz version 1.12.15
[ INFO] [1522370140.225287175]: compiled against Qt version 5.5.1
[ INFO] [1522370140.225310742]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1522370140.375375959]: Creating resource group General
[ INFO] [1522370140.375491819]: Creating resource group Internal
[ INFO] [1522370140.375532174]: Creating resource group Autodetect
[ INFO] [1522370140.375690966]: SceneManagerFactory for type 'DefaultSceneManager' registered.
[ INFO] [1522370140.375949592]: Registering ResourceManager for type Material
[ INFO] [1522370140.375997736]: Registering ResourceManager for type Mesh
[ INFO] [1522370140.376036710]: Registering ResourceManager for type Skeleton
[ INFO] [1522370140.376096529]: MovableObjectFactory for type 'ParticleSystem' registered.
[ INFO] [1522370140.376187863]: ArchiveFactory for archive type FileSystem registered.
[ INFO] [1522370140.376240037]: ArchiveFactory for archive type Zip registered.
[ INFO] [1522370140.376274611]: ArchiveFactory for archive type EmbeddedZip registered.
[ INFO] [1522370140.376308180]: DDS codec registering
[ INFO] [1522370140.376358547]: FreeImage version: 3.17.0
[ INFO] [1522370140.376398438]: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
[ INFO] [1522370140.376585203]: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
[ INFO] [1522370140.376627873]: PVRTC codec registering
[ INFO] [1522370140.376664071]: ETC codec registering
[ INFO] [1522370140.376699482]: Registering ResourceManager for type HighLevelGpuProgram
[ INFO] [1522370140.376740182]: Registering ResourceManager for type Compositor
[ INFO] [1522370140.377049460]: MovableObjectFactory for type 'Entity' registered.
[ INFO] [1522370140.377090205]: MovableObjectFactory for type 'Light' registered.
[ INFO] [1522370140.377123949]: MovableObjectFactory for type 'BillboardSet' registered.
[ INFO] [1522370140.377156974]: MovableObjectFactory for type 'ManualObject' registered.
[ INFO] [1522370140.377198382]: MovableObjectFactory for type 'BillboardChain' registered.
[ INFO] [1522370140.377280185]: MovableObjectFactory for type 'RibbonTrail' registered.
[ INFO] [1522370140.377414575]: *-*-* OGRE Initialising
[ INFO] [1522370140.377456833]: *-*-* Version 1.9.0 (Ghadamon)
[ INFO] [1522370140.377500568]: OverlayElementFactory for type Panel registered.
[ INFO] [1522370140.377534101]: OverlayElementFactory for type BorderPanel registered.
[ INFO] [1522370140.377569881]: OverlayElementFactory for type TextArea registered.
[ INFO] [1522370140.377609821]: Registering ResourceManager for type Font
[ INFO] [1522370140.377652190]: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL
[ INFO] [1522370140.380957944]: Installing plugin: GL RenderSystem
[ INFO] [1522370140.381128845]: OpenGL Rendering Subsystem created.
[ INFO] [1522370140.427495833]: Plugin successfully installed
[ INFO] [1522370140.427644150]: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/Plugin_OctreeSceneManager
[ INFO] [1522370140.430253358]: Installing plugin: Octree Scene Manager
[ INFO] [1522370140.430466348]: Plugin successfully installed
[ INFO] [1522370140.430554014]: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/Plugin_ParticleFX
[ INFO] [1522370140.433490863]: Installing plugin: ParticleFX
[ INFO] [1522370140.433616272]: Particle Emitter Type 'Point' registered
[ INFO] [1522370140.433692001]: Particle Emitter Type 'Box' registered
[ INFO] [1522370140.433765257]: Particle Emitter Type 'Ellipsoid' registered
[ INFO] [1522370140.433838017]: Particle Emitter Type 'Cylinder' registered
[ INFO] [1522370140.433908811]: Particle Emitter Type 'Ring' registered
[ INFO] [1522370140.433980383]: Particle Emitter Type 'HollowEllipsoid' registered
[ INFO] [1522370140.434051023]: Particle Affector Type 'LinearForce' registered
[ INFO] [1522370140.434122162]: Particle Affector Type 'ColourFader' registered
[ INFO] [1522370140.434193244]: Particle Affector Type 'ColourFader2' registered
[ INFO] [1522370140.434264004]: Particle Affector Type 'ColourImage' registered
[ INFO] [1522370140.434335792]: Particle Affector Type 'ColourInterpolator' registered
[ INFO] [1522370140.434406751]: Particle Affector Type 'Scaler' registered
[ INFO] [1522370140.434477090]: Particle Affector Type 'Rotator' registered
[ INFO] [1522370140.434547772]: Particle Affector Type 'DirectionRandomiser' registered
[ INFO] [1522370140.434618616]: Particle Affector Type 'DeflectorPlane' registered
[ INFO] [1522370140.434687169]: Plugin successfully installed
[ INFO] [1522370140.434773926]: CPU Identifier & Features
[ INFO] [1522370140.434842022]: -------------------------
[ INFO] [1522370140.434910222]:  *   CPU ID: GenuineIntel: Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
[ INFO] [1522370140.434978348]:  *      SSE: yes
[ INFO] [1522370140.435045307]:  *     SSE2: yes
[ INFO] [1522370140.435111694]:  *     SSE3: yes
[ INFO] [1522370140.435177678]:  *      MMX: yes
[ INFO] [1522370140.435243485]:  *   MMXEXT: yes
[ INFO] [1522370140.435309550]:  *    3DNOW: no
[ INFO] [1522370140.435375084]:  * 3DNOWEXT: no
[ INFO] [1522370140.435440917]:  *     CMOV: yes
[ INFO] [1522370140.435507942]:  *      TSC: yes
[ INFO] [1522370140.435574002]:  *      FPU: yes
[ INFO] [1522370140.435639920]:  *      PRO: yes
[ INFO] [1522370140.435705315]:  *       HT: no
[ INFO] [1522370140.435771088]: -------------------------
[ INFO] [1522370140.435840408]: ******************************
*** Starting GLX Subsystem ***
******************************
[ INFO] [1522370140.435925601]: Registering ResourceManager for type Texture
[ INFO] [1522370140.436078294]: GLRenderSystem::_createRenderWindow "OgreWindow(0)", 1x1 windowed  miscParams: FSAA=4 contentScalingFactor=1.000000 externalGLControl= externalWindowHandle=85983233 parentWindowHandle=85983233 
[ INFO] [1522370140.439962635]: GLXWindow::create used FBConfigID = 101
[ INFO] [1522370140.440422263]: GL_VERSION = 1.4 Mesa 17.2.8
[ INFO] [1522370140.440502728]: GL_VENDOR = Intel Open Source Technology Center
[ INFO] [1522370140.440575302]: GL_RENDERER = Mesa DRI Intel(R) Q35 
[ INFO] [1522370140.440695733]: GL_EXTENSIONS = GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_multitexture GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_APPLE_packed_pixels GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_ARB_half_float_pixel GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_pixel_buffer_object GL_ARB_texture_rectangle GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_packed_depth_stencil GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_gpu_program_parameters GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_ARB_copy_buffer GL_ARB_map_buffer_range GL_ARB_ES2_compatibility GL_ARB_debug_output GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_provoking_vertex GL_ARB_sampler_objects GL_EXT_provoking_vertex GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_separate_shader_objects GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_compressed_texture_pixel_storage GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_texture_storage GL_AMD_shader_trinary_minmax GL_ARB_clear_buffer_object GL_ARB_explicit_uniform_location GL_ARB_invalidate_subdata GL_ARB_program_interface_query GL_ARB_vertex_attrib_binding GL_KHR_debug GL_ARB_multi_bind GL_ARB_get_texture_sub_image GL_KHR_context_flush_control GL_KHR_no_error 
[ INFO] [1522370140.440950302]: Supported GLX extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_MESA_copy_sub_buffer GLX_MESA_multithread_makecurrent GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_EXT_texture_from_pixmap GLX_INTEL_swap_event 
[ INFO] [1522370140.441084833]: ***************************
[ INFO] [1522370140.441156402]: *** GL Renderer Started ***
[ INFO] [1522370140.441223244]: ***************************
段錯誤 (核心已轉儲)

解決方法


可以看到啓動rviz的時候,運行到OGRE的時候就報段錯誤了,而且這時桌面上出現的rivz啓動畫面也退出了。百度谷歌github之後,看了一些解決方法,有重裝ROS,還有什麼remove intel video driver…但都不適用於我的問題。

使用-l查看一下詳細的啓動信息,可以看到檢查OpenGL的時候出了問題,谷歌ROS kinetic rviz OpenGL,結果轉來轉去還是回到了ROS wiki,有一個鏈接專門用於解決rviz啓動或運行過程中可能出現的各種問題(rviz/Troubleshooting),第一行就告訴我們如果使用的是Mesa graphic driver,需要關閉硬件加速器。

運行glxinfo | grep "OpenGL version"查看一下我們系統的圖形庫是啥(可能需要先安裝glxinfo)。我的輸出信息是:

OpenGL version string: 1.4 Mesa 17.2.8

所以問題明白了,就是因爲OpenGL版本是Mesa導致rviz啓動不了了。那就根據ROS wiki上的方法關閉硬件加速器先試試

關閉硬件加速器命令:export LIBGL_ALWAYS_SOFTWARE=1

然後運行rosrun rviz rviz再看看

可以啓動了~done!

總結


運行ros的一些工具的時候可能會出現各種段錯誤,谷歌前先用-l看一下詳細的啓動信息再谷歌會更容易定位到真正的問題(雖然我還是不知道我的具體問題原因,如果有大佬明白的話願聞其詳),因此本文的方法並不一定能解決你的問題,但是多谷歌總能找到方法的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章