Hi robert,

Thanks, I'll try this

I get a new error, without any modification in the code :  "invalid iterator
range"

and the stack trace :

>    msvcp80d.dll!std::_Debug_message(const wchar_t * message=0x00f557d8,
> const wchar_t * file=0x00f5464c, unsigned int line=1029)  Ligne 23    C++
>      msvcp80d.dll!std::_Debug_range2<char *>(char * _First=0x52a0d982, char
> * _Last=0x00ebeb24, const wchar_t * _File=0x00f5464c, unsigned int
> _Line=1029, std::random_access_iterator_tag __formal={...})  Ligne 1361 +
> 0x12 octets    C++
>      msvcp80d.dll!std::_Debug_range<char *>(char * _First=0x52a0d982, char
> * _Last=0x00ebeb24, const wchar_t * _File=0x00f5464c, unsigned int
> _Line=1029)  Ligne 1368 + 0x28 octets    C++
>      msvcp80d.dll!std::codecvt<wchar_t,char,int>::do_unshift(int &
> _State=21728932, char * _First2=0x52a0d982, char * _Last2=0x00ebeb24, char *
> & _Mid2=0x00ebebc8)  Ligne 1029 + 0x17 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x05197488, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x05197488,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x0c2dfb50, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x0c2dfb50,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x0b5a08d8, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x0b5a08d8,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x08d9c970, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x08d9c970,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x073bec20, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x073bec20,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::Switch::traverse(osg::NodeVisitor & nv={...})
> Ligne 47    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x04de5c40, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!CheckCameraCallback::operator()(osg::Node * node=0x04de5c40,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 158    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Switch &
> node={...})  Ligne 57 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Switch::accept(osg::NodeVisitor & nv={...})  Ligne
> 36 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>      osg35-osgd.dll!osg::NodeCallback::traverse(osg::Node *
> node=0x04daa100, osg::NodeVisitor * nv=0x01fc5630)  Ligne 23    C++
>      3DEM.exe!AltitudeCallback::operator()(osg::Node * node=0x04daa100,
> osg::NodeVisitor * nv=0x01fc5630)  Ligne 43    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 83 + 0x1c octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> Ligne 62 + 0x25 octets    C++
>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> Ligne 181 + 0x1c octets    C++
>
> osg35-osgUtild.dll!osgUtil::UpdateVisitor::handle_callbacks_and_traverse(osg::Node
> & node={...})  Ligne 84 + 0x25 octets    C++
>      osg35-osgUtild.dll!osgUtil::UpdateVisitor::apply(osg::Group &
> node={...})  Ligne 54 + 0x1a octets    C++
>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})  Ligne
> 38 + 0x41 octets    C++
>      osg35-osgViewerd.dll!osgViewer::Viewer::updateTraversal()  Ligne 837 +
> 0x32 octets    C++
>      osg35-osgViewerd.dll!osgViewer::ViewerBase::frame(double
> simulationTime=1.7976931348623157e+308)  Ligne 582 + 0xf octets    C++
>      3DEM.exe!EM_Modules::run()  Ligne 302    C++
>      3DEM.exe!EM_Modules::init(HWND__ * hWnd=0x00000000)  Ligne 264 + 0xb
> octets    C++
>      3DEM.exe!main(int argc=1, char * * argv=0x01f42940)  Ligne 99 + 0xd
> octets    C++
>      3DEM.exe!__tmainCRTStartup()  Ligne 586 + 0x19 octets    C
>      3DEM.exe!mainCRTStartup()  Ligne 403    C
>      kernel32.dll!7c816fd7()
>      [Les frames ci-dessous sont peut-être incorrects et/ou manquants,
> aucun symbole chargé pour kernel32.dll]


Does it confirm you idea ?

Thanks.

Regards,
   Vincent



2008/6/4 Robert Osfield <[EMAIL PROTECTED]>:

