[osg-users] LineSegmentIntersector LEAK-Problem?

Robert Osfield robert.osfield at gmail.com
Tue Jul 22 07:24:14 PDT 2008


Hi Hagen,

I believe the OSG code is OK, a quick code review just now doesn't
reveal anything that might be amiss.  I have been told of bug with
certain combinations of VS's iterator debugging.  I'm not a Windows
developers so the exact details went over my head, but my guess is
that this might be worth looking in to.

It'd also be worth just compiling your app in release and seeing if
there are any problems.

Robert.

On Tue, Jul 22, 2008 at 3:14 PM, Kaiser, Hagen (CT)
<hagen.kaiser at siemens.com> wrote:
>
> I traced the error now:
> The function LineSegementIntersector::getFirstIntersection() executes very
> well to the last bit that is:
> Dereference _intersections.begin();
>
> It jumps therefor to xtree.h :
>         reference operator*() const
>                         {       // return designated value
>                         return ((reference)**(const_iterator *)this); <--TO
> HERE
>                         }
>
> Afterwards it jumps for a reason that i dont understand to vector destructor
> and there to:
>
> void _Tidy()
>                 {       // free all storage
>                 if (_Myfirst != 0)
>                         {       // something to free, destroy and deallocate
> it
>
>  #if _HAS_ITERATOR_DEBUGGING
>                         this->_Orphan_all();
>  #endif /* _HAS_ITERATOR_DEBUGGING */
>
>                         _Destroy(_Myfirst, _Mylast);
>                         this->_Alval.deallocate(_Myfirst, _Myend -
> _Myfirst); <--THIS IS THE POINT WHERE THE PROGRAM DIES
>
>                         }
>                 _Myfirst = 0, _Mylast = 0, _Myend = 0;
>                 }
>
> So it tries somehow to free items in a vector that doesnt exist (?)
>
> A solution for my pov is:
> Instead of writing (picker is a LineSegementIntersector:
> Picker->getFirstIntersection()->dowhatwever()
> I write:
> Picker->getIntersections().begin()->dowhatever();
>
> Still think there must be a bug somewhere at microsoft stl degubimpl or
> openscenegraph.
>
> Greetings,
> Hagen
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>



More information about the osg-users mailing list