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