* Melchior FRANZ -- Tuesday 03 February 2009:
> Just for the record: I've had several segfaults in OSG's
> particle code (threading related) since I updated a few
> days ago. I'll post a backtrace when I run into it again.

Linux 2.6.28.3, P4/32bit, gcc 4.3.1, osg r9631, FlightGear.
(The warnings in #20 and #21 are strange. Haven't seen that
before.)

m.



Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb678b6f0 (LWP 9931)]
osgParticle::ParticleSystemUpdater::traverse (this=0x887a668, n...@0x89fa9c0) 
at /home/m/fgfs/osg/include/OpenThreads/ReadWriteMutex:103
103             ScopedWriteLock(ReadWriteMutex& mutex):_mutex(mutex) { 
_mutex.writeLock(); }
(gdb) bt
#0  osgParticle::ParticleSystemUpdater::traverse (this=0x887a668, 
n...@0x89fa9c0) at /home/m/fgfs/osg/include/OpenThreads/ReadWriteMutex:103
#1  0xb7dc0520 in osgUtil::CullVisitor::apply (this=0x89fa9c0, no...@0x887a668) 
at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#2  0xb7f2c791 in osgParticle::ParticleSystemUpdater::accept (this=0x887a668, 
n...@0x89fa9c0) at /home/m/fgfs/osg/include/osgParticle/ParticleSystemUpdater:44
#3  0xb7bb64fa in osg::Group::traverse (this=0xd491b40, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#4  0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, no...@0xd491b40) 
at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#5  0xb7bb7f2f in osg::Group::accept (this=0xd491b40, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/Group:38
#6  0xb7bb64fa in osg::Group::traverse (this=0xcfc4340, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#7  0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, no...@0xcfc4340) 
at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#8  0xb7bb7f2f in osg::Group::accept (this=0xcfc4340, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/Group:38
#9  0xb7bb64fa in osg::Group::traverse (this=0x105066d0, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#10 0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, 
no...@0x105066d0) at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#11 0xb7bb7f2f in osg::Group::accept (this=0x105066d0, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/Group:38
#12 0xb7bb64fa in osg::Group::traverse (this=0x10506840, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#13 0xb7db9f7b in osgUtil::CullVisitor::apply (this=0x89fa9c0, 
no...@0x10506840) at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#14 0xb7bdd299 in osg::LightSource::accept (this=0x10506840, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/LightSource:38
#15 0xb7bb64fa in osg::Group::traverse (this=0x8885558, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#16 0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, no...@0x8885558) 
at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#17 0xb7bb7f2f in osg::Group::accept (this=0x8885558, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/Group:38
#18 0xb7c4804f in osg::Switch::traverse (this=0x105074d8, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Switch.cpp:40
#19 0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, 
no...@0x105074d8) at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#20 0xb7db87aa in osgUtil::CullVisitor::apply (this=0x89fa9c0, 
no...@0x105074d8) at /home/m/fgfs/osg/src/osgUtil/CullVisitor.cpp:1097
warning: (Internal error: pc 0xb7c495ee in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7c495ed in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7c495ed in read in psymtab, but not in symtab.)

#21 0xb7c495ee in osg::Switch::accept (this=warning: (Internal error: pc 
0xb7c495a0 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7c495ed in read in psymtab, but not in symtab.)

