Hi
everybody,
 I'm trying to simulate some simple models with simple shapes but get
segfaults in the visualisation part. The model contains a simple
plane, cylinder and directional light. I've attached the file
"stap1.world" that I'm using. When I'm starting gazebo with
stap1.world, Gazebo crashes with a segfault after successful
initialization. I tried this with several basic shapes (box, cylinder,
cone, tube) but get the same behaviour. I've also tried it on
different machines with the same behaviour.
 The part in the world file which is causing the trouble is:
           unit_cylinder
           Gazebo/RustyBarrel 
 If I remove this part from the world file, the gazebo does not
crash. But of course I don't see the cylinder.
 Bug 2870446 might be related. But the patched file is no longer part
of the trunk.
 I'm not sure if this is a bug in Gazebo, Ogre or in one of drivers.
Or if the world model is plainly wrong. Hopefully somebody can help me
with this one as it's really blocking for me and I'm pulling my hair
out.
 Here's some more info:
 - Gazebo trunk rev 8622
 - Ogre 1.6.4
 - gcc 4.4.3 
 For more information I've included below (1) world file; (2)
terminal output Gazebo; (3) output of gdb showing where the segfault
occurs.
 Thanks,
 Barry
  This is the output I get from the terminal:
 $gazebo stap1.world
Gazebo multi-robot simulator, version 0.10.0

Part of the Player/Stage Project
[http://playerstage.sourceforge.net]. [1]
Copyright (C) 2003 Nate Koenig, Andrew Howard, and contributors.
Released under the GNU General Public License.

[/home/barry/src/playerstage/code/gazebo-trunk/server/GazeboConfig.cc:103]
  Gazebo Path[/usr/local/share/gazebo]
[/home/barry/src/playerstage/code/gazebo-trunk/server/GazeboConfig.cc:115]
  Ogre Path[/usr/lib/OGRE]
directory [/tmp/gazebo-barry-0] already xists (previous crash?)
but the owner gazebo server (pid=4430) is not running.
deleting the old information of the directory [/tmp/gazebo-barry-0]
Gazebo successfully initialized
Segmentation fault (core dumped)
  

Links:
------
[1] http://playerstage.sourceforge.net].
gdb gazebo
GNU gdb (GDB) Fedora (7.0.1-44.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/gazebo...done.
(gdb) run stap1.world
Starting program: /usr/local/bin/gazebo stap1.world
warning: .dynamic section for "/usr/lib/libxml2.so.2" is not at the expected 
address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/usr/lib/libX11.so.6" is not at the expected 
address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/usr/lib/libfreeimage.so.3" is not at the 
expected address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/usr/lib/libPhysXLoader.so.1" is not at the 
expected address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/usr/lib/libXext.so.6" is not at the expected 
address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/usr/lib/libXinerama.so.1" is not at the 
expected address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/lib/libuuid.so.1" is not at the expected address
warning: difference appears to be caused by prelink, adjusting expectations
[Thread debugging using libthread_db enabled]
Gazebo multi-robot simulator, version 0.10.0

Part of the Player/Stage Project [http://playerstage.sourceforge.net].
Copyright (C) 2003 Nate Koenig, Andrew Howard, and contributors.
Released under the GNU General Public License.

[/home/barry/src/playerstage/code/gazebo-trunk/server/GazeboConfig.cc:103]
  Gazebo Path[/usr/local/share/gazebo]
[/home/barry/src/playerstage/code/gazebo-trunk/server/GazeboConfig.cc:115]
  Ogre Path[/usr/lib/OGRE]
warning: .dynamic section for "/usr/lib/libXrandr.so.2" is not at the expected 
address
warning: difference appears to be caused by prelink, adjusting expectations
directory [/tmp/gazebo-barry-0] already exists (previous crash?)
but the owner gazebo server (pid=4689) is not running.
deleting the old information of the directory [/tmp/gazebo-barry-0]
Detaching after fork from child process 4872.
Gazebo successfully initialized
[New Thread 0xb4146b70 (LWP 4873)]

Program received signal SIGSEGV, Segmentation fault.
0x01a8a500 in depth_test_span (ctx=0x8485c58, span=0xbfffd1f0) at 
swrast/s_depth.c:570
570        if (rb->GetPointer(ctx, rb, 0, 0)) {
(gdb) where
#0  0x01a8a500 in depth_test_span (ctx=0x8485c58, span=0xbfffd1f0) at 
swrast/s_depth.c:570
#1  0x01a9828c in stencil_and_ztest_span (ctx=0x8485c58, span=0xbfffd1f0, 
face=0)
    at swrast/s_stencil.c:481
#2  0x01a96721 in _swrast_write_rgba_span (ctx=0x8485c58, span=0xbfffd1f0) at 
swrast/s_span.c:1405
#3  0x01aa620c in general_triangle (ctx=0x8485c58, v0=0xb72c6f08, 
v1=0xb72c3020, v2=0xb72d3178)
    at swrast/s_tritemp.h:862
#4  0x01aa2854 in _swrast_add_spec_terms_triangle (ctx=0x8485c58, 
v0=0xb72c6f08, v1=0xb72c3020, 
    v2=0xb72d3178) at swrast/s_triangle.c:969
#5  0x01a89799 in _swrast_validate_triangle (ctx=0x8485c58, v0=0xb72c6f08, 
v1=0xb72c3020, 
    v2=0xb72d3178) at swrast/s_context.c:361