> Hi Vincent,
>
> This may be an issue with multiple computeBounds() running in a
> parallel.  In the SVN version and 2.5.0/2.5.1 there is an call to
> sceneData->getBound() that does the initialization of the bounding
> volume while the code is still single threaded - something that should
> have been done for the whole 2.x series, but alas it was missed until
> the submission on the 12th May.
>
> So could you try SVN or 2.5.1 and see how you get on.
>
> Robert.
>
> On Wed, Jun 4, 2008 at 10:15 AM, Vincent Bourdier
> <[EMAIL PROTECTED]> wrote:
> > Hi All,
> >
> > Running my application, I get a random crash I cannot identify.
> > The error is : "vector<bool> iterator not dereferencable"
> >
> > Bu I've no vector<bool> in my code, So I gess it is in osg where the
> crash
> > append.
> > Maybe I make something wrong in my code, but I've no idea where or what
> the
> > bug can be...
> >
> > The application uses a lot of OpenThreads, that modify the scenegraph,
> but
> > they looks synchronized now...
> >
> > Any idea ?
> >
> > Thank you.
> >
> > Regards,
> >    Vincent.
> >
> > Note :
> >
> >> Configuration : WinXP, osg 2.2 & 2.4
> >
> > Stack trace on crash :
> >
> >> >    msvcp80d.dll!std::_Debug_message(const wchar_t *
> message=0x103ed770,
> >> > const wchar_t * file=0x1039b478, unsigned int line=1463)  Ligne 23
>  C++
> >>
> >> osg35-osgd.dll!std::_Vb_reference<std::vector<bool,std::allocator<bool>
> >
> >> >::_Getptr()  Ligne 1463 + 0x17 octets    C++
> >>
> >> osg35-osgd.dll!std::_Vb_reference<std::vector<bool,std::allocator<bool>
> >
> >> >::operator bool()  Ligne 1453 + 0x8 octets    C++
> >>
> >>
> osg35-osgd.dll!std::_Vb_const_iterator<std::vector<bool,std::allocator<bool>
> >> > >::operator*()  Ligne 1523 + 0x24 octets    C++
> >>      osg35-osgd.dll!std::vector<bool,std::allocator<bool>
> >> >::operator[](unsigned int _Off=1)  Ligne 2010 + 0x41 octets    C++
> >>      osg35-osgd.dll!osg::Switch::computeBound()  Ligne 198 + 0x12
> >> octets    C++
> >>      osg35-osgd.dll!osg::Node::getBound()  Ligne 268 + 0x13 octets
>  C++
> >>      osg35-osgd.dll!osg::Group::computeBound()  Ligne 357 + 0x16 octets
> >> C++
> >>      osg35-osgd.dll!osg::Node::getBound()  Ligne 268 + 0x13 octets
>  C++
> >>      osg35-osgd.dll!osg::Group::computeBound()  Ligne 357 + 0x16 octets
> >> C++
> >>      osg35-osgd.dll!osg::Node::getBound()  Ligne 268 + 0x13 octets
>  C++
> >>      osg35-osgd.dll!osg::Node::isCullingActive()  Ligne 191 + 0x39
> >> octets    C++
> >>      osg35-osgd.dll!osg::CullStack::isCulled(const osg::Node &
> >> node={...})  Ligne 109 + 0x8 octets    C++
> >>      osg35-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group &
> >> node={...})  Ligne 969 + 0x12 octets    C++
> >>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})
>  Ligne
> >> 38 + 0x41 octets    C++
> >>      osg35-osgd.dll!osg::Group::traverse(osg::NodeVisitor & nv={...})
> >> Ligne 62 + 0x25 octets    C++
> >>      osg35-osgd.dll!osg::NodeVisitor::traverse(osg::Node & node={...})
> >> Ligne 181 + 0x1c octets    C++
> >>
> >>
> osg35-osgUtild.dll!osgUtil::CullVisitor::handle_cull_callbacks_and_traverse(osg::Node
> >> & node={...})  Ligne 277 + 0xf octets    C++
> >>      osg35-osgUtild.dll!osgUtil::CullVisitor::apply(osg::Group &
> >> node={...})  Ligne 981    C++
> >>      osg35-osgd.dll!osg::Group::accept(osg::NodeVisitor & nv={...})
>  Ligne
> >> 38 + 0x41 octets    C++
> >>      osg35-osgUtild.dll!osgUtil::SceneView::cullStage(const osg::Matrixd
> &
> >> projection={...}, const osg::Matrixd & modelview={...},
> osgUtil::CullVisitor
> >> * cullVisitor=0x01fb46b8, osgUtil::StateGraph * rendergraph=0x01fb4220,
> >> osgUtil::RenderStage * renderStage=0x01fb42b8)  Ligne 821 + 0x42 octets
> >> C++
> >>      osg35-osgUtild.dll!osgUtil::SceneView::cull()  Ligne 687 + 0x4e
> >> octets    C++
> >>      osg35-osgViewerd.dll!osgViewer::Renderer::cull()  Ligne 285 + 0xf
> >> octets    C++
> >>      osg35-osgViewerd.dll!osgViewer::ViewerBase::renderingTraversals()
> >> Ligne 643 + 0x15 octets    C++
> >>      osg35-osgViewerd.dll!osgViewer::ViewerBase::frame(double
> >> simulationTime=1.7976931348623157e+308)  Ligne 583 + 0xf octets    C++
> >>      3DEM.exe!EM_Modules::run()  Ligne 302    C++
> >>      3DEM.exe!EM_Modules::init(HWND__ * hWnd=0x00000000)  Ligne 264 +
> 0xb
> >> octets    C++
> >>      3DEM.exe!main(int argc=1, char * * argv=0x01f32940)  Ligne 99 + 0xd
> >> octets    C++
> >>      3DEM.exe!__tmainCRTStartup()  Ligne 586 + 0x19 octets    C
> >>      3DEM.exe!mainCRTStartup()  Ligne 403    C
> >>      kernel32.dll!7c816fd7()
> >>      [Les frames ci-dessous sont peut-être incorrects et/ou manquants,
> >> aucun symbole chargé pour kernel32.dll]
> >
> >
> >
> > _______________________________________________
> > 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
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to