Hi Melchior,

The code in osgParticle::ParticleSystemUpdater has changed very little
over the past two years, so I think it's unlikely to be a specific
problem with osgParticle in OSG2.8/svn/trunk, or if it is a problem in
osgParticle then it's been hidden away for a long time.  Unfortunately
this means we don't have some clear code changes that we could review
with the assumption that these changes are problematic.

I have just done a search on the web for discussion of the "Internal
error: pc 0xb7c495ed in read in psymtab, but not in symtab." error and
it looks like it's a gdb issue.  Whether this error is occuring
because there is some data corruption going on, or a bug in gdb I
can't answer.  If there is some kind of data corruption then it could
be why the ScopedWriteLock(ReadWriteMutex& mutex) fails.

Given there is so little go in terms of homing in on what actual cause
of the failure might be I think one has to start trying other systems
to see if they can reproduce the error.  Also try other threading
models so see if that gives any different characteristics.  Also try
the OSG examples with particle systems such as osgparticleeffects,
osgparticle and osgcatch.

Robert.

On Thu, Feb 5, 2009 at 7:21 PM, Melchior FRANZ <[email protected]> wrote:
> * 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
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to