Robert,

That did indeed fix the issue.

Thanks,

Donny


On Tue, Feb 3, 2009 at 6:43 AM, Robert Osfield <robert.osfi...@gmail.com>wrote:

> Hi Donald,
>
> This looks to be a threading issue with the text label being updated
> while being rendered.
>
> There was no text->setDataVariance(DYNAMIC) so I've added this, and
> checked this change into svn/trunk.  Could you please test.  Modified
> osgtexture2D.cpp also attached.
>
> Robert.
>
> On Tue, Feb 3, 2009 at 12:35 PM, Donald Cipperly <osgc...@gmail.com>
> wrote:
> > Building on Windows XP, Visual Studio 2008 sp1.  All builds fine, but
> > getting same warnings as Sukender (haven't tried your latest updates
> > Robert...about to rebuild with latest revision).
> >
> > Examples run good except getting crash in osgTexture2D with a "map/set
> > iterator not incrementable" error.  This error goes away if I add
> > viewer.setThreadingModel( osgViewer::Viewer::SingleThreaded ); to the
> > example...maybe thread safety issue with incrementing _currPos??
> >
> > Stack Trace:
> >
> > msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x017ab278,
> const
> > wchar_t * file=0x017aaaa8, unsigned int line=304)  Line 24    C++
> >
> >
> osg55-osgTextd.dll!std::_Tree<std::_Tmap_traits<osg::ref_ptr<osgText::Font::GlyphTexture>,osgText::Text::GlyphQuads,std::less<osg::ref_ptr<osgText::Font::GlyphTexture>
> >>,std::allocator<std::pair<osg::ref_ptr<osgText::Font::GlyphTexture> const
> > ,osgText::Text::GlyphQuads> >,0> >::const_iterator::operator==(const
> >
> std::_Tree<std::_Tmap_traits<osg::ref_ptr<osgText::Font::GlyphTexture>,osgText::Text::GlyphQuads,std::less<osg::ref_ptr<osgText::Font::GlyphTexture>
> >>,std::allocator<std::pair<osg::ref_ptr<osgText::Font::GlyphTexture> const
> > ,osgText::Text::GlyphQuads> >,0> >::const_iterator &
> > _Right=({_ptr=0xcdcdcdcd },{_glyphs=[0]() _coords=[0]()
> > _transformedCoords={...} ...}))  Line 304 + 0x17 bytes    C++
> >
> >
> osg55-osgTextd.dll!std::_Tree<std::_Tmap_traits<osg::ref_ptr<osgText::Font::GlyphTexture>,osgText::Text::GlyphQuads,std::less<osg::ref_ptr<osgText::Font::GlyphTexture>
> >>,std::allocator<std::pair<osg::ref_ptr<osgText::Font::GlyphTexture> const
> > ,osgText::Text::GlyphQuads> >,0> >::const_iterator::operator!=(const
> >
> std::_Tree<std::_Tmap_traits<osg::ref_ptr<osgText::Font::GlyphTexture>,osgText::Text::GlyphQuads,std::less<osg::ref_ptr<osgText::Font::GlyphTexture>
> >>,std::allocator<std::pair<osg::ref_ptr<osgText::Font::GlyphTexture> const
> > ,osgText::Text::GlyphQuads> >,0> >::const_iterator &
> > _Right=({_ptr=0xcdcdcdcd },{_glyphs=[0]() _coords=[0]()
> > _transformedCoords={...} ...}))  Line 316 + 0xc bytes    C++
> >
>  osg55-osgTextd.dll!osgText::Text::renderOnlyForegroundText(osg::State &
> > state={...}, const osg::Vec4f & colorMultiplier={...})  Line 1746 + 0x33
> > bytes    C++
> >      osg55-osgTextd.dll!osgText::Text::drawImplementation(osg::State &
> > state={...}, const osg::Vec4f & colorMultiplier={...})  Line 1368    C++
> >      osg55-osgTextd.dll!osgText::Text::drawImplementation(osg::RenderInfo
> &
> > renderInfo={...})  Line 1252    C++
> >      osg55-osgd.dll!osg::Drawable::draw(osg::RenderInfo &
> renderInfo={...})
> > Line 898 + 0x13 bytes    C++
> >      osg55-osgUtild.dll!osgUtil::RenderLeaf::render(osg::RenderInfo &
> > renderInfo={...}, osgUtil::RenderLeaf * previous=0x02a5f4d8)  Line 60 +
> 0x19
> > bytes    C++
> >
> > osg55-osgUtild.dll!osgUtil::RenderBin::drawImplementation(osg::RenderInfo
> &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line 419
> +
> > 0x19 bytes    C++
> >      osg55-osgUtild.dll!osgUtil::RenderBin::draw(osg::RenderInfo &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line 384
> +
> > 0x17 bytes    C++
> >
> > osg55-osgUtild.dll!osgUtil::RenderBin::drawImplementation(osg::RenderInfo
> &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line 469
> +
> > 0x35 bytes    C++
> >
> >
> osg55-osgUtild.dll!osgUtil::RenderStage::drawImplementation(osg::RenderInfo
> > & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line
> > 1253    C++
> >      osg55-osgUtild.dll!osgUtil::RenderBin::draw(osg::RenderInfo &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line 384
> +
> > 0x17 bytes    C++
> >      osg55-osgUtild.dll!osgUtil::RenderStage::drawInner(osg::RenderInfo &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8, bool &
> > doCopyTexture=false)  Line 848    C++
> >      osg55-osgUtild.dll!osgUtil::RenderStage::draw(osg::RenderInfo &
> > renderInfo={...}, osgUtil::RenderLeaf * & previous=0x02a5f4d8)  Line 1108
> +
> > 0x1b bytes    C++
> >      osg55-osgUtild.dll!osgUtil::SceneView::draw()  Line 1540 + 0x37
> > bytes    C++
> >      osg55-osgViewerd.dll!osgViewer::Renderer::draw()  Line 451 + 0xf
> > bytes    C++
> >
> > osg55-osgViewerd.dll!osgViewer::Renderer::operator()(osg::GraphicsContext
> *
> > context=0x0277fb30)  Line 693 + 0xf bytes    C++
> >      osg55-osgd.dll!osg::GraphicsContext::runOperations()  Line 688 +
> 0x33
> > bytes    C++
> >      osg55-osgd.dll!osg::RunOperations::operator()(osg::GraphicsContext *
> > context=0x0277fb30)  Line 135    C++
> >      osg55-osgd.dll!osg::GraphicsOperation::operator()(osg::Object *
> > object=0x0277fb30)  Line 50 + 0x19 bytes    C++
> >      osg55-osgd.dll!osg::OperationThread::run()  Line 413 + 0x26 bytes
> > C++
> >      osg55-osgd.dll!osg::GraphicsThread::run()  Line 40    C++
> >
> > ot11-OpenThreadsd.dll!OpenThreads::ThreadPrivateActions::StartThread(void
> *
> > data=0x026f82ac)  Line 116 + 0xf bytes    C++
> >      msvcr90d.dll!_callthreadstartex()  Line 348 + 0xf bytes    C
> >      msvcr90d.dll!_threadstartex(void * ptd=0x026f9830)  Line 331    C
> >      kernel32.dll!7c80b713()
> >
> >
> >
> > - Donny
> >
> >
> > On Mon, Feb 2, 2009 at 9:01 AM, Robert Osfield <robert.osfi...@gmail.com
> >
> > wrote:
> >>
> >> Hi All,
> >>
> >> I've now finished all the merges/bug/features fixes that is required
> >> for OpenSceneGraph-2.8 branch.  I had to do a few more changes since
> >> 2.7.9 than I would have liked due to resolve usage problems associated
> >> with the osg::TransferFunction1D class.  TransferFunction1D has had to
> >> be refactored in API and implementation.  I've done testing here at it
> >> looks to be running fine (now with .osg support that was missing in
> >> 2.7.9) but as I don't have Windows and other platforms I can't test
> >> the build there, so pretty please could people do an svn update and
> >> let me know how you get on.
> >>
> >> In prep for the branch I've now updated the version and so numbers so
> >> we now have:
> >>
> >>  OpenThreads-2.4.0, SO version 11
> >>  OpenSceneGraph-2.8.0, SO version 55
> >>
> >> I will now go across the machines I have and test out the build with a
> >> fresh checkout.  I'll also do testing on an OSX box that I can
> >> remotely log into - I'll test just the CMake/Makefile build though,
> >> won't be able to test the XCode projects.
> >>
> >> Robert.
> >> _______________________________________________
> >> osg-users mailing list
> >> osg-users@lists.openscenegraph.org
> >>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> >
> > _______________________________________________
> > osg-users mailing list
> > osg-users@lists.openscenegraph.org
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> >
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to