0x105074d8, n...@0x89fa9c0) at /home/m/fgfs/osg/include/osg/Switch:40
#22 0xb7bb64fa in osg::Group::traverse (this=0x89fe348, n...@0x89fa9c0) at 
/home/m/fgfs/osg/src/osg/Group.cpp:62
#23 0xb7dbf1c0 in osgUtil::CullVisitor::apply (this=0x89fa9c0, no...@0x89fe348) 
at /home/m/fgfs/osg/include/osg/NodeVisitor:191
#24 0xb7bb7f2f in osg::Group::accept (this=0x89fe348, n...@0x89fa9c0) at 
/home/m/fgfs/osg/include/osg/Group:38
#25 0xb7e49f65 in osgUtil::SceneView::cullStage (this=0x89f9d80, 
projecti...@0x89f99a0, modelvi...@0x89f9a20, cullVisitor=0x89fa9c0, 
rendergraph=0x89fa7e0, renderStage=0x89fa830, viewport=0x893ac20) at 
/home/m/fgfs/osg/src/osgUtil/SceneView.cpp:962
#26 0xb7e46b19 in osgUtil::SceneView::cull (this=0x89f9d80) at 
/home/m/fgfs/osg/src/osgUtil/SceneView.cpp:828
#27 0xb7fcb728 in osgViewer::Renderer::cull_draw (this=0x89f9cb8) at 
/home/m/fgfs/osg/src/osgViewer/Renderer.cpp:546
#28 0xb7fc6d9b in osgViewer::Renderer::operator() (this=0x208, 
context=0x8962380) at /home/m/fgfs/osg/src/osgViewer/Renderer.cpp:689
#29 0xb7baf637 in osg::GraphicsContext::runOperations (this=0x8962380) at 
/home/m/fgfs/osg/src/osg/GraphicsContext.cpp:688
#30 0xb8007e62 in osgViewer::ViewerBase::renderingTraversals (this=0x893e438) 
at /home/m/fgfs/osg/src/osgViewer/ViewerBase.cpp:772
#31 0xb800492f in osgViewer::ViewerBase::frame (this=0x893e438, 
simulationTime=1.7976931348623157e+308) at 
/home/m/fgfs/osg/src/osgViewer/ViewerBase.cpp:609
#32 0x08067e5f in fgOSMainLoop () at src/Main/fg_os_osgviewer.cxx:180
#33 0x080714ed in fgMainInit (argc=24, argv=0xbf873f24) at 
src/Main/main.cxx:1070
#34 0x08067735 in main (argc=24, argv=0xbf873f24) at src/Main/bootstrap.cxx:177



Probably not very interesting, but as I don't know what else to
post ...


