Hi,

I've noticed that using the 't' key to toggle texturing in osgviewer may
sometimes not work, or cause a crash.  The errant behavior is somewhat
unreliable to reproduce.

Repros:

osgviewerd --image lz.rgb
pressing 't' once disabled texturing, but further presses may not
reenable it.  After hitting 't' many times (<20), app crashes per stack
trace below.

osgviewerd cow.osg
pressing 't' will sometimes have an effect, sometimes not; have not yet
been able to make this crash tho.

I haven't explored osgviewer's other state-toggling keypresses.

WinXP SP2, VS8 SP1, Debug build of today's OSG SVN @ r7833

Cheers
-- mew



---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!

Program: ...
File: C:\Program Files\Microsoft Visual Studio 8\VC\include\xtree
Line: 245

Expression: map/set iterator not dereferencable





        msvcp80d.dll!std::_Debug_message(const wchar_t *
message=0x0115d3b8, const wchar_t * file=0x0115a360, unsigned int
line=245)  Line 24      C++
        osg29-osgd.dll!std::_Tree<std::_Tmap_traits<unsigned
int,unsigned int,std::less<unsigned
int>,std::allocator<std::pair<unsigned int const ,unsigned int> >,0>
>::const_iterator::operator*()  Line 245 + 0x17 bytes   C++
        osg29-osgd.dll!std::_Tree<std::_Tmap_traits<unsigned
int,unsigned int,std::less<unsigned
int>,std::allocator<std::pair<unsigned int const ,unsigned int> >,0>
>::const_iterator::operator->()  Line 259       C++
        osg29-osgd.dll!osg::State::pushModeList(std::map<unsigned
int,osg::State::ModeStack,std::less<unsigned
int>,std::allocator<std::pair<unsigned int const ,osg::State::ModeStack>
> > & modeMap=[5]((3552,{valid=true changed=false
last_applied_value=false ...}),(3553,{valid=true changed=false
last_applied_value=false ...}),(32879,{valid=true changed=false
last_applied_value=false ...}),(34037,{valid=true changed=false
last_applied_value=false ...}),(34067,{valid=true changed=false
last_applied_value=false ...})), const std::map<unsigned int,unsigned
int,std::less<unsigned int>,std::allocator<std::pair<unsigned int const
,unsigned int> > > & modeList=[0]())  Line 1329 + 0x1a bytes    C++
        osg29-osgd.dll!osg::State::pushStateSet(const osg::StateSet *
dstate=0x01fba3e8)  Line 210    C++
>
osg29-osgUtild.dll!osgUtil::StateGraph::moveStateGraph(osg::State &
state={...}, osgUtil::StateGraph * sg_curr=0x00000000,
osgUtil::StateGraph * sg_new=0x00000000)  Line 221 + 0x20 bytes C++
        osg29-osgUtild.dll!osgUtil::RenderLeaf::render(osg::RenderInfo &
renderInfo={...}, osgUtil::RenderLeaf * previous=0x00000000)  Line 69 +
0x15 bytes      C++
 
osg29-osgUtild.dll!osgUtil::RenderBin::drawImplementation(osg::RenderInf
o & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x00000000)  Line
428 + 0x19 bytes        C++
 
osg29-osgUtild.dll!osgUtil::RenderStage::drawImplementation(osg::RenderI
nfo & renderInfo={...}, osgUtil::RenderLeaf * & previous=0x00000000)
Line 1053       C++
        osg29-osgUtild.dll!osgUtil::RenderBin::draw(osg::RenderInfo &
renderInfo={...}, osgUtil::RenderLeaf * & previous=0x00000000)  Line 373
+ 0x17 bytes    C++
 
osg29-osgUtild.dll!osgUtil::RenderStage::drawInner(osg::RenderInfo &
renderInfo={...}, osgUtil::RenderLeaf * & previous=0x00000000, bool &
doCopyTexture=false)  Line 722  C++
        osg29-osgUtild.dll!osgUtil::RenderStage::draw(osg::RenderInfo &
renderInfo={...}, osgUtil::RenderLeaf * & previous=0x00000000)  Line 913
+ 0x1b bytes    C++
        osg29-osgUtild.dll!osgUtil::SceneView::draw()  Line 1435 + 0x34
bytes   C++
        osg29-osgViewerd.dll!osgViewer::Renderer::draw()  Line 382 + 0xf
bytes   C++
 
osg29-osgViewerd.dll!osgViewer::Renderer::operator()(osg::GraphicsContex
t * context=0x01fce1b0)  Line 573       C++
        osg29-osgd.dll!osg::GraphicsContext::runOperations()  Line 694 +
0x33 bytes      C++
 
osg29-osgd.dll!osg::RunOperations::operator()(osg::GraphicsContext *
context=0x01fce1b0)  Line 134   C++
        osg29-osgd.dll!osg::GraphicsOperation::operator()(osg::Object *
object=0x01fce1b0)  Line 50 + 0x19 bytes        C++
        osg29-osgd.dll!osg::OperationThread::run()  Line 413 + 0x26
bytes   C++
        osg29-osgd.dll!osg::GraphicsThread::run()  Line 40      C++
 
ot9-OpenThreadsd.dll!OpenThreads::ThreadPrivateActions::StartThread(void
* data=0x01fde780)  Line 112 + 0xf bytes        C++
        msvcr80d.dll!_callthreadstartex()  Line 348 + 0xf bytes C
        msvcr80d.dll!_threadstartex(void * ptd=0x01fdf360)  Line 331
C
        kernel32.dll!7c80b683()         
        [Frames below may be incorrect and/or missing, no symbols loaded
for kernel32.dll]       
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to