#6  0x01a88cd0 in _swrast_Triangle (ctx=0x8485c58, v0=0xb72c6f08, 
v1=0xb72c3020, v2=0xb72d3178)
    at swrast/s_context.c:704
#7  0x01ab4f23 in triangle_unfilled_rgba (ctx=0x8485c58, e0=33, e1=0, e2=135)
    at swrast_setup/ss_tritmp.h:188
#8  0x01a4e381 in _tnl_render_poly_elts (ctx=0x8485c58, start=0, count=4, 
flags=48)
    at tnl/t_vb_rendertmp.h:352
#9  0x01a4e78f in _tnl_RenderClippedPolygon (ctx=0x8485c58, elts=0xbfffe038, 
n=4)
    at tnl/t_vb_render.c:244
#10 0x01a49471 in clip_tri_4 (ctx=0x8485c58, v0=<value optimized out>, v1=0, 
v2=68, mask=9 '\t')
    at tnl/t_vb_cliptmp.h:259
#11 0x01a4cf2d in clip_elt_triangles (ctx=0x8485c58, start=<value optimized 
out>, count=114, 
    flags=52) at tnl/t_vb_render.c:173
#12 0x01a4e8b5 in run_render (ctx=0x8485c58, stage=0x84d989c) at 
tnl/t_vb_render.c:320
#13 0x01a45535 in _tnl_run_pipeline (ctx=0x8485c58) at tnl/t_pipeline.c:157
#14 0x01a461dc in _tnl_draw_prims (ctx=0x8485c58, arrays=0x84c7c74, 
prim=0xbfffe3c0, nr_prims=1, 
    ib=0xbfffe3d0, min_index=0, max_index=134) at tnl/t_draw.c:467
#15 0x01a462c5 in _tnl_vbo_draw_prims (ctx=0x8485c58, arrays=0x84c7c74, 
prim=0xbfffe3c0, nr_prims=1, 
    ib=0xbfffe3d0, index_bounds_valid=0 '\000', min_index=0, max_index=134) at 
tnl/t_draw.c:376
#16 0x01a3d54d in vbo_validated_drawrangeelements (ctx=0x8485c58, mode=4, 
    index_bounds_valid=0 '\000', start=4294967295, end=4294967295, count=114, 
type=5123, 
---Type <return> to continue, or q <return> to quit---
    indices=0x0, basevertex=0) at vbo/vbo_exec_array.c:663
#17 0x01a3d62f in vbo_exec_DrawElements (mode=4, count=114, type=5123, 
indices=0x0)
    at vbo/vbo_exec_array.c:807
#18 0x01a2d755 in neutral_DrawElements (mode=4, count=114, type=5123, 
indices=0x0)
    at main/vtxfmt_tmp.h:334
#19 0x070a5e36 in glDrawElements (mode=4, count=114, type=5123, indices=0x0)
    at ../../../src/mesa/glapi/glapitemp.h:1655
#20 0x03cbf9c8 in Ogre::GLRenderSystem::_render (this=<value optimized out>, 
    op=<value optimized out>) at OgreGLRenderSystem.cpp:2790
#21 0x05001d3d in Ogre::SceneManager::renderSingleObject (this=<value optimized 
out>, 
    rend=<value optimized out>, pass=<value optimized out>, 
    lightScissoringClipping=<value optimized out>, doLightIteration=<value 
