* 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
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org