(gdb) f 1
(gdb) print *this
$4 = (osgUtil::CullVisitor) {
  <osg::NodeVisitor> = {
    <osg::Referenced> = {
      _vptr.Referenced = 0xb7eafb28,
      _observerSetDataPtr = {
        _ptr = 0x0
      },
      _refCount = {
        _value = 1
      }
    },
    members of osg::NodeVisitor:
    _vptr.NodeVisitor = 0xb7eafa6c,
    _visitorType = osg::NodeVisitor::CULL_VISITOR,
    _traversalNumber = 60420,
    _frameStamp = {
      _ptr = 0x88c8210
    },
    _traversalMode = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN,
    _traversalMask = 4294965311,
    _nodeMaskOverride = 0,
    _nodePath = {
      <std::_Vector_base<osg::Node*, std::allocator<osg::Node*> >> = {
        _M_impl = {
          <std::allocator<osg::Node*>> = {
            <__gnu_cxx::new_allocator<osg::Node*>> = {<No data fields>}, <No 
data fields>},
          members of std::_Vector_base<osg::Node*, std::allocator<osg::Node*> 
>::_Vector_impl:
          _M_start = 0xa87a1df0,
          _M_finish = 0xa87a1e10,
          _M_end_of_storage = 0xa87a1e70
        }
      }, <No data fields>},
    _userData = {
      _ptr = 0x0
    },
    _databaseRequestHandler = {
      _ptr = 0x89de850
    },
    _imageRequestHandler = {
      _ptr = 0x89d56a8
    }
  },
  <osg::CullStack> = {
    <osg::CullSettings> = {
      _vptr.CullSettings = 0xb7eafb04,
      _inheritanceMask = 65535,
      _inheritanceMaskActionOnAttributeSetting = 
osg::CullSettings::DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT,
      _computeNearFar = osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR,
      _cullingMode = 15,
      _LODScale = 1,
      _smallFeatureCullingPixelSize = 2,
      _clampProjectionMatrixCallback = {
        _ptr = 0x0
      },
      _nearFarRatio = 0.00050000002374872565,
      _impostorActive = true,
      _depthSortImpostorSprites = false,
      _impostorPixelErrorThreshold = 4,
      _numFramesToKeepImpostorSprites = 10,
      _cullMask = 4294965311,
      _cullMaskLeft = 4294967295,
      _cullMaskRight = 4294967295
    },
    members of osg::CullStack:
    _occluderList = {
      <std::_Vector_base<osg::ShadowVolumeOccluder, 
std::allocator<osg::ShadowVolumeOccluder> >> = {
        _M_impl = {
          <std::allocator<osg::ShadowVolumeOccluder>> = {
            <__gnu_cxx::new_allocator<osg::ShadowVolumeOccluder>> = {<No data 
fields>}, <No data fields>},
          members of std::_Vector_base<osg::ShadowVolumeOccluder, 
std::allocator<osg::ShadowVolumeOccluder> >::_Vector_impl:
          _M_start = 0x0,
          _M_finish = 0x0,
          _M_end_of_storage = 0x0
        }
      }, <No data fields>},
    _projectionStack = {
      _value = {
        _ptr = 0x1361aa48
      },
      _stack = {
        <std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >> = {
          _M_impl = {
            <std::allocator<osg::ref_ptr<osg::RefMatrixd> >> = {
              <__gnu_cxx::new_allocator<osg::ref_ptr<osg::RefMatrixd> >> = {<No 
data fields>}, <No data fields>},
            members of std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >::_Vector_impl:
            _M_start = 0x8a80980,
            _M_finish = 0x8a80980,
            _M_end_of_storage = 0x8a80988
          }
        }, <No data fields>},
      _size = 1
    },
    _modelviewStack = {
      _value = {
        _ptr = 0x1361aae8
      },
      _stack = {
        <std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >> = {
          _M_impl = {
            <std::allocator<osg::ref_ptr<osg::RefMatrixd> >> = {
              <__gnu_cxx::new_allocator<osg::ref_ptr<osg::RefMatrixd> >> = {<No 
data fields>}, <No data fields>},
            members of std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >::_Vector_impl:
            _M_start = 0xa8b444e0,
            _M_finish = 0xa8b444e0,
            _M_end_of_storage = 0xa8b44520
          }
        }, <No data fields>},
      _size = 1
    },
    _MVPW_Stack = {
      _value = {
        _ptr = 0x0
      },
      _stack = {
        <std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >> = {
          _M_impl = {
            <std::allocator<osg::ref_ptr<osg::RefMatrixd> >> = {
              <__gnu_cxx::new_allocator<osg::ref_ptr<osg::RefMatrixd> >> = {<No 
data fields>}, <No data fields>},
            members of std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >::_Vector_impl:
            _M_start = 0xa6929b20,
            _M_finish = 0xa6929b28,
            _M_end_of_storage = 0xa6929b60
          }
        }, <No data fields>},
      _size = 3
    },
    _viewportStack = {
      _value = {
        _ptr = 0x893ac20
      },
      _stack = {
        <std::_Vector_base<osg::ref_ptr<osg::Viewport>, 
std::allocator<osg::ref_ptr<osg::Viewport> > >> = {
          _M_impl = {
            <std::allocator<osg::ref_ptr<osg::Viewport> >> = {
              <__gnu_cxx::new_allocator<osg::ref_ptr<osg::Viewport> >> = {<No 
data fields>}, <No data fields>},
            members of std::_Vector_base<osg::ref_ptr<osg::Viewport>, 
std::allocator<osg::ref_ptr<osg::Viewport> > >::_Vector_impl:
            _M_start = 0x0,
            _M_finish = 0x0,
            _M_end_of_storage = 0x0
          }
        }, <No data fields>},
      _size = 1
    },
    _referenceViewPoints = {
      _value = {
        _v = {0, 0, 0}
      },
      _stack = {
        <std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> >> = {
          _M_impl = {
            <std::allocator<osg::Vec3f>> = {
              <__gnu_cxx::new_allocator<osg::Vec3f>> = {<No data fields>}, <No 
data fields>},
            members of std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> 
>::_Vector_impl:
            _M_start = 0xa5b69780,
            _M_finish = 0xa5b6978c,
            _M_end_of_storage = 0xa5b69840
          }
        }, <No data fields>},
      _size = 2
    },
    _eyePointStack = {
      _value = {
        _v = {-2694502, -4263936.5, 3891911.75}
      },
      _stack = {
        <std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> >> = {
          _M_impl = {
            <std::allocator<osg::Vec3f>> = {
              <__gnu_cxx::new_allocator<osg::Vec3f>> = {<No data fields>}, <No 
data fields>},
            members of std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> 
>::_Vector_impl:
            _M_start = 0xa69e3100,
            _M_finish = 0xa69e3100,
            _M_end_of_storage = 0xa69e31c0
          }
        }, <No data fields>},
      _size = 1
    },
    _viewPointStack = {
      _value = {
        _v = {-2694502, -4263936.5, 3891911.75}
      },
      _stack = {
        <std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> >> = {
          _M_impl = {
            <std::allocator<osg::Vec3f>> = {
              <__gnu_cxx::new_allocator<osg::Vec3f>> = {<No data fields>}, <No 
data fields>},
            members of std::_Vector_base<osg::Vec3f, std::allocator<osg::Vec3f> 
>::_Vector_impl:
            _M_start = 0xa84e2910,
            _M_finish = 0xa84e2910,
            _M_end_of_storage = 0xa84e29d0
          }
        }, <No data fields>},
      _size = 1
    },
    _clipspaceCullingStack = {
      <std::_Vector_base<osg::CullingSet, std::allocator<osg::CullingSet> >> = {
        _M_impl = {
          <std::allocator<osg::CullingSet>> = {
            <__gnu_cxx::new_allocator<osg::CullingSet>> = {<No data fields>}, 
<No data fields>},
          members of std::_Vector_base<osg::CullingSet, 
std::allocator<osg::CullingSet> >::_Vector_impl:
          _M_start = 0x0,
          _M_finish = 0x0,
          _M_end_of_storage = 0x0
        }
      }, <No data fields>},
    _projectionCullingStack = {
      <std::_Vector_base<osg::CullingSet, std::allocator<osg::CullingSet> >> = {
        _M_impl = {
          <std::allocator<osg::CullingSet>> = {
            <__gnu_cxx::new_allocator<osg::CullingSet>> = {<No data fields>}, 
<No data fields>},
          members of std::_Vector_base<osg::CullingSet, 
std::allocator<osg::CullingSet> >::_Vector_impl:
          _M_start = 0x8a80990,
          _M_finish = 0x8a809fc,
          _M_end_of_storage = 0x8a80b40
        }
      }, <No data fields>},
    _modelviewCullingStack = {
      <std::_Vector_base<osg::CullingSet, std::allocator<osg::CullingSet> >> = {
        _M_impl = {
          <std::allocator<osg::CullingSet>> = {
            <__gnu_cxx::new_allocator<osg::CullingSet>> = {<No data fields>}, 
<No data fields>},
          members of std::_Vector_base<osg::CullingSet, 
std::allocator<osg::CullingSet> >::_Vector_impl:
          _M_start = 0xa3403988,
          _M_finish = 0xa3403e98,
          _M_end_of_storage = 0xa3404048
        }
      }, <No data fields>},
    _index_modelviewCullingStack = 2,
    _back_modelviewCullingStack = 0xa34039f4,
    _frustumVolume = -1,
    _bbCornerNear = 1,
    _bbCornerFar = 6,
    _identity = {
      _ptr = 0x89fabb8
    },
    _reuseMatrixList = {
      <std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >> = {
        _M_impl = {
          <std::allocator<osg::ref_ptr<osg::RefMatrixd> >> = {
            <__gnu_cxx::new_allocator<osg::ref_ptr<osg::RefMatrixd> >> = {<No 
data fields>}, <No data fields>},
          members of std::_Vector_base<osg::ref_ptr<osg::RefMatrixd>, 
std::allocator<osg::ref_ptr<osg::RefMatrixd> > >::_Vector_impl:
          _M_start = 0xa2fc2d10,
          _M_finish = 0xa2fc39d4,
          _M_end_of_storage = 0xa2fc3d10
        }
      }, <No data fields>},
    _currentReuseMatrixIndex = 60
  },
  members of osgUtil::CullVisitor:
  _rootStateGraph = {
    _ptr = 0x89fa7e0
  },
  _currentStateGraph = 0x19e61888,
  _rootRenderStage = {
    _ptr = 0x89fa830
  },
  _currentRenderBin = 0x89fa830,
  _renderBinStack = {
    <std::_Vector_base<osgUtil::RenderBin*, std::allocator<osgUtil::RenderBin*> 
>> = {
      _M_impl = {
        <std::allocator<osgUtil::RenderBin*>> = {
          <__gnu_cxx::new_allocator<osgUtil::RenderBin*>> = {<No data fields>}, 
<No data fields>},
        members of std::_Vector_base<osgUtil::RenderBin*, 
std::allocator<osgUtil::RenderBin*> >::_Vector_impl:
        _M_start = 0x8a806f0,
        _M_finish = 0x8a806f0,
        _M_end_of_storage = 0x8a806f8
      }
    }, <No data fields>},
  _computed_znear = 3.4028234663852886e+38,
  _computed_zfar = -3.4028234663852886e+38,
  _reuseRenderLeafList = {
    <std::_Vector_base<osg::ref_ptr<osgUtil::RenderLeaf>, 
std::allocator<osg::ref_ptr<osgUtil::RenderLeaf> > >> = {
      _M_impl = {
        <std::allocator<osg::ref_ptr<osgUtil::RenderLeaf> >> = {
          <__gnu_cxx::new_allocator<osg::ref_ptr<osgUtil::RenderLeaf> >> = {<No 
data fields>}, <No data fields>},
        members of std::_Vector_base<osg::ref_ptr<osgUtil::RenderLeaf>, 
std::allocator<osg::ref_ptr<osgUtil::RenderLeaf> > >::_Vector_impl:
        _M_start = 0xa34496b8,
        _M_finish = 0xa344a600,
        _M_end_of_storage = 0xa344a6b8
      }
    }, <No data fields>},
  _currentReuseRenderLeafIndex = 36,
  _numberOfEncloseOverrideRenderBinDetails = 0,
  _renderInfo = {
    _state = {
      _ptr = 0x89f7e50
    },
    _view = {
      <osg::Observer> = {
        _vptr.Observer = 0xb802f488
      },
      members of osg::observer_ptr<osg::View>:
      _ptr = 0x893e478
    },
    _cameras = {
      <std::_Vector_base<osg::Camera*, std::allocator<osg::Camera*> >> = {
        _M_impl = {
          <std::allocator<osg::Camera*>> = {
            <__gnu_cxx::new_allocator<osg::Camera*>> = {<No data fields>}, <No 
data fields>},
          members of std::_Vector_base<osg::Camera*, 
std::allocator<osg::Camera*> >::_Vector_impl:
          _M_start = 0x0,
          _M_finish = 0x0,
          _M_end_of_storage = 0x0
        }
      }, <No data fields>},
    _userData = {
      _ptr = 0x0
    }
  },
  _nearPlaneCandidateMap = {
    _M_t = {
      _M_impl = {
        <std::allocator<std::_Rb_tree_node<std::pair<const double, 
osgUtil::CullVisitor::MatrixPlanesDrawables> > >> = {
          <__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const double, 
osgUtil::CullVisitor::MatrixPlanesDrawables> > >> = {<No data fields>}, <No 
data fields>},
        members of std::_Rb_tree<double, std::pair<const double, 
osgUtil::CullVisitor::MatrixPlanesDrawables>, std::_Select1st<std::pair<const 
double, osgUtil::CullVisitor::MatrixPlanesDrawables> >, std::less<double>, 
std::allocator<std::pair<const double, 
osgUtil::CullVisitor::MatrixPlanesDrawables> > 
>::_Rb_tree_impl<std::less<double>, false>:
        _M_key_compare = {
          <std::binary_function<double, double, bool>> = {<No data fields>}, 
<No data fields>},
        _M_header = {
          _M_color = std::_S_red,
          _M_parent = 0x0,
          _M_left = 0x89fab90,
          _M_right = 0x89fab90
        },
        _M_node_count = 0
      }
    }
  }
}

m.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to