optimized out>, 
    manualLightList=<value optimized out>) at OgreSceneManager.cpp:3328
#22 0x04ff763a in Ogre::SceneManager::renderShadowVolumeObjects (this=<value 
optimized out>, 
    iShadowRenderables=..., pass=<value optimized out>, manualLightList=<value 
optimized out>, 
    flags=<value optimized out>, secondpass=<value optimized out>, zfail=<value 
optimized out>, 
    twosided=<value optimized out>) at OgreSceneManager.cpp:5264
#23 0x04fff74e in Ogre::SceneManager::renderShadowVolumesToStencil (this=<value 
optimized out>, 
    light=<value optimized out>, camera=<value optimized out>, 
calcScissor=<value optimized out>)
    at OgreSceneManager.cpp:5206
#24 0x04ff8bfc in 
Ogre::SceneManager::renderModulativeStencilShadowedQueueGroupObjects (
    this=<value optimized out>, pGroup=<value optimized out>, om=<value 
optimized out>)
    at OgreSceneManager.cpp:2292
#25 0x04ff7f8f in Ogre::SceneManager::_renderQueueGroupObjects (this=<value 
optimized out>, 
    pGroup=<value optimized out>, om=<value optimized out>) at 
OgreSceneManager.cpp:2806
#26 0x04ff8f23 in Ogre::SceneManager::renderVisibleObjectsDefaultSequence (
    this=<value optimized out>) at OgreSceneManager.cpp:2136
#27 0x04ff90ae in Ogre::SceneManager::_renderVisibleObjects (this=<value 
optimized out>)
    at OgreSceneManager.cpp:2058
#28 0x06f58a7e in Ogre::TerrainSceneManager::_renderVisibleObjects (this=<value 
optimized out>)
---Type <return> to continue, or q <return> to quit---
    at OgreTerrainSceneManager.cpp:506
#29 0x04ff971f in Ogre::SceneManager::_renderScene (this=<value optimized out>, 
    camera=<value optimized out>, vp=<value optimized out>, 
includeOverlays=<value optimized out>)
    at OgreSceneManager.cpp:1368
#30 0x06f58bb2 in Ogre::TerrainSceneManager::_renderScene (this=<value 
optimized out>, 
    cam=<value optimized out>, vp=<value optimized out>, includeOverlays=<value 
optimized out>)
    at OgreTerrainSceneManager.cpp:486
#31 0x04e6fd1f in Ogre::Camera::_renderScene (this=<value optimized out>, 
vp=<value optimized out>, 
    includeOverlays=<value optimized out>) at OgreCamera.cpp:403
#32 0x050c8411 in Ogre::Viewport::update (this=<value optimized out>) at 
OgreViewport.cpp:191
#33 0x04fce19d in Ogre::RenderTarget::updateImpl (this=<value optimized out>)
    at OgreRenderTarget.cpp:113
#34 0x04fcdafd in Ogre::RenderTarget::update (this=<value optimized out>, 
swap=<value optimized out>)
    at OgreRenderTarget.cpp:501
#35 0x00c78a0a in gazebo::UserCamera::Update (this=0x8484e10)
    at 
/home/barry/src/playerstage/code/gazebo-trunk/server/rendering/UserCamera.cc:192
#36 0x00c4d505 in gazebo::OgreAdaptor::UpdateCameras (this=0x8061068)
    at 
/home/barry/src/playerstage/code/gazebo-trunk/server/rendering/OgreAdaptor.cc:499
#37 0x00593d7a in gazebo::Simulator::MainLoop (this=0x8055738)
    at /home/barry/src/playerstage/code/gazebo-trunk/server/Simulator.cc:368
#38 0x0804a602 in main (argc=2, argv=0xbffff134)
    at /home/barry/src/playerstage/code/gazebo-trunk/server/main.cc:308
(gdb) list
565        GLuint passed;
566
567        ASSERT((span->arrayMask & SPAN_XY) == 0);
568        ASSERT(span->arrayMask & SPAN_Z);
569        
570        if (rb->GetPointer(ctx, rb, 0, 0)) {
571           /* Directly access buffer */
572           if (rb->DataType == GL_UNSIGNED_SHORT) {
573              GLushort *zbuffer = (GLushort *) rb->GetPointer(ctx, rb, x, y);
574              passed = depth_test_span16(ctx, count, zbuffer, zValues, mask);
(gdb) quit
------------------------------------------------------------------------------
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo

Reply via email to