Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: not a problem at all. was my pleasure. Well that places you in well it to the sadomasochist category! :-) Also, I turn off the notifications in the build and I am experiencing higher frame rates as well I wish I could claim some clever coding for this, but it's all down to avoiding MS implementations of iostreams... Thanks for your efforts on testing. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
LOL :) -Nick On Sun, Feb 21, 2010 at 12:42 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: not a problem at all. was my pleasure. Well that places you in well it to the sadomasochist category! :-) Also, I turn off the notifications in the build and I am experiencing higher frame rates as well I wish I could claim some clever coding for this, but it's all down to avoiding MS implementations of iostreams... Thanks for your efforts on testing. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I've just tested with the lastest trunk and all continues working fine on macosx, so happy dev-releasing from my side :). Rafa. On Sun, Feb 21, 2010 at 11:46 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: LOL :) -Nick On Sun, Feb 21, 2010 at 12:42 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Nick, On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: not a problem at all. was my pleasure. Well that places you in well it to the sadomasochist category! :-) Also, I turn off the notifications in the build and I am experiencing higher frame rates as well I wish I could claim some clever coding for this, but it's all down to avoiding MS implementations of iostreams... Thanks for your efforts on testing. 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 -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, sorry for the late reply. I was really till late yesterday evening at work, so I finish the test today just now. and yes, no more crash, all work great !! :)) ... So my port to the latest from the trunk is successful Thanks !! -Nick On Fri, Feb 19, 2010 at 9:54 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, I've been contemplating the crash you have and the mismatch of pointers, which is little doubt down to multiple inheritance causing difference between the osg::Referenced location and the pointer to the actual object (class T for the template). This difference means that casting the pointer the osg::Referenced to the class T will result in an error, and the crash you are seeing is almost certainly down to this. Give that the _ptr is of class T then it should be safe to use this to check for the referenceCount() so one fix would be just to use if (_ptr-referencedCount()==0). Given the role of objectDeleted() I don't think it really required to double check, the pointer really just can be reset. Could you do an svn update to the new mods that I've made to include/osg/observer_ptr and see if you're modified osgviewer and the standard osgcompositeviewer crash. I've attached the file. I'm optimistic that this bug is now squished so I'll move on to other build issues. Fingers crossed you'll report back success :-) 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi, My tests today were sucessful. At the moment I'm not aware of all improvements in 2.9.7, but it seems that my application has some fps more than before. and loading of new terrain tiles is smoother. Thank you! Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=24526#24526 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Sat, Feb 20, 2010 at 10:57 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, sorry for the late reply. I was really till late yesterday evening at work, so I finish the test today just now. and yes, no more crash, all work great !! :)) ... So my port to the latest from the trunk is successful Good news. Thanks for you patience in testing all the various changes. Time for me to move on to the fixing the next report crash ;-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Torben, On Sat, Feb 20, 2010 at 1:32 PM, Torben Dannhauer z...@saguaro-fight-club.de wrote: My tests today were sucessful. At the moment I'm not aware of all improvements in 2.9.7, but it seems that my application has some fps more than before. and loading of new terrain tiles is smoother. Thanks for the testing. I wouldn't expect too many differences in performance, it's the edge cases which should be improved, so when you have lots of threads in action and when you have lots of tiles being expired and loaded such as when moving quickly around your terrain. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, yes, because it is a visual system for flight simulators with HIres Data (up to 25cm per pixel): yes, there are a lot of tiles comming in and out ;) but some minutes ago, a problem rised : if I change my manipulator from osgviewer default manipulator, I get a crash in transform.cpp line 83: code const_castNode*(nodePath[i])-accept(*this); /code nodePath is 0x000.. Have you any ideas? Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=24535#24535 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Toben, On Sat, Feb 20, 2010 at 5:07 PM, Torben Dannhauer z...@saguaro-fight-club.de wrote: but some minutes ago, a problem rised : if I change my manipulator from osgviewer default manipulator, I get a crash in transform.cpp line 83: code const_castNode*(nodePath[i])-accept(*this); /code nodePath is 0x000.. Have you any ideas? I believe this is probably the same problem reported my Martin Naylor earlier. Which manipulator is failing? The std::vectorosg::oserver_ptrNode seems be getting null pointers now whereas before it wasn't. I'm note sure why this is yet, am investigating. My first stop will be stop replace this local std::vector with the osg::OberseverNodePath as this will be able manage the path at a high level and track when nodes are deleted automatically with the changes of the nodePath itself from having 0 pointers in it. Robert. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Torben, On Sat, Feb 20, 2010 at 5:21 PM, Robert Osfield robert.osfi...@gmail.com wrote: The std::vectorosg::oserver_ptrNode seems be getting null pointers now whereas before it wasn't. I'm note sure why this is yet, am investigating. My first stop will be stop replace this local std::vector with the osg::OberseverNodePath as this will be able manage the path at a high level and track when nodes are deleted automatically with the changes of the nodePath itself from having 0 pointers in it. And my first stop worked just fine, osgsimulation is now working just fine. Could you please do an svn update and let me know if it fixes things are your end as well. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, yes the problem is solved, thank! Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=24541#24541 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
On 2/19/2010 3:16 PM, Torben Dannhauer wrote: Hi Robert, compiling under Vista32, VS2005 SP1 works. Same here, Vista64, VS2005sp1. But I get some warnings, e.g. - CullSettings.cpp Line 31: Warnung osg::CullSettings::VariablesMask in unsigned int, signed/unsigned-Konflikt. Same here. 1CullSettings.cpp 1.\CullSettings.cpp(31) : warning C4245: '=' : conversion from 'osg::CullSettings::VariablesMask' to 'unsigned int', signed/unsigned mismatch - graph_array.h line 106: 'triangle_stripper::detail::graph_arraynodetype::node': Assignmentoperator could not be generated - policy.h line 41: 'triangle_stripper::detail::policy': Assignmentoperator could not be generated I did not incur these warnings. I haven't followed if they have already been fixed. Other warnings here: 59Depth.cpp 70C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(533) : warning C4121: 'osgDB::ObjectSerializerC,P' : alignment of a member was sensitive to packing 70with 70[ 70C=MyClass, 70P=osg::Node 70] 70.\NodeTrackerCallback.cpp(14) : see reference to class template instantiation 'osgDB::ObjectSerializerC,P' being compiled 70with 70[ 70C=MyClass, 70P=osg::Node 70] 70C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(534) : warning C4121: 'osgDB::ObjectSerializerC,P' : alignment of a member was sensitive to packing 70with 70[ 70C=MyClass, 70P=osg::Node 70] 70NodeCallback.cpp 70C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(533) : warning C4121: 'osgDB::ObjectSerializerC,P' : alignment of a member was sensitive to packing 70with 70[ 70C=MyClass, 70P=osg::NodeCallback 70] 70.\NodeCallback.cpp(14) : see reference to class template instantiation 'osgDB::ObjectSerializerC,P' being compiled 70with 70[ 70C=MyClass, 70P=osg::NodeCallback 70] 70C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(534) : warning C4121: 'osgDB::ObjectSerializerC,P' : alignment of a member was sensitive to packing 70with 70[ 70C=MyClass, 70P=osg::NodeCallback 70] I can test any specific examples you feel need testing at this point, but I don't think I'll have time to run through all of them. -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Chris, et. al, I won't attempt to address warnings right now as I'd like to keep the code as stable as possible so we are all testing the same code. This is only a developer release. Once 2.9.7 is out we can start looking at addressing warnings, personally I have a bucket load of submissions and bugs to look at so I'd appreciate others in the community diving in on the warning front. For now, testing the build of the OSG and running the examples, and users own apps would be really useful. It's only with wider testing do we get to really find out how well are doing w.r.t. stability and performance across platforms. Cheers, Robert. On Sat, Feb 20, 2010 at 7:25 PM, Chris 'Xenon' Hanson xe...@alphapixel.com wrote: On 2/19/2010 3:16 PM, Torben Dannhauer wrote: Hi Robert, compiling under Vista32, VS2005 SP1 works. Same here, Vista64, VS2005sp1. But I get some warnings, e.g. - CullSettings.cpp Line 31: Warnung osg::CullSettings::VariablesMask in unsigned int, signed/unsigned-Konflikt. Same here. 1CullSettings.cpp 1.\CullSettings.cpp(31) : warning C4245: '=' : conversion from 'osg::CullSettings::VariablesMask' to 'unsigned int', signed/unsigned mismatch ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, not a problem at all. was my pleasure. Also, I turn off the notifications in the build and I am experiencing higher frame rates as well -Nick On Sat, Feb 20, 2010 at 6:33 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Sat, Feb 20, 2010 at 10:57 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, sorry for the late reply. I was really till late yesterday evening at work, so I finish the test today just now. and yes, no more crash, all work great !! :)) ... So my port to the latest from the trunk is successful Good news. Thanks for you patience in testing all the various changes. Time for me to move on to the fixing the next report crash ;-) 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Strangely, ffmpeg in my project works fine ... (in OSG 2.9.7) Here the log: ffmpeg:: open (/ home/maximum2000/LABS/transgaz/video/utz1.mov) size (1024, 768) aspect ratio 1 Attaching FFmpegAudioStream Finished FFmpegImageStream:: run () FFmpegAudioStream:: setAudioSink (0) Assigning 0 Calling av_close_input_file (0xe495a40) ... And the video plays fine) Maxim Gammer 2010/2/19 Robert Osfield robert.osfi...@gmail.com On Fri, Feb 19, 2010 at 7:46 AM, Maxim Gammer maxgam...@gmail.com wrote: Compiled fine on Ubuntu\Kubuntu 9.10 i386 amd64 (gcc version 4.4.1) All my programs work fine. Excellent news. Confidence in 2.9.7 being solid just went up ;-) Just gotta sort out that pesky OSX crash now! 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Maxim, 2010/2/19 Maxim Gammer maxgam...@gmail.com: Strangely, ffmpeg in my project works fine ... (in OSG 2.9.7) Here the log: ffmpeg:: open (/ home/maximum2000/LABS/transgaz/video/utz1.mov) size (1024, 768) aspect ratio 1 Attaching FFmpegAudioStream Finished FFmpegImageStream:: run () FFmpegAudioStream:: setAudioSink (0) Assigning 0 Calling av_close_input_file (0xe495a40) ... And the video plays fine) ffmpeg works fine for me too (Kubuntu 9.04). I believe the ffmpeg finding of Rafa's was just co-incindence or the straw that broke the camels back and not directly related to the issue. I suspect OSX is destructing the app in an order that is causing problems i.e. the static before the plugin gets unloaded. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Rafa, I really is starting to look like the static osg::Observer::getGlobalObserverMutex() is being destructed before the scene graph which is a bit bizzare. Is this only happening in your app? Could you try the OSG examples? Is there anything specific you do about clean up in your app? Robert. On Fri, Feb 19, 2010 at 8:28 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: Hi Robert, Well.. the crash has moved to other place, I think you are right about destructing order, I have a couple of Singletons on my app, and I think that things are messing up order destruction :(. Here's the new stack trace Thread 0 Crashed: 0 libosg.63.dylib 0x0051a618 osg::Referenced::signalObserversAndDelete(bool, bool, bool) const + 72 1 libosg.63.dylib 0x00510823 osg::Program::~Program() + 483 2 libosg.63.dylib 0x00552040 std::_Rb_treestd::pairosg::StateAttribute::Type, unsigned int, std::pairstd::pairosg::StateAttribute::Type, unsigned int const, std::pairosg::ref_ptrosg::StateAttribute, unsigned int , std::_Select1ststd::pairstd::pairosg::StateAttribute::Type, unsigned int const, std::pairosg::ref_ptrosg::StateAttribute, unsigned int , std::lessstd::pairosg::StateAttribute::Type, unsigned int , std::allocatorstd::pairstd::pairosg::StateAttribute::Type, unsigned int const, std::pairosg::ref_ptrosg::StateAttribute, unsigned int ::_M_erase(std::_Rb_tree_nodestd::pairstd::pairosg::StateAttribute::Type, unsigned int const, std::pairosg::ref_ptrosg::StateAttribute, unsigned int *) + 160 3 libosg.63.dylib 0x0054da0f osg::StateSet::clear() + 207 4 libosg.63.dylib 0x0054e572 osg::StateSet::~StateSet() + 34 5 libosg.63.dylib 0x004f3a23 osg::Node::setStateSet(osg::StateSet*) + 387 6 libosg.63.dylib 0x004f3f9a osg::Node::~Node() + 42 7 libosg.63.dylib 0x0048033c osg::Geode::~Geode() + 268 8 libosg.63.dylib 0x004c0613 osg::Group::~Group() + 211 9 libcrsFX.dylib 0x00063069 crsFX::CameraHUD::~CameraHUD() + 57 10 libosg.63.dylib 0x004c0613 osg::Group::~Group() + 211 11 libcrsFX.dylib 0x0006ab4f crsFX::HUDEffect::~HUDEffect() + 95 12 libcrsFX.dylib 0x000657e0 std::_Rb_treestd::basic_stringchar, std::char_traitschar, std::allocatorchar , std::pairstd::basic_stringchar, std::char_traitschar, std::allocatorchar const, osg::ref_ptrosg::Object , std::_Select1ststd::pairstd::basic_stringchar, std::char_traitschar, std::allocatorchar const, osg::ref_ptrosg::Object , std::lessstd::basic_stringchar, std::char_traitschar, std::allocatorchar , std::allocatorstd::pairstd::basic_stringchar, std::char_traitschar, std::allocatorchar const, osg::ref_ptrosg::Object ::_M_erase(std::_Rb_tree_nodestd::pairstd::basic_stringchar, std::char_traitschar, std::allocatorchar const, osg::ref_ptrosg::Object *) + 176 13 libcrsFXDB.dylib 0x00f1341c crsFXDB::xml::XMLRegistry::~XMLRegistry() + 44 14 osgdb_cfx.so 0x00ecd1d0 __tcf_0 + 112 15 libSystem.B.dylib 0x94ffcdbc __cxa_finalize + 241 16 libSystem.B.dylib 0x94ffccb0 exit + 33 17 crsFXLauncher 0x82bf start + 63 Next refactor will be using osg XML support and remove mine, so this XMLRegistry singleton will disappear. Rafa. On Fri, Feb 19, 2010 at 9:18 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Maxim, 2010/2/19 Maxim Gammer maxgam...@gmail.com: Strangely, ffmpeg in my project works fine ... (in OSG 2.9.7) Here the log: ffmpeg:: open (/ home/maximum2000/LABS/transgaz/video/utz1.mov) size (1024, 768) aspect ratio 1 Attaching FFmpegAudioStream Finished FFmpegImageStream:: run () FFmpegAudioStream:: setAudioSink (0) Assigning 0 Calling av_close_input_file (0xe495a40) ... And the video plays fine) ffmpeg works fine for me too (Kubuntu 9.04). I believe the ffmpeg finding of Rafa's was just co-incindence or the straw that broke the camels back and not directly related to the issue. I suspect OSX is destructing the app in an order that is causing problems i.e. the static before the plugin gets unloaded. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
PERFECT! :) Thanks Robert! now closes ok, and all is running perfect. Singletons sometimes makes life easier.. sometimes not! :) Rafa. On Fri, Feb 19, 2010 at 9:50 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Rafa, Based on the assumption that there is ordering of destruction issue with the static Observer::getGlobalObserverMutex() I have tweaked src/osg/Referenced.cpp to have the lines: // helper class for forcing the global mutex to be constructed when the library is loaded. struct InitGlobalMutexes { InitGlobalMutexes() { OSG_NOTICEForcing the creation of the Referenced::getGlobalReferencedMutex()std::endl; Referenced::getGlobalReferencedMutex(); OSG_NOTICEForcing the creation of the Observer::getGlobalObserverMutex()std::endl; Observer::getGlobalObserverMutex(); } }; static InitGlobalMutexes s_initGlobalMutexes; Which basically creates a proxy object to force the initializations of the static mutexes, and hopefully this will be done before any of the scene graph gets constructed, and with these enforced ordering hopefully the order of destruction will be sorted out too. The modified src/osg/Referenced.cpp is now attached. The change to ObserverNodePath.cpp can now be reverted as it's taught us all we can get from this particular change. With your own changes at your end it would be good to toggle it the changes on/off so we can re-enable the error and test changes in the OSG to see if we can fix it. I'm keen to see a fix on the OSG side if we can as it may well be not just your app that is affected and could well be a wider issue that lurks underneath apps unseen most of the time and then pops up randomly. Thanks for your help, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
FYI, I've used the Referenced.cpp file you posted to get things running. On Fri, Feb 19, 2010 at 9:57 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: PERFECT! :) Thanks Robert! now closes ok, and all is running perfect. Singletons sometimes makes life easier.. sometimes not! :) Rafa. On Fri, Feb 19, 2010 at 9:50 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Rafa, Based on the assumption that there is ordering of destruction issue with the static Observer::getGlobalObserverMutex() I have tweaked src/osg/Referenced.cpp to have the lines: // helper class for forcing the global mutex to be constructed when the library is loaded. struct InitGlobalMutexes { InitGlobalMutexes() { OSG_NOTICEForcing the creation of the Referenced::getGlobalReferencedMutex()std::endl; Referenced::getGlobalReferencedMutex(); OSG_NOTICEForcing the creation of the Observer::getGlobalObserverMutex()std::endl; Observer::getGlobalObserverMutex(); } }; static InitGlobalMutexes s_initGlobalMutexes; Which basically creates a proxy object to force the initializations of the static mutexes, and hopefully this will be done before any of the scene graph gets constructed, and with these enforced ordering hopefully the order of destruction will be sorted out too. The modified src/osg/Referenced.cpp is now attached. The change to ObserverNodePath.cpp can now be reverted as it's taught us all we can get from this particular change. With your own changes at your end it would be good to toggle it the changes on/off so we can re-enable the error and test changes in the OSG to see if we can fix it. I'm keen to see a fix on the OSG side if we can as it may well be not just your app that is affected and could well be a wider issue that lurks underneath apps unseen most of the time and then pops up randomly. Thanks for your help, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
On Fri, Feb 19, 2010 at 8:58 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: FYI, I've used the Referenced.cpp file you posted to get things running. Excellent news. I've checked this change in (minus the debugging messages.) Could you remove all the local changes your made and update to svn/trunk to make sure that everything now works with svn/trunk. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
All working fine now! Rafa. On Fri, Feb 19, 2010 at 10:03 AM, Robert Osfield robert.osfi...@gmail.com wrote: On Fri, Feb 19, 2010 at 8:58 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: FYI, I've used the Referenced.cpp file you posted to get things running. Excellent news. I've checked this change in (minus the debugging messages.) Could you remove all the local changes your made and update to svn/trunk to make sure that everything now works with svn/trunk. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
On Fri, Feb 19, 2010 at 9:28 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: All working fine now! Thanks, a great relief :-) ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I'm also getting a crash when exiting. This is on Windows XP, displaying cessna.osg in osgviewer. The crash is deep inside the a Windows DLL, but I get an error message stating that heap corruption is the likely cause. I'll keep digging... ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Just checkout the latest build this around 10.30am and am receiving the following build errors under Windows 7 and VS2008. I did check the box wrappers under cmake and these are all wrapper errors. Hope it helps. Regards Martin. Error 62 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::removeDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?removedotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.objWrapper osgDB Error 63 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::addDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?adddotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.objWrapper osgDB Error 64 fatal error LNK1120: 2 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgwrapper _osgDBd.dll Wrapper osgDB Error 65 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::update(class osg::Node ) (?upd...@animationmaterialcallback@osgPresentation@@qaexaavn...@osg@@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 66 error LNK2019: unresolved external symbol public: double __thiscall osgPresentation::AnimationMaterialCallback::getAnimationTime(void)const (?getanimationt...@animationmaterialcallback@osgPresentation@@QBENXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 67 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::setPause(bool) (?setpa...@animationmaterialcallback@osgPresentation@@qae...@z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 68 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::reset(void) (?re...@animationmaterialcallback@osgPresentation@@QAEXXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 69 error LNK2001: unresolved external symbol public: virtual void __thiscall osgPresentation::AnimationMaterialCallback::operator()(class osg::Node *,class osg::NodeVisitor *) (??ranimationmaterialcallb...@osgpresentation@@uaexpavn...@osg@@PAVNodeVisit o...@3@@Z) AnimationMaterial.obj Wrapper osgPresentation Error 70 fatal error LNK1120: 5 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgwrapper _osgPresentationd.dll Wrapper osgPresentation Error 71 error LNK2019: unresolved external symbol public: void __thiscall osgUtil::IncrementalCompileOperation::CompileSet::buildCompileMap(class std::setclass osg::GraphicsContext *,struct std::lessclass osg::GraphicsContext *,class std::allocatorclass osg::GraphicsContext * ,unsigned int) (?buildcompile...@compileset@incrementalcompileoperat...@osgutil@@QAEXAAV?$s e...@pavgraphicscontext@osg@@u?$l...@pavgraphicscontext@osg@@@std@@V?$allocato r...@pavgraphicscontext@osg@@@4@@std@@i...@z) referenced in function public: __thiscall `anonymous namespace'::reflector218::reflector218(void) (??0reflector...@?a0xef191a64@@q...@xz) IncrementalCompileOperation.obj Wrapper osgUtil Error 72 fatal error LNK1120: 1 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgwrapper _osgUtild.dll Wrapper osgUtil -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: 19 February 2010 07:21 To: OpenSceneGraph Users Subject: Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Robert Osfield wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). r11083 looks OK here with some of our apps, Debian sid 32-bit, g++ 4.4.3. rgds jp Thanks for all the testing, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
HI Nick, I'm afraid I don't have ideas about the cause yet, the line of code you quote where the crash occurs looks fine, the objects in play should all still be valid. Does the error occur on standard OSG examples? Does both the release and debug builds crash on exit? Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, It wasnt crashing before. Only now with the latest from the trunk. Let me try the examples and will get back to you -Nick On Fri, Feb 19, 2010 at 4:00 PM, Robert Osfield robert.osfi...@gmail.comwrote: HI Nick, I'm afraid I don't have ideas about the cause yet, the line of code you quote where the crash occurs looks fine, the objects in play should all still be valid. Does the error occur on standard OSG examples? Does both the release and debug builds crash on exit? Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Subject: Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
\..\..\bin\osgPlugins-2.9.7\osgwrapper _osgUtild.dll Wrapper osgUtil -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: 19 February 2010 07:21 To: OpenSceneGraph Users Subject: Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
and yes. both configuration crashes -Nick On Fri, Feb 19, 2010 at 4:00 PM, Robert Osfield robert.osfi...@gmail.comwrote: HI Nick, I'm afraid I don't have ideas about the cause yet, the line of code you quote where the crash occurs looks fine, the objects in play should all still be valid. Does the error occur on standard OSG examples? Does both the release and debug builds crash on exit? Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: the examples works fine but My app was working fine as well too :) Could you modify osgviewer so that it uses a ref_ptr rather than let it be created on the stack so mimicing the usage model of your app, hopefully this will also crash then I can start looking into the issue at my end Could you also enclose the ref_ptrComposite/Viewer code into a local scope by placing { } around it. This should force destruction clean up of all the objects create on the start without those brackets, sometimes this can help isolate the effects of various effects. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi All, In order to compile on Windows with Wrappers ON, some exports are still missing on osgPresentation::AnimationMaterialCallback and osgUtil::IncrementalCompileOperation::CompileSet. Regards, Fabien -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: vendredi 19 février 2010 15:08 To: OpenSceneGraph Users Subject: Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph Hi Martin, Thanks for testing. The errors are down to two methods that I had their implementation from Registry into a dedicated companion class, alas I hadn't removed the declaration though so these methods were indeed the cause of missing symbols. I have now removed the offending methods and updated the wrappers. Could you do an svn update and let me know that the build now works fine, Thanks, Robert. On Fri, Feb 19, 2010 at 11:40 AM, Martin Naylor martin.nay...@dsl.pipex.com wrote: Hi Robert, Just checkout the latest build this around 10.30am and am receiving the following build errors under Windows 7 and VS2008. I did check the box wrappers under cmake and these are all wrapper errors. Hope it helps. Regards Martin. Error 62 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::removeDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?removedotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.obj Wrapper osgDB Error 63 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::addDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?adddotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.obj Wrapper osgDB Error 64 fatal error LNK1120: 2 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgw rapper _osgDBd.dll Wrapper osgDB Error 65 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::update(class osg::Node ) (?upd...@animationmaterialcallback@osgPresentation@@qaexaavn...@osg@@@ Z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 66 error LNK2019: unresolved external symbol public: double __thiscall osgPresentation::AnimationMaterialCallback::getAnimationTime(void)const (?getanimationt...@animationmaterialcallback@osgPresentation@@QBENXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 67 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::setPause(bool) (?setpa...@animationmaterialcallback@osgPresentation@@qae...@z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 68 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::reset(void) (?re...@animationmaterialcallback@osgPresentation@@QAEXXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 69 error LNK2001: unresolved external symbol public: virtual void __thiscall osgPresentation::AnimationMaterialCallback::operator()(class osg::Node *,class osg::NodeVisitor *) (??ranimationmaterialcallb...@osgpresentation@@uaexpavn...@osg@@PAVNod eVisit o...@3@@Z) AnimationMaterial.obj Wrapper osgPresentation Error 70 fatal error LNK1120: 5 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgw rapper _osgPresentationd.dll Wrapper osgPresentation Error 71 error LNK2019: unresolved external symbol public: void __thiscall osgUtil::IncrementalCompileOperation::CompileSet::buildCompileMap(clas s std::setclass osg::GraphicsContext *,struct std::lessclass osg::GraphicsContext *,class std::allocatorclass osg::GraphicsContext * ,unsigned int) (?buildcompile...@compileset@incrementalcompileoperat...@osgutil@@QAEX AAV?$s e...@pavgraphicscontext@osg@@u?$l...@pavgraphicscontext@osg@@@std@@V?$al locato r...@pavgraphicscontext@osg@@@4@@std@@i...@z) referenced in function public
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Thanks Fabien, fixes now merged and submitted to svn/trunk. On Fri, Feb 19, 2010 at 2:21 PM, Fabien Lavignotte fabien.lavigno...@vegatechnologies.fr wrote: Hi All, In order to compile on Windows with Wrappers ON, some exports are still missing on osgPresentation::AnimationMaterialCallback and osgUtil::IncrementalCompileOperation::CompileSet. Regards, Fabien -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: vendredi 19 février 2010 15:08 To: OpenSceneGraph Users Subject: Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph Hi Martin, Thanks for testing. The errors are down to two methods that I had their implementation from Registry into a dedicated companion class, alas I hadn't removed the declaration though so these methods were indeed the cause of missing symbols. I have now removed the offending methods and updated the wrappers. Could you do an svn update and let me know that the build now works fine, Thanks, Robert. On Fri, Feb 19, 2010 at 11:40 AM, Martin Naylor martin.nay...@dsl.pipex.com wrote: Hi Robert, Just checkout the latest build this around 10.30am and am receiving the following build errors under Windows 7 and VS2008. I did check the box wrappers under cmake and these are all wrapper errors. Hope it helps. Regards Martin. Error 62 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::removeDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?removedotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.obj Wrapper osgDB Error 63 error LNK2019: unresolved external symbol __declspec(dllimport) public: void __thiscall osgDB::Registry::addDotOsgWrapper(class osgDB::DotOsgWrapper *) (__imp_?adddotosgwrap...@registry@osgDB@@qaexpavdotosgwrap...@2@@Z) referenced in function public: __thiscall `anonymous namespace'::reflector79::reflector79(void) (??0reflecto...@?a0xf54704f2@@q...@xz) Registry.obj Wrapper osgDB Error 64 fatal error LNK1120: 2 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgw rapper _osgDBd.dll Wrapper osgDB Error 65 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::update(class osg::Node ) (?upd...@animationmaterialcallback@osgPresentation@@qaexaavn...@osg@@@ Z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 66 error LNK2019: unresolved external symbol public: double __thiscall osgPresentation::AnimationMaterialCallback::getAnimationTime(void)const (?getanimationt...@animationmaterialcallback@osgPresentation@@QBENXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 67 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::setPause(bool) (?setpa...@animationmaterialcallback@osgPresentation@@qae...@z) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 68 error LNK2019: unresolved external symbol public: void __thiscall osgPresentation::AnimationMaterialCallback::reset(void) (?re...@animationmaterialcallback@osgPresentation@@QAEXXZ) referenced in function public: __thiscall `anonymous namespace'::reflector155::reflector155(void) (??0reflector...@?a0x73eee86d@@q...@xz) AnimationMaterial.obj Wrapper osgPresentation Error 69 error LNK2001: unresolved external symbol public: virtual void __thiscall osgPresentation::AnimationMaterialCallback::operator()(class osg::Node *,class osg::NodeVisitor *) (??ranimationmaterialcallb...@osgpresentation@@uaexpavn...@osg@@PAVNod eVisit o...@3@@Z) AnimationMaterial.obj Wrapper osgPresentation Error 70 fatal error LNK1120: 5 unresolved externals F:\Coding\OSG\OpenSceneGraph\bin\Debug\..\..\bin\osgPlugins-2.9.7\osgw rapper _osgPresentationd.dll Wrapper osgPresentation Error 71 error LNK2019: unresolved external symbol public: void __thiscall osgUtil::IncrementalCompileOperation::CompileSet::buildCompileMap(clas s std::setclass osg::GraphicsContext *,struct std::lessclass osg::GraphicsContext *,class std::allocatorclass osg::GraphicsContext * ,unsigned int) (?buildcompile...@compileset@incrementalcompileoperat...@osgutil@@QAEX AAV?$s e...@pavgraphicscontext
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I did so. The modified example works with dynamic viewer construction/destruction. The only difference is that my viewer is in a dll and it is constructed/destructed there -Nick On Fri, Feb 19, 2010 at 4:21 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: the examples works fine but My app was working fine as well too :) Could you modify osgviewer so that it uses a ref_ptr rather than let it be created on the stack so mimicing the usage model of your app, hopefully this will also crash then I can start looking into the issue at my end Could you also enclose the ref_ptrComposite/Viewer code into a local scope by placing { } around it. This should force destruction clean up of all the objects create on the start without those brackets, sometimes this can help isolate the effects of various effects. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
And it crashes on the mutex lock -Nick On Fri, Feb 19, 2010 at 4:32 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I did so. The modified example works with dynamic viewer construction/destruction. The only difference is that my viewer is in a dll and it is constructed/destructed there -Nick On Fri, Feb 19, 2010 at 4:21 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: the examples works fine but My app was working fine as well too :) Could you modify osgviewer so that it uses a ref_ptr rather than let it be created on the stack so mimicing the usage model of your app, hopefully this will also crash then I can start looking into the issue at my end Could you also enclose the ref_ptrComposite/Viewer code into a local scope by placing { } around it. This should force destruction clean up of all the objects create on the start without those brackets, sometimes this can help isolate the effects of various effects. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: And it crashes on the mutex lock Ahhh, good at least we have something to gone on it tracking down what is going wrong. It does sound kinda similar to the issue that Rafa had with destruction under OSX, but I've already checked in a fix for this which Rafa confirmed has worked. Is there any chance you haven't updated to the latest svn/trunk that includes the changes for fixing things under OSX? The issue under OSX was that the clean up of the app destructed the GlobalObserverMutex before the scene graph/viewer, and then when it came to clean up these structures the mutex pointer was invalid. If the fix for OSX doesn't work and still the static GlobalObserverMutex is getting destructed before the viewer then we could possible add a check into mutex locking code so that if the pointer has been reset to 0 then don't attempt to lock it. The GlobalObserMutex uses a custom smart pointer class to make sure the pointer is reset to 0 after deletion of the object so it should be possible to test against it at runtime as well as in the debugger. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I am up to date, before you went running :). I was following this thread carefully today. The update I did just now has not affected the pointers stuff The idea about checking the validation of the mutex is good idea. I am trying it right now -Nick On Fri, Feb 19, 2010 at 4:52 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: And it crashes on the mutex lock Ahhh, good at least we have something to gone on it tracking down what is going wrong. It does sound kinda similar to the issue that Rafa had with destruction under OSX, but I've already checked in a fix for this which Rafa confirmed has worked. Is there any chance you haven't updated to the latest svn/trunk that includes the changes for fixing things under OSX? The issue under OSX was that the clean up of the app destructed the GlobalObserverMutex before the scene graph/viewer, and then when it came to clean up these structures the mutex pointer was invalid. If the fix for OSX doesn't work and still the static GlobalObserverMutex is getting destructed before the viewer then we could possible add a check into mutex locking code so that if the pointer has been reset to 0 then don't attempt to lock it. The GlobalObserMutex uses a custom smart pointer class to make sure the pointer is reset to 0 after deletion of the object so it should be possible to test against it at runtime as well as in the debugger. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
hum . the _mutex in observer_ptr is pure pointer. No smart thing on it. How you want to check it? -Nick On Fri, Feb 19, 2010 at 5:01 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am up to date, before you went running :). I was following this thread carefully today. The update I did just now has not affected the pointers stuff The idea about checking the validation of the mutex is good idea. I am trying it right now -Nick On Fri, Feb 19, 2010 at 4:52 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: And it crashes on the mutex lock Ahhh, good at least we have something to gone on it tracking down what is going wrong. It does sound kinda similar to the issue that Rafa had with destruction under OSX, but I've already checked in a fix for this which Rafa confirmed has worked. Is there any chance you haven't updated to the latest svn/trunk that includes the changes for fixing things under OSX? The issue under OSX was that the clean up of the app destructed the GlobalObserverMutex before the scene graph/viewer, and then when it came to clean up these structures the mutex pointer was invalid. If the fix for OSX doesn't work and still the static GlobalObserverMutex is getting destructed before the viewer then we could possible add a check into mutex locking code so that if the pointer has been reset to 0 then don't attempt to lock it. The GlobalObserMutex uses a custom smart pointer class to make sure the pointer is reset to 0 after deletion of the object so it should be possible to test against it at runtime as well as in the debugger. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, I was just reviewing your the code you copied in your earlier message (below) and spotted that the observer_ptr was access a local mutex not the GlobalObserverMutex() as it should have been. I've just fixed observer_ptr and am currently rebuilding. Could you try the attached include/osg/observer_ptr. I do testing at my end if everything goes smoothly will check the change in. I really don't know if it would fix the problem you are seeing, fingers crossed. Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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 observer_ptr Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, I just got a build error with the modified observer_ptr. I fixed this build error in the file attached so please use this one. Cheers, Robert. observer_ptr Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
rebuilding ... -Nick On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, I was just reviewing your the code you copied in your earlier message (below) and spotted that the observer_ptr was access a local mutex not the GlobalObserverMutex() as it should have been. I've just fixed observer_ptr and am currently rebuilding. Could you try the attached include/osg/observer_ptr. I do testing at my end if everything goes smoothly will check the change in. I really don't know if it would fix the problem you are seeing, fingers crossed. Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
got this Error while building SceneView.cpp 4D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664: 'OpenThreads::ScopedLockM::ScopedLock(const OpenThreads::ScopedLockM )' : cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM ' 4with 4[ 4M=OpenThreads::Mutex 4] 4Reason: cannot convert from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM' 4with 4[ 4M=OpenThreads::Mutex 4] 4No constructor could take the source type, or constructor overload resolution was ambiguous 4D:\OpenSceneGraph\include\osg/observer_ptr(51) : while compiling class template member function 'osg::observer_ptrT osg::observer_ptrT::operator =(const osg::observer_ptrT )' 4with 4[ 4T=osg::Camera 4] 4D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see reference to class template instantiation 'osg::observer_ptrT' being compiled 4with 4[ 4T=osg::Camera 4] -Nick On Fri, Feb 19, 2010 at 5:19 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: rebuilding ... -Nick On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, I was just reviewing your the code you copied in your earlier message (below) and spotted that the observer_ptr was access a local mutex not the GlobalObserverMutex() as it should have been. I've just fixed observer_ptr and am currently rebuilding. Could you try the attached include/osg/observer_ptr. I do testing at my end if everything goes smoothly will check the change in. I really don't know if it would fix the problem you are seeing, fingers crossed. Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
looks like I am on faster machine LOL :) -Nick On Fri, Feb 19, 2010 at 5:18 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, I just got a build error with the modified observer_ptr. I fixed this build error in the file attached so please use this one. Cheers, 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, Did you use the second of observer_ptr header that I posted? As I believe this addresses the issue you've got - my build failed here with my first cut, I fixed it and posted the new observer_ptr header. Since then my build has completed without problems. Robert. On Fri, Feb 19, 2010 at 3:24 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: got this Error while building SceneView.cpp 4D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664: 'OpenThreads::ScopedLockM::ScopedLock(const OpenThreads::ScopedLockM )' : cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM ' 4 with 4 [ 4 M=OpenThreads::Mutex 4 ] 4 Reason: cannot convert from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM' 4 with 4 [ 4 M=OpenThreads::Mutex 4 ] 4 No constructor could take the source type, or constructor overload resolution was ambiguous 4 D:\OpenSceneGraph\include\osg/observer_ptr(51) : while compiling class template member function 'osg::observer_ptrT osg::observer_ptrT::operator =(const osg::observer_ptrT )' 4 with 4 [ 4 T=osg::Camera 4 ] 4 D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see reference to class template instantiation 'osg::observer_ptrT' being compiled 4 with 4 [ 4 T=osg::Camera 4 ] -Nick On Fri, Feb 19, 2010 at 5:19 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: rebuilding ... -Nick On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Nick, I was just reviewing your the code you copied in your earlier message (below) and spotted that the observer_ptr was access a local mutex not the GlobalObserverMutex() as it should have been. I've just fixed observer_ptr and am currently rebuilding. Could you try the attached include/osg/observer_ptr. I do testing at my end if everything goes smoothly will check the change in. I really don't know if it would fix the problem you are seeing, fingers crossed. Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
yes. I am using the second post. Building so far good -Nick On Fri, Feb 19, 2010 at 5:40 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, Did you use the second of observer_ptr header that I posted? As I believe this addresses the issue you've got - my build failed here with my first cut, I fixed it and posted the new observer_ptr header. Since then my build has completed without problems. Robert. On Fri, Feb 19, 2010 at 3:24 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: got this Error while building SceneView.cpp 4D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664: 'OpenThreads::ScopedLockM::ScopedLock(const OpenThreads::ScopedLockM )' : cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM ' 4with 4[ 4M=OpenThreads::Mutex 4] 4Reason: cannot convert from 'OpenThreads::Mutex *' to 'const OpenThreads::ScopedLockM' 4with 4[ 4M=OpenThreads::Mutex 4] 4No constructor could take the source type, or constructor overload resolution was ambiguous 4D:\OpenSceneGraph\include\osg/observer_ptr(51) : while compiling class template member function 'osg::observer_ptrT osg::observer_ptrT::operator =(const osg::observer_ptrT )' 4with 4[ 4T=osg::Camera 4] 4D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see reference to class template instantiation 'osg::observer_ptrT' being compiled 4with 4[ 4T=osg::Camera 4] -Nick On Fri, Feb 19, 2010 at 5:19 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: rebuilding ... -Nick On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Nick, I was just reviewing your the code you copied in your earlier message (below) and spotted that the observer_ptr was access a local mutex not the GlobalObserverMutex() as it should have been. I've just fixed observer_ptr and am currently rebuilding. Could you try the attached include/osg/observer_ptr. I do testing at my end if everything goes smoothly will check the change in. I really don't know if it would fix the problem you are seeing, fingers crossed. Robert. On Fri, Feb 19, 2010 at 10:11 AM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I am getting a crash when cleaning up dynamic viewer osg::ref_ptrosgViewer::CompositeViewer viewer; .. viewer = 0; osg63-osgViewerd.dll!osg::observer_ptrosgViewer::ViewerBase::objectDeleted(void * obj=0x019c0ce4) Line 115 + 0x6 bytes C++ osg63-osgd.dll!osg::ObserverSet::signalObjectDeleted(void * ptr=0x019c0ce4) Line 68 + 0x20 bytes C++ osg63-osgd.dll!osg::Referenced::signalObserversAndDelete(bool signalUnreferened=true, bool signalDelete=true, bool doDelete=true) Line 311 C++ osg63-osgd.dll!osg::Referenced::unref() Line 196 C++ KtIGLibOSGD.dll!osg::ref_ptrosgViewer::CompositeViewer::operator=(osgViewer::CompositeViewer * ptr=0x) Line 57 C++ KtIGLibOSGD.dll!KtIGLibOSG::destroy() Line 72 C++ down to virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(_mutex); HERE- if (ref_obj-referenceCount() == 0) _ptr = 0; } -Nick On Fri, Feb 19, 2010 at 11:36 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, To give you all a chance to thrash the OSG svn/trunk to an inch of it's life I'm headline for a few hours (to do my weekly long run). I'll be back at lunchtime, and if all looks well I'll go for making 2.7.9 this afternoon (UK time). Thanks for all the testing, 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, I've just run the runexamples.bat and all the examples run cleanly so I've now checked in my change to observer_ptr. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, with the latest files (including the observer_ptr you posted at 15:18) everything is working fine for me now (Visual Studio 2008, Windows XP). However, is observer_ptr's destructor thread safe? It looks like if the target of _ptr were to be destroyed on another thread at the same time as observer_ptr's destructor is running then there's nothing to stop the observer_ptr calling removeObserver() on an invalid pointer. How about: ~observer_ptr() { OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (_ptr) _ptr-removeObserver(this); } ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, still crashing. I am building debug now -Nick On Fri, Feb 19, 2010 at 5:48 PM, Michael Platings mplati...@gmail.comwrote: Hi Robert, with the latest files (including the observer_ptr you posted at 15:18) everything is working fine for me now (Visual Studio 2008, Windows XP). However, is observer_ptr's destructor thread safe? It looks like if the target of _ptr were to be destroyed on another thread at the same time as observer_ptr's destructor is running then there's nothing to stop the observer_ptr calling removeObserver() on an invalid pointer. How about: ~observer_ptr() { OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (_ptr) _ptr-removeObserver(this); } ___ 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Michael, On Fri, Feb 19, 2010 at 3:48 PM, Michael Platings mplati...@gmail.com wrote: How about: ~observer_ptr() { OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (_ptr) _ptr-removeObserver(this); } Looks appropriate. Now merged and checked into svn/trunk. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Fri, Feb 19, 2010 at 3:50 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: still crashing. I am building debug now Is it still crashing with Michael's suggestion of add the mutex lock to the observer_ptr destructor? I've just checked in this fix. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I have more input now after tracing this issue virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (ref_obj-referenceCount() == 0) _ptr = 0; } ref_obj seam to be deleted here. It is not NULL and it has bunch of non sense data in the members. Any idea? -Nick On Fri, Feb 19, 2010 at 6:07 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 3:50 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: still crashing. I am building debug now Is it still crashing with Michael's suggestion of add the mutex lock to the observer_ptr destructor? I've just checked in this fix. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Fri, Feb 19, 2010 at 4:27 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I have more input now after tracing this issue virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (ref_obj-referenceCount() == 0) _ptr = 0; } ref_obj seam to be deleted here. It is not NULL and it has bunch of non sense data in the members. Any idea? Curious. the objectDeleted(void*) method should be called on all the observers of an object prior to the objects deletion - the delete is called after the call to the observers. You could try removing the if (ref_obj-referenceCouint()==0) part and just leave the _ptr as they should be safe, the if statement is just there for a belt and braces approach to the method and isn't critical. While there is might fix the crash it wouldn't actually explain it. Is there any chance that your app has unloaded a dll before all the data associated with it has been safely destructed? Another little check you could do is check the value of obj compared to _ptr, in theory they should be the same but if they aren't then we know that something else is going wrong along the way. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, the dll is not undloaded. When I do viewer = 0; the viewer address and the one that gets down to objectDeleted(void* ptr) are slightly different, means viewer.get() != ptr. _ptr is not equal to obj -Nick On Fri, Feb 19, 2010 at 6:37 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 4:27 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: Hi Robert, I have more input now after tracing this issue virtual void objectDeleted(void* obj) { T* ref_obj = static_castT*(obj); OpenThreads::ScopedLockOpenThreads::Mutex lock(*getObserverMutex()); if (ref_obj-referenceCount() == 0) _ptr = 0; } ref_obj seam to be deleted here. It is not NULL and it has bunch of non sense data in the members. Any idea? Curious. the objectDeleted(void*) method should be called on all the observers of an object prior to the objects deletion - the delete is called after the call to the observers. You could try removing the if (ref_obj-referenceCouint()==0) part and just leave the _ptr as they should be safe, the if statement is just there for a belt and braces approach to the method and isn't critical. While there is might fix the crash it wouldn't actually explain it. Is there any chance that your app has unloaded a dll before all the data associated with it has been safely destructed? Another little check you could do is check the value of obj compared to _ptr, in theory they should be the same but if they aren't then we know that something else is going wrong along the way. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, On Fri, Feb 19, 2010 at 4:43 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: the dll is not undloaded. When I do viewer = 0; the viewer address and the one that gets down to objectDeleted(void* ptr) are slightly different, means viewer.get() != ptr. _ptr is not equal to obj OK, things are getting odder... but I guess we uncover a clue soon. What happens to the viewer, _ptr and obj values if you modify osgviewer to construct a viewer on the heap and the delete it by setting the ref_ptr to 0 or letting it go out of scope? Testing whether the same problems with pointers mismatching when using a the dll or straight app may give some more clues. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, attached is the sample that crashes. Please let me know if crash for you as well -Nick On Fri, Feb 19, 2010 at 7:10 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, On Fri, Feb 19, 2010 at 4:43 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: the dll is not undloaded. When I do viewer = 0; the viewer address and the one that gets down to objectDeleted(void* ptr) are slightly different, means viewer.get() != ptr. _ptr is not equal to obj OK, things are getting odder... but I guess we uncover a clue soon. What happens to the viewer, _ptr and obj values if you modify osgviewer to construct a viewer on the heap and the delete it by setting the ref_ptr to 0 or letting it go out of scope? Testing whether the same problems with pointers mismatching when using a the dll or straight app may give some more clues. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield * * This application is open source and may be redistributed and/or modified * freely and without restriction, both in commericial and non commericial applications, * as long as this copyright notice is maintained. * * This application is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ #include osgDB/ReadFile #include osgUtil/Optimizer #include osg/CoordinateSystemNode #include osg/Switch #include osgText/Text #include osgViewer/Viewer #include osgViewer/CompositeViewer #include osgViewer/ViewerEventHandlers #include osgGA/TrackballManipulator #include osgGA/FlightManipulator #include osgGA/DriveManipulator #include osgGA/KeySwitchMatrixManipulator #include osgGA/StateSetManipulator #include osgGA/AnimationPathManipulator #include osgGA/TerrainManipulator #include osgGA/SphericalManipulator #include iostream int main(int argc, char** argv) { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(argc,argv); arguments.getApplicationUsage()-setApplicationName(arguments.getApplicationName()); arguments.getApplicationUsage()-setDescription(arguments.getApplicationName()+ is the standard OpenSceneGraph example which loads and visualises 3d models.); arguments.getApplicationUsage()-setCommandLineUsage(arguments.getApplicationName()+ [options] filename ...); arguments.getApplicationUsage()-addCommandLineOption(--image filename,Load an image and render it on a quad); arguments.getApplicationUsage()-addCommandLineOption(--dem filename,Load an image/DEM and render it on a HeightField); arguments.getApplicationUsage()-addCommandLineOption(--login url username password,Provide authentication information for http file access.); { osg::ref_ptrosgViewer::Viewer viewer = new osgViewer::Viewer; viewer-setThreadingModel(osgViewer::CompositeViewer::CullDrawThreadPerContext); unsigned int helpType = 0; if ((helpType = arguments.readHelpType())) { arguments.getApplicationUsage()-write(std::cout, helpType); return 1; } // report any errors if they have occurred when parsing the program arguments. if (arguments.errors()) { arguments.writeErrorMessages(std::cout); return 1; } if (arguments.argc()=1) { arguments.getApplicationUsage()-write(std::cout,osg::ApplicationUsage::COMMAND_LINE_OPTION); return 1; } std::string url, username, password; while(arguments.read(--login,url, username, password)) { if (!osgDB::Registry::instance()-getAuthenticationMap()) { osgDB::Registry::instance()-setAuthenticationMap(new osgDB::AuthenticationMap); osgDB::Registry::instance()-getAuthenticationMap()-addAuthenticationDetails( url, new osgDB::AuthenticationDetails(username, password) ); } } // set up the camera manipulators. { osg::ref_ptrosgGA::KeySwitchMatrixManipulator keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator; keyswitchManipulator-addMatrixManipulator( '1', Trackball, new
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, attached is the sample that crashes. Please let me know if crash for you as well I've just tested you osgviewer.cpp and it doesn't crash for me, but.. some debugging that I added into my include/osg/observer_ptr reports a mismatch of pointers. When I run the standard osgviewer it doesn't report any mismatched pointers so the error does look like they are carried over linux just fine, even if the crash doesn't occur. Here's my output: Constructor ReaderWriterOSG2 - loaded OK Constructor OSGReaderWriter - loaded OK ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x9a4250) _ptr and obj agree ObserverPtr::objectDeleted(0x9a4250) _ptr and obj agree *** Warning ObserverPtr::objectDeleted(0x92d0f8) _ptr and obj disagree, _ptr=0x92cfb0 ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x92d9d0) _ptr and obj agree I've attached my modified observer_ptr. Now that I have the error report I'll start digging into why the pointers have got to a point where they disagree, and which object it is. In your own tests was it the viewer pointer that looked at fault? Robert. observer_ptr Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
correct. The viewer pointer was missmatching -Nick On Fri, Feb 19, 2010 at 7:55 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, attached is the sample that crashes. Please let me know if crash for you as well I've just tested you osgviewer.cpp and it doesn't crash for me, but.. some debugging that I added into my include/osg/observer_ptr reports a mismatch of pointers. When I run the standard osgviewer it doesn't report any mismatched pointers so the error does look like they are carried over linux just fine, even if the crash doesn't occur. Here's my output: Constructor ReaderWriterOSG2 - loaded OK Constructor OSGReaderWriter - loaded OK ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x92d200) _ptr and obj agree ObserverPtr::objectDeleted(0x9a4250) _ptr and obj agree ObserverPtr::objectDeleted(0x9a4250) _ptr and obj agree *** Warning ObserverPtr::objectDeleted(0x92d0f8) _ptr and obj disagree, _ptr=0x92cfb0 ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x9364c0) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x936e50) _ptr and obj agree ObserverPtr::objectDeleted(0x92d9d0) _ptr and obj agree I've attached my modified observer_ptr. Now that I have the error report I'll start digging into why the pointers have got to a point where they disagree, and which object it is. In your own tests was it the viewer pointer that looked at fault? 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] Please test svn/trunk for OpenThread/OpenSceneGraph
On Fri, Feb 19, 2010 at 5:59 PM, Trajce (Nick) Nikolov nikolov.tra...@gmail.com wrote: correct. The viewer pointer was missmatching I've been reviewing the observer_ptr code and it looks correct. Added a mutex to the copy constructor looks appropriate, but this isn't the issue we're up against. One thing that has occurred to be is that one possible reason for the divergence of the pointer values is multiple inheritance. Both Viewer and CompositeViewer use multiple inheritance though... One odd thing about CompositeViewer is that has virtual inherits from osg::Object, when ViewerBase already provides osg::Object. I don't know why it's like this, perhaps at one point in the past it was required then a refactor of VIewer/CompositeViewer didn't correctly pick up on this not being needed... I will remove this extra inheritance of osg::Object and see what happens. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, yes, osgcompositeviewer cow.osg crashes -Nick On Fri, Feb 19, 2010 at 8:10 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, In testing at my end I got the pointer mismatch occur when running and then exiting osgcompositeviewer cow.osg. Does the crash happen for you in this example as well? If so we could use that as the base for further testing. 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Nick, I've been contemplating the crash you have and the mismatch of pointers, which is little doubt down to multiple inheritance causing difference between the osg::Referenced location and the pointer to the actual object (class T for the template). This difference means that casting the pointer the osg::Referenced to the class T will result in an error, and the crash you are seeing is almost certainly down to this. Give that the _ptr is of class T then it should be safe to use this to check for the referenceCount() so one fix would be just to use if (_ptr-referencedCount()==0). Given the role of objectDeleted() I don't think it really required to double check, the pointer really just can be reset. Could you do an svn update to the new mods that I've made to include/osg/observer_ptr and see if you're modified osgviewer and the standard osgcompositeviewer crash. I've attached the file. I'm optimistic that this bug is now squished so I'll move on to other build issues. Fingers crossed you'll report back success :-) Robert. observer_ptr Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
:) .. I like your enthusiasm .. Rebuilding -Nick On Fri, Feb 19, 2010 at 9:54 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nick, I've been contemplating the crash you have and the mismatch of pointers, which is little doubt down to multiple inheritance causing difference between the osg::Referenced location and the pointer to the actual object (class T for the template). This difference means that casting the pointer the osg::Referenced to the class T will result in an error, and the crash you are seeing is almost certainly down to this. Give that the _ptr is of class T then it should be safe to use this to check for the referenceCount() so one fix would be just to use if (_ptr-referencedCount()==0). Given the role of objectDeleted() I don't think it really required to double check, the pointer really just can be reset. Could you do an svn update to the new mods that I've made to include/osg/observer_ptr and see if you're modified osgviewer and the standard osgcompositeviewer crash. I've attached the file. I'm optimistic that this bug is now squished so I'll move on to other build issues. Fingers crossed you'll report back success :-) 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi All, I've just done builds under GLES1 and GLES2, had to make a few build fixes, these are all now checked in. It's clearly too late in the day now to attempt a release, and all the changes today need build and runtime testing too. So while I take a well earned rest, you've got no excuses not to keep pounding the build and runtime for a bit longer :-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, compiling under Vista32, VS2005 SP1 works. But I get some warnings, e.g. - CullSettings.cpp Line 31: Warnung osg::CullSettings::VariablesMask in unsigned int, signed/unsigned-Konflikt. - graph_array.h line 106: 'triangle_stripper::detail::graph_arraynodetype::node': Assignmentoperator could not be generated - policy.h line 41: 'triangle_stripper::detail::policy': Assignmentoperator could not be generated Testing follows tomorrow. Thank you! Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=24515#24515 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi All, I've been beavering away for the last two weeks on addressing issues with DatabasePager performance and stability, and in the last week concentrating on the stability side clearing up a long standing but rather difficult to pin down crash. Fixing the crash required refactoring osg::Observer class and that parts of osg::Referenced that it touches, as well as refactor of the way that recursive mutexes are setup in OpenThreads. I don't have time to go into the details of all the changes, but in general they shouldn't affect the build or runtime of you application except for the better (hopefully :-) Given how many crucial parts of the OSG I've been refactoring there is quite a bit of scope for regressions in build across platforms and runtime. I have tried by best to make the carefully with cross platform build and runtime in mind, but I'm not machine, I can make mistakes, so please assume that I might have and test thoroughly :-) If things go well I'll tag a 2.9.7 tomorrow, and then get back on the horse of merging more of the pending submissions. Thanks for your help, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Building in progress on Windows, MSVC9. Just one typo in Win32Mutex.cpp so far. Mourad On Thu, Feb 18, 2010 at 10:43 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi All, I've been beavering away for the last two weeks on addressing issues with DatabasePager performance and stability, and in the last week concentrating on the stability side clearing up a long standing but rather difficult to pin down crash. Fixing the crash required refactoring osg::Observer class and that parts of osg::Referenced that it touches, as well as refactor of the way that recursive mutexes are setup in OpenThreads. I don't have time to go into the details of all the changes, but in general they shouldn't affect the build or runtime of you application except for the better (hopefully :-) Given how many crucial parts of the OSG I've been refactoring there is quite a bit of scope for regressions in build across platforms and runtime. I have tried by best to make the carefully with cross platform build and runtime in mind, but I'm not machine, I can make mistakes, so please assume that I might have and test thoroughly :-) If things go well I'll tag a 2.9.7 tomorrow, and then get back on the horse of merging more of the pending submissions. Thanks for your help, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org Win32Mutex.cpp Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Thanks Mourad, build fix now merged and submitted to svn/trunk. On Thu, Feb 18, 2010 at 10:13 PM, Mourad Boufarguine mourad.boufargu...@gmail.com wrote: Hi Robert, Building in progress on Windows, MSVC9. Just one typo in Win32Mutex.cpp so far. Mourad On Thu, Feb 18, 2010 at 10:43 PM, Robert Osfield robert.osfi...@gmail.com wrote: Hi All, I've been beavering away for the last two weeks on addressing issues with DatabasePager performance and stability, and in the last week concentrating on the stability side clearing up a long standing but rather difficult to pin down crash. Fixing the crash required refactoring osg::Observer class and that parts of osg::Referenced that it touches, as well as refactor of the way that recursive mutexes are setup in OpenThreads. I don't have time to go into the details of all the changes, but in general they shouldn't affect the build or runtime of you application except for the better (hopefully :-) Given how many crucial parts of the OSG I've been refactoring there is quite a bit of scope for regressions in build across platforms and runtime. I have tried by best to make the carefully with cross platform build and runtime in mind, but I'm not machine, I can make mistakes, so please assume that I might have and test thoroughly :-) If things go well I'll tag a 2.9.7 tomorrow, and then get back on the horse of merging more of the pending submissions. Thanks for your help, 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
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Thank you very much for your great engagement! *must be said* ;) The development speed of OSG is amazing, I'll upgrade to 2.9.7 in the next days. Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=24386#24386 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Robert Osfield wrote: Thanks for the compliments, but we really need right now is testing of svn/trunk.. ;-) Building on RHEL 5.4. Not a huge problem, of course, but I'm getting about a million of these so far: /irl/work/jdaly/osg/OpenSceneGraph-svn-src/include/osg/Observer:75:7: warning: no newline at end of file --J ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Jason, Thanks for the testing. I've just checked in the addition of an extra return at the end of the Observer header. Cheers, Robert. On Thu, Feb 18, 2010 at 10:51 PM, Jason Daly jd...@ist.ucf.edu wrote: Robert Osfield wrote: Thanks for the compliments, but we really need right now is testing of svn/trunk.. ;-) Building on RHEL 5.4. Not a huge problem, of course, but I'm getting about a million of these so far: /irl/work/jdaly/osg/OpenSceneGraph-svn-src/include/osg/Observer:75:7: warning: no newline at end of file --J ___ 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] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, I upgrade to 2.9.7 in the next days Cheers, Maxim Gammer 2010/2/19 Jason Daly jd...@ist.ucf.edu Robert Osfield wrote: Hi Jason, Thanks for the testing. I've just checked in the addition of an extra return at the end of the Observer header. Hi, Robert, Found the same in include/osg/ObserverNodePath, as well as the corresponding .cpp files. Everything else seemed to build clean. --J ___ 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] Please test svn/trunk for OpenThread/OpenSceneGraph
On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
ok. test in Ubuntu 9.10 amd64 ... OK! ))) 2010/2/19 Robert Osfield robert.osfi...@gmail.com On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Compiled fine on MacOSX Leopard using cmake, but when testing in one of my applications I get a crash when closing, this is the stack trace: Thread 0 Crashed: 0 libosg.63.dylib 0x004f9f51 osg::ObserverNodePath::~ObserverNodePath() + 33 1 libosg.63.dylib 0x004f6b8e osg::NodeTrackerCallback::~NodeTrackerCallback() + 46 2 libosgDB.63.dylib 0x0091b665 osgDB::ObjectWrapper::~ObjectWrapper() + 533 3 libosgDB.63.dylib 0x00916f30 osgDB::RegisterWrapperProxy::~RegisterWrapperProxy() + 160 4 libSystem.B.dylib 0x94ffcdbc __cxa_finalize + 241 5 libSystem.B.dylib 0x94ffccb0 exit + 33 Only occurs with somehing I have, involving ffmpeg imagestreams. Maybe is something I have in my side.. but I didn't had time to tested yet. Before the inclusion of the ObserverNodePath this was not happening. This is a SingleThreaded app. Rafa. On Fri, Feb 19, 2010 at 8:20 AM, Robert Osfield robert.osfi...@gmail.com wrote: On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
test in Ubuntu 9.10 i386 ... OK! 2010/2/19 Maxim Gammer maxgam...@gmail.com ok. test in Ubuntu 9.10 amd64 ... OK! ))) 2010/2/19 Robert Osfield robert.osfi...@gmail.com On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Hi Robert, Compiled fine on Ubuntu\Kubuntu 9.10 i386 amd64 (gcc version 4.4.1) All my programs work fine. Cheers, Maxim Gammer 2010/2/19 Maxim Gammer maxgam...@gmail.com test in Ubuntu 9.10 i386 ... OK! 2010/2/19 Maxim Gammer maxgam...@gmail.com ok. test in Ubuntu 9.10 amd64 ... OK! ))) 2010/2/19 Robert Osfield robert.osfi...@gmail.com On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Maxim Gammer -- Maxim Gammer ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph
Ok, doing a full rebuild with that file (only two cores here .. so we have to wait a little :)). Rafa. On Fri, Feb 19, 2010 at 8:51 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Rafa, Thanks for the testing, sorry about the regression :-| ffmpeg is be totally unrelated to how the proxy works in the new serialization osg plugin, and the ObserverNodePath in this plugin should be just an empty data structure and not difficult to destruct safely. So my guess is that the ffmpeg part of the equation is just coincidence and it simply changes the order of events or memory usage enough to change the working conditions enough to reveal an underlying bug. My best guess would be that global mutex that the ObserverNodePath is trying to access has already been destructed (even though it shouldn't be..) and this is causing the crash. To test this theory out could you try out the attached src/osg/ObserverNodePath.cpp that comments out the clean up that will access the mutex. This won't fix the bug but will teach us a bit more about what might be going amiss. Thanks, Robert. On Fri, Feb 19, 2010 at 7:34 AM, Rafa Gaitan rafa.gai...@gmail.com wrote: Hi Robert, Compiled fine on MacOSX Leopard using cmake, but when testing in one of my applications I get a crash when closing, this is the stack trace: Thread 0 Crashed: 0 libosg.63.dylib 0x004f9f51 osg::ObserverNodePath::~ObserverNodePath() + 33 1 libosg.63.dylib 0x004f6b8e osg::NodeTrackerCallback::~NodeTrackerCallback() + 46 2 libosgDB.63.dylib 0x0091b665 osgDB::ObjectWrapper::~ObjectWrapper() + 533 3 libosgDB.63.dylib 0x00916f30 osgDB::RegisterWrapperProxy::~RegisterWrapperProxy() + 160 4 libSystem.B.dylib 0x94ffcdbc __cxa_finalize + 241 5 libSystem.B.dylib 0x94ffccb0 exit + 33 Only occurs with somehing I have, involving ffmpeg imagestreams. Maybe is something I have in my side.. but I didn't had time to tested yet. Before the inclusion of the ObserverNodePath this was not happening. This is a SingleThreaded app. Rafa. On Fri, Feb 19, 2010 at 8:20 AM, Robert Osfield robert.osfi...@gmail.com wrote: On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer maxgam...@gmail.com wrote: Hi Robert, I upgrade to 2.9.7 in the next days Which is rather too late for making sure svn/trunk is well tested prior to me tagging 2.9.7... so if 2.9.7 contains problems that weren't tested and reported prior to 2.9.7 then... it's because... you hang back from testing. Please guys we need testing NOW. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ 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 -- Rafael Gaitán Linares Instituto de Automática e Informática Industrial http://www.ai2.upv.es http://gvsig3d.blogspot.com Ciudad Politécnica de la Innovación Universidad Politécnica de Valencia ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org