Hi Stephan, Thanks for the explanations, these have allowed me to recreate at one of the problems you've seen - osgcamera -2 -s cow.osg doesn't exit on the close of the last window for me. I'm sure this used to work, so not sure what is up. osgcamera -2 -c cow.osg also doesn't allow me to close the first window.
All variations close correctly when pressing escape. I haven't investigated any further yet so can't say what might be up. Robert. On 5/20/07, Stephan Huber <[EMAIL PROTECTED]> wrote:
Hi, I am experiencing some problems with the different threading modes, particular when starting an app or closing one or all windows of a viewer. For my testing I am using "osgcamera -2 cow.osg" with the several flags for the threading mode (-s, -g, -c, -d): Here are my observations: + when in SingleThreaded mode I can close all windows, but the app did not terminate (_done is always false), I get some warnings in the console: "Warning: GraphicsWindow not realized, cannot do makeCurrent." + when in DrawThreadPerContext-mode I get a deadlock when closing one window. Here are the stack-traces of the threads: Thread 1: #2 0x000b3f83 in OpenThreads::Thread::YieldCurrentThread at PThread.c++:876 #3 0x010a40e9 in osg::OperationsThread::cancel at GraphicsThread.cpp:126 #4 0x010a1254 in osg::GraphicsContext::setGraphicsThread at GraphicsContext.cpp:321 #5 0x010a2aea in osg::GraphicsContext::close at GraphicsContext.cpp:186 #6 0x204b1818 in osgViewer::GraphicsWindowCarbon::checkEvents at GraphicsWindowCarbon.cpp:1163 #7 0x204ab2b0 in osgViewer::Viewer::eventTraversal at Viewer.cpp:1777 #8 0x204af5eb in osgViewer::Viewer::frame at Viewer.cpp:1698 #9 0x000046f5 in main at osgcamera.cpp:326 Thread 2-7: #2 0x000b4dd9 in OpenThreads::Mutex::lock at PThreadMutex.c++:122 #3 0x204bf096 in OpenThreads::ScopedLock<OpenThreads::Mutex>::ScopedLock at ScopedLock:31 #4 0x204dd1d4 in ViewerDoubleBufferedRenderingOperation::draw at Viewer.cpp:368 #5 0x204ddaa4 in ViewerDoubleBufferedRenderingOperation::operator() at Viewer.cpp:556 #6 0x010a19f6 in osg::GraphicsContext::runOperations at GraphicsContext.cpp:426 #7 0x204d55fc in ViewerRunOperations::operator() at Viewer.cpp:986 #8 0x010a445b in osg::OperationsThread::run at GraphicsThread.cpp:290 #9 0x000b51b0 in OpenThreads::ThreadPrivateActions::StartThread at PThread.c++:158 +when in CullThreadPerCameraDrawThreadPerContext-mode, all the windows are created but no rendering is visible, instead the app is locked: Thread 1: #2 0x000b4478 in OpenThreads::Barrier::block at PThreadBarrier.c++:182 #3 0x204aeb1f in osgViewer::Viewer::renderingTraversals at Viewer.cpp:2149 #4 0x204af60f in osgViewer::Viewer::frame at Viewer.cpp:1700 #5 0x000046f5 in main at osgcamera.cpp:326 Thread 2-7: #0 0x90025027 in semaphore_wait_signal_trap #1 0x90029014 in pthread_cond_wait #2 0x000b4478 in OpenThreads::Barrier::block at PThreadBarrier.c++:182 #3 0x010a3d9e in osg::BarrierOperation::operator() at GraphicsThread.cpp:339 #4 0x010a445b in osg::OperationsThread::run at GraphicsThread.cpp:290 #5 0x000b51b0 in OpenThreads::ThreadPrivateActions::StartThread at PThread.c++:158 #6 0x90024987 in _pthread_body Thread 8-12: #2 0x000b4dd9 in OpenThreads::Mutex::lock at PThreadMutex.c++:122 #3 0x204bf096 in OpenThreads::ScopedLock<OpenThreads::Mutex>::ScopedLock at ScopedLock:31 #4 0x204dd1d4 in ViewerDoubleBufferedRenderingOperation::draw at Viewer.cpp:368 #5 0x204ddaa4 in ViewerDoubleBufferedRenderingOperation::operator() at Viewer.cpp:556 #6 0x010a19f6 in osg::GraphicsContext::runOperations at GraphicsContext.cpp:426 #7 0x204d55fc in ViewerRunOperations::operator() at Viewer.cpp:986 #8 0x010a445b in osg::OperationsThread::run at GraphicsThread.cpp:290 #9 0x000b51b0 in OpenThreads::ThreadPrivateActions::StartThread at PThread.c++:158 #10 0x90024987 in _pthread_body + when in CullDrawThreadPerContext-mode everything is ok. I did check the GraphicsWindowCarbon-implementation aginst the others, but could not spot any differences when closing a window. Does osgcamera work on other platforms when closing one or all rendering-windows? (For this I modified the dimensions and placement of the 6 windows, so I can click the close-box of the window) I did my tests on a MacBookPro with a CoreDuo and a single display on Mac OS X 10.4.9 Stephan _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
