Re: [osg-users] CompositeViewer::removeView crashes
Hi Nick, How are you removing the view? From an event handler from within the view? If so then this will crash as you'll be deleting the object you are doing the work from. The right way remove a view is outside of frame(). Robert. On Wed, Dec 23, 2009 at 12:56 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: here is the call stack osg62-osgViewerd.dll!std::listosg::ref_ptrosgGA::GUIEventHandler,std::allocatorosg::ref_ptrosgGA::GUIEventHandler ::begin() Line 528 + 0x13 bytes C++ osg62-osgViewerd.dll!osgViewer::CompositeViewer::eventTraversal() Line 990 + 0x19 bytes C++ osg62-osgViewerd.dll!osgViewer::ViewerBase::frame(double simulationTime=1.7976931348623157e+308) Line 637 + 0xf bytes C++ KtIGLibOSGD.dll!RunThread::run() Line 11 C++ for(ViewEventsMap::iterator veitr = viewEventsMap.begin(); veitr != viewEventsMap.end(); ++veitr) { View* view = veitr-first; for(osgGA::EventQueue::Events::iterator itr = veitr-second.begin(); itr != veitr-second.end(); ++itr) { osgGA::GUIEventAdapter* event = itr-get(); for(View::EventHandlers::iterator hitr = view-getEventHandlers().begin(); hitr != view-getEventHandlers().end(); ++hitr) { (*hitr)-handleWithCheckAgainstIgnoreHandledEventsMask( *event, *view, 0, 0); } } } crashes on line 997 Nick http://www.linkedin.com/in/tnick ___ 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
Re: [osg-users] CompositeViewer::removeView crashes
Hi Robert, now I did it outside frame. Id doesnt crash anymore ... but, it hangs at _endDynamicDrawBlock-block(); void ViewerBase::renderingTraversals() after view removal I have composite viewer with setThreadingModel(osgViewer::CompositeViewer::CullThreadPerCameraDrawThreadPerContext); any ideas ? Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 3:14 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, How are you removing the view? From an event handler from within the view? If so then this will crash as you'll be deleting the object you are doing the work from. The right way remove a view is outside of frame(). Robert. On Wed, Dec 23, 2009 at 12:56 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: here is the call stack osg62-osgViewerd.dll!std::listosg::ref_ptrosgGA::GUIEventHandler,std::allocatorosg::ref_ptrosgGA::GUIEventHandler ::begin() Line 528 + 0x13 bytes C++ osg62-osgViewerd.dll!osgViewer::CompositeViewer::eventTraversal() Line 990 + 0x19 bytes C++ osg62-osgViewerd.dll!osgViewer::ViewerBase::frame(double simulationTime=1.7976931348623157e+308) Line 637 + 0xf bytes C++ KtIGLibOSGD.dll!RunThread::run() Line 11 C++ for(ViewEventsMap::iterator veitr = viewEventsMap.begin(); veitr != viewEventsMap.end(); ++veitr) { View* view = veitr-first; for(osgGA::EventQueue::Events::iterator itr = veitr-second.begin(); itr != veitr-second.end(); ++itr) { osgGA::GUIEventAdapter* event = itr-get(); for(View::EventHandlers::iterator hitr = view-getEventHandlers().begin(); hitr != view-getEventHandlers().end(); ++hitr) { (*hitr)-handleWithCheckAgainstIgnoreHandledEventsMask( *event, *view, 0, 0); } } } crashes on line 997 Nick http://www.linkedin.com/in/tnick ___ 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
Re: [osg-users] CompositeViewer::removeView crashes
Hi Nick, Try calling stopThreading() before you remove the view, and startThreading() after you've done it. Robert. On Wed, Dec 23, 2009 at 3:46 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now I did it outside frame. Id doesnt crash anymore ... but, it hangs at _endDynamicDrawBlock-block(); void ViewerBase::renderingTraversals() after view removal I have composite viewer with setThreadingModel(osgViewer::CompositeViewer::CullThreadPerCameraDrawThreadPerContext); any ideas ? Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 3:14 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Nick, How are you removing the view? From an event handler from within the view? If so then this will crash as you'll be deleting the object you are doing the work from. The right way remove a view is outside of frame(). Robert. On Wed, Dec 23, 2009 at 12:56 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: here is the call stack osg62-osgViewerd.dll!std::listosg::ref_ptrosgGA::GUIEventHandler,std::allocatorosg::ref_ptrosgGA::GUIEventHandler ::begin() Line 528 + 0x13 bytes C++ osg62-osgViewerd.dll!osgViewer::CompositeViewer::eventTraversal() Line 990 + 0x19 bytes C++ osg62-osgViewerd.dll!osgViewer::ViewerBase::frame(double simulationTime=1.7976931348623157e+308) Line 637 + 0xf bytes C++ KtIGLibOSGD.dll!RunThread::run() Line 11 C++ for(ViewEventsMap::iterator veitr = viewEventsMap.begin(); veitr != viewEventsMap.end(); ++veitr) { View* view = veitr-first; for(osgGA::EventQueue::Events::iterator itr = veitr-second.begin(); itr != veitr-second.end(); ++itr) { osgGA::GUIEventAdapter* event = itr-get(); for(View::EventHandlers::iterator hitr = view-getEventHandlers().begin(); hitr != view-getEventHandlers().end(); ++hitr) { (*hitr)-handleWithCheckAgainstIgnoreHandledEventsMask( *event, *view, 0, 0); } } } crashes on line 997 Nick http://www.linkedin.com/in/tnick ___ 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
Re: [osg-users] CompositeViewer::removeView crashes
Hi Robert, now it hangs at // dispatch the rendering threads if (_startRenderingBarrier.valid()) _startRenderingBarrier-block(); the same method Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 6:04 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, Try calling stopThreading() before you remove the view, and startThreading() after you've done it. Robert. On Wed, Dec 23, 2009 at 3:46 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now I did it outside frame. Id doesnt crash anymore ... but, it hangs at _endDynamicDrawBlock-block(); void ViewerBase::renderingTraversals() after view removal I have composite viewer with setThreadingModel(osgViewer::CompositeViewer::CullThreadPerCameraDrawThreadPerContext); any ideas ? Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 3:14 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Nick, How are you removing the view? From an event handler from within the view? If so then this will crash as you'll be deleting the object you are doing the work from. The right way remove a view is outside of frame(). Robert. On Wed, Dec 23, 2009 at 12:56 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: here is the call stack osg62-osgViewerd.dll!std::listosg::ref_ptrosgGA::GUIEventHandler,std::allocatorosg::ref_ptrosgGA::GUIEventHandler ::begin() Line 528 + 0x13 bytes C++ osg62-osgViewerd.dll!osgViewer::CompositeViewer::eventTraversal() Line 990 + 0x19 bytes C++ osg62-osgViewerd.dll!osgViewer::ViewerBase::frame(double simulationTime=1.7976931348623157e+308) Line 637 + 0xf bytes C++ KtIGLibOSGD.dll!RunThread::run() Line 11 C++ for(ViewEventsMap::iterator veitr = viewEventsMap.begin(); veitr != viewEventsMap.end(); ++veitr) { View* view = veitr-first; for(osgGA::EventQueue::Events::iterator itr = veitr-second.begin(); itr != veitr-second.end(); ++itr) { osgGA::GUIEventAdapter* event = itr-get(); for(View::EventHandlers::iterator hitr = view-getEventHandlers().begin(); hitr != view-getEventHandlers().end(); ++hitr) { (*hitr)-handleWithCheckAgainstIgnoreHandledEventsMask( *event, *view, 0, 0); } } } crashes on line 997 Nick http://www.linkedin.com/in/tnick ___ 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer::removeView crashes
HI Nick, On Wed, Dec 23, 2009 at 4:27 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now it hangs at // dispatch the rendering threads if (_startRenderingBarrier.valid()) _startRenderingBarrier-block(); the same method Is this during the the stopThreading() call? After? Have a look at what other threads are running to see where they have stopped. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer::removeView crashes
here is the code snippet mLib-getViewer()-stopThreading(); mLib-getViewer()-removeView(view); mLib-getViewer()-startThreading(); it is called before viewer-frame() let me investigate this a bit more. I tried to reproduce the problem with osgcompositeviewer example, but there is works Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 6:47 PM, Robert Osfield robert.osfi...@gmail.comwrote: HI Nick, On Wed, Dec 23, 2009 at 4:27 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now it hangs at // dispatch the rendering threads if (_startRenderingBarrier.valid()) _startRenderingBarrier-block(); the same method Is this during the the stopThreading() call? After? Have a look at what other threads are running to see where they have stopped. 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
Re: [osg-users] CompositeViewer::removeView crashes
I figured out the conditions. In the scene, I have a model that has cameras (pre-render) attached to some portion of the models via textures. When I load that model, then it hangs. Without this model, everything looks just fine Nick http://www.linkedin.com/in/tnick On Wed, Dec 23, 2009 at 7:23 PM, Trajce Nikolov nikolov.tra...@gmail.comwrote: here is the code snippet mLib-getViewer()-stopThreading(); mLib-getViewer()-removeView(view); mLib-getViewer()-startThreading(); it is called before viewer-frame() let me investigate this a bit more. I tried to reproduce the problem with osgcompositeviewer example, but there is works Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 6:47 PM, Robert Osfield robert.osfi...@gmail.comwrote: HI Nick, On Wed, Dec 23, 2009 at 4:27 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now it hangs at // dispatch the rendering threads if (_startRenderingBarrier.valid()) _startRenderingBarrier-block(); the same method Is this during the the stopThreading() call? After? Have a look at what other threads are running to see where they have stopped. 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
Re: [osg-users] CompositeViewer::removeView crashes
I had to setSceneData(0) before removing the view to make it work,. If you areintersted I can put a sample test case reproducing the problem Nick http://www.linkedin.com/in/tnick On Wed, Dec 23, 2009 at 8:47 PM, Trajce Nikolov nikolov.tra...@gmail.comwrote: I figured out the conditions. In the scene, I have a model that has cameras (pre-render) attached to some portion of the models via textures. When I load that model, then it hangs. Without this model, everything looks just fine Nick http://www.linkedin.com/in/tnick On Wed, Dec 23, 2009 at 7:23 PM, Trajce Nikolov nikolov.tra...@gmail.comwrote: here is the code snippet mLib-getViewer()-stopThreading(); mLib-getViewer()-removeView(view); mLib-getViewer()-startThreading(); it is called before viewer-frame() let me investigate this a bit more. I tried to reproduce the problem with osgcompositeviewer example, but there is works Nick http://www.linkedin.com/in/tnick Sent from Istanbul, 34, Turkey On Wed, Dec 23, 2009 at 6:47 PM, Robert Osfield robert.osfi...@gmail.com wrote: HI Nick, On Wed, Dec 23, 2009 at 4:27 PM, Trajce Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, now it hangs at // dispatch the rendering threads if (_startRenderingBarrier.valid()) _startRenderingBarrier-block(); the same method Is this during the the stopThreading() call? After? Have a look at what other threads are running to see where they have stopped. 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