Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-21 Thread Rafa Gaitan
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
 wrote:
> LOL :)
> -Nick
>
>
> On Sun, Feb 21, 2010 at 12:42 PM, Robert Osfield 
> wrote:
>>
>> Hi Nick,
>>
>> On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov
>>  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

2010-02-21 Thread Trajce (Nick) Nikolov
LOL :)

-Nick


On Sun, Feb 21, 2010 at 12:42 PM, Robert Osfield
wrote:

> Hi Nick,
>
> On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov
>  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

2010-02-21 Thread Robert Osfield
Hi Nick,

On Sat, Feb 20, 2010 at 9:26 PM, Trajce (Nick) Nikolov
 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

2010-02-20 Thread Trajce (Nick) Nikolov
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 wrote:

> Hi Nick,
>
> On Sat, Feb 20, 2010 at 10:57 AM, Trajce (Nick) Nikolov
>  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

2010-02-20 Thread Robert Osfield
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
 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.
>
> 1>CullSettings.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

2010-02-20 Thread Chris 'Xenon' Hanson
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.

1>CullSettings.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_array::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:

59>Depth.cpp
70>C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(533) : 
warning C4121:
'osgDB::ObjectSerializer' : alignment of a member was sensitive to packing
70>with
70>[
70>C=MyClass,
70>P=osg::Node
70>]
70>.\NodeTrackerCallback.cpp(14) : see reference to class template 
instantiation
'osgDB::ObjectSerializer' being compiled
70>with
70>[
70>C=MyClass,
70>P=osg::Node
70>]
70>C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(534) : 
warning C4121:
'osgDB::ObjectSerializer' : alignment of a member was sensitive to packing
70>with
70>[
70>C=MyClass,
70>P=osg::Node
70>]
70>NodeCallback.cpp
70>C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(533) : 
warning C4121:
'osgDB::ObjectSerializer' : alignment of a member was sensitive to packing
70>with
70>[
70>C=MyClass,
70>P=osg::NodeCallback
70>]
70>.\NodeCallback.cpp(14) : see reference to class template 
instantiation
'osgDB::ObjectSerializer' being compiled
70>with
70>[
70>C=MyClass,
70>P=osg::NodeCallback
70>]
70>C:\Data\OSGDev\OpenSceneGraph-SVN-HEAD\include\osgDB/Serializer(534) : 
warning C4121:
'osgDB::ObjectSerializer' : alignment of a member was sensitive to packing
70>with
70>[
70>C=MyClass,
70>P=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

2010-02-20 Thread Torben Dannhauer
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

2010-02-20 Thread Robert Osfield
Hi Torben,

On Sat, Feb 20, 2010 at 5:21 PM, Robert Osfield
 wrote:
> The std::vector> 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

2010-02-20 Thread Robert Osfield
Hi Toben,

On Sat, Feb 20, 2010 at 5:07 PM, Torben Dannhauer
 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:
> 
>      const_cast(nodePath[i])->accept(*this);
> 
>
> 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::vector> 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

2010-02-20 Thread Torben Dannhauer
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:

  const_cast(nodePath[i])->accept(*this);


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

2010-02-20 Thread Robert Osfield
Hi Torben,

On Sat, Feb 20, 2010 at 1:32 PM, Torben Dannhauer
 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

2010-02-20 Thread Robert Osfield
Hi Nick,

On Sat, Feb 20, 2010 at 10:57 AM, Trajce (Nick) Nikolov
 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

2010-02-20 Thread Torben Dannhauer
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

2010-02-20 Thread Trajce (Nick) Nikolov
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 wrote:

> 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

2010-02-19 Thread Torben Dannhauer
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_array::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


Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Trajce (Nick) Nikolov
:) .. I like your enthusiasm .. Rebuilding

-Nick


On Fri, Feb 19, 2010 at 9:54 PM, Robert Osfield wrote:

> 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

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Trajce (Nick) Nikolov
Hi Robert,

yes, osgcompositeviewer cow.osg crashes

-Nick


On Fri, Feb 19, 2010 at 8:10 PM, Robert Osfield wrote:

> 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

2010-02-19 Thread Robert Osfield
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


Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
On Fri, Feb 19, 2010 at 5:59 PM, Trajce (Nick) Nikolov
 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

2010-02-19 Thread Trajce (Nick) Nikolov
correct. The viewer pointer was missmatching
-Nick


On Fri, Feb 19, 2010 at 7:55 PM, Robert Osfield wrote:

> 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

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Trajce (Nick) Nikolov
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 wrote:

> Hi Nick,
>
> On Fri, Feb 19, 2010 at 4:43 PM, Trajce (Nick) Nikolov
>  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 
#include 
#include 

#include 
#include 

#include 
#include 
#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include 

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 
","Load an image and render it on a quad");
arguments.getApplicationUsage()->addCommandLineOption("--dem 
","Load an image/DEM and render it on a HeightField");
arguments.getApplicationUsage()->addCommandLineOption("--login  
 ","Provide authentication information for http file 
access.");

{
osg::ref_ptr 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_ptr 
keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator;

keyswitchManipulator->addMatrixManipulator( '1', 
"Trackball", new osgGA::TrackballManipulator() );
keyswitchManipulator->addMatrixManipulator( '2', 
"Flight", new osgGA::FlightManipulator() );
keyswitchManipulator->addMatrixManipulator( '3', 
"Drive", new osgGA::DriveManipulator() );
keyswitchManipulator->addMatrixManipulator( '4', 
"Terrain", new osgGA::TerrainManipulator() );
keyswitchManipulator->addMatrixManipulator( '5

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
Hi Nick,

On Fri, Feb 19, 2010 at 4:43 PM, Trajce (Nick) Nikolov
 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

2010-02-19 Thread Trajce (Nick) Nikolov
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 wrote:

> Hi Nick,
>
> On Fri, Feb 19, 2010 at 4:27 PM, Trajce (Nick) Nikolov
>  wrote:
> > Hi Robert,
> > I have more input now after tracing this issue
> > virtual void objectDeleted(void* obj)
> > {
> > T* ref_obj = static_cast(obj);
> > OpenThreads::ScopedLock
> > 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

2010-02-19 Thread Martin Naylor
Hi Robert,
The wrappers build successfully now...

Cheers

Martin.


-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 14: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
 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\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::set osg::GraphicsContext *>,class std::allocator
>
> &,unsigned int)"
>
(?build

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
Hi Nick,

On Fri, Feb 19, 2010 at 4:27 PM, Trajce (Nick) Nikolov
 wrote:
> Hi Robert,
> I have more input now after tracing this issue
> virtual void objectDeleted(void* obj)
>         {
>             T* ref_obj = static_cast(obj);
>             OpenThreads::ScopedLock
> 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

2010-02-19 Thread Trajce (Nick) Nikolov
Hi Robert,

I have more input now after tracing this issue

virtual void objectDeleted(void* obj)
{
T* ref_obj = static_cast(obj);

OpenThreads::ScopedLock
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 wrote:

> Hi Nick,
>
> On Fri, Feb 19, 2010 at 3:50 PM, Trajce (Nick) Nikolov
>  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

2010-02-19 Thread Robert Osfield
Hi Nick,

On Fri, Feb 19, 2010 at 3:50 PM, Trajce (Nick) Nikolov
 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

2010-02-19 Thread Robert Osfield
Hi Michael,

On Fri, Feb 19, 2010 at 3:48 PM, Michael Platings  wrote:
> How about:
> ~observer_ptr()
> {
>     OpenThreads::ScopedLock 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

2010-02-19 Thread Trajce (Nick) Nikolov
Hi Robert,

still crashing. I am building debug now

-Nick


On Fri, Feb 19, 2010 at 5:48 PM, Michael Platings wrote:

> 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::ScopedLock 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

2010-02-19 Thread Michael Platings
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::ScopedLock 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

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Trajce (Nick) Nikolov
yes. I am using the second post. Building so far good
-Nick


On Fri, Feb 19, 2010 at 5:40 PM, Robert Osfield wrote:

> 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
>  wrote:
> > got this Error while building
> >
> >>SceneView.cpp
> > 4>D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664:
> > 'OpenThreads::ScopedLock::ScopedLock(const OpenThreads::ScopedLock
> &)'
> > : cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const
> > OpenThreads::ScopedLock &'
> > 4>with
> > 4>[
> > 4>M=OpenThreads::Mutex
> > 4>]
> > 4>Reason: cannot convert from 'OpenThreads::Mutex *' to 'const
> > OpenThreads::ScopedLock'
> > 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_ptr
> > &osg::observer_ptr::operator =(const osg::observer_ptr &)'
> > 4>with
> > 4>[
> > 4>T=osg::Camera
> > 4>]
> > 4>D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see
> reference
> > to class template instantiation 'osg::observer_ptr' being compiled
> > 4>with
> > 4>[
> > 4>T=osg::Camera
> > 4>]
> > -Nick
> >
> >
> > On Fri, Feb 19, 2010 at 5:19 PM, Trajce (Nick) Nikolov
> >  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
> >>>  wrote:
> >>> > Hi Robert,
> >>> > I am getting a crash when cleaning up dynamic viewer
> >>> > osg::ref_ptr viewer;
> >>> > ..
> >>> > viewer = 0;
> >>> >
> >>> >
> >>> >
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
> >>> > OpenThreads::ScopedLock lock(_mutex);
> >>> >   HERE->>>  if (ref_obj->referenceCount() == 0) _ptr = 0;
> >>> > }
> >>> > -Nick
> >>> >
> >>> >
> >>> > On Fri, Feb 19, 2010 at 11:36 AM, 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).
> >>> >>
> >>> >> 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.openscenegr

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
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
 wrote:
> got this Error while building
>
>>SceneView.cpp
> 4>D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664:
> 'OpenThreads::ScopedLock::ScopedLock(const OpenThreads::ScopedLock &)'
> : cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const
> OpenThreads::ScopedLock &'
> 4>        with
> 4>        [
> 4>            M=OpenThreads::Mutex
> 4>        ]
> 4>        Reason: cannot convert from 'OpenThreads::Mutex *' to 'const
> OpenThreads::ScopedLock'
> 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_ptr
> &osg::observer_ptr::operator =(const osg::observer_ptr &)'
> 4>        with
> 4>        [
> 4>            T=osg::Camera
> 4>        ]
> 4>        D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see reference
> to class template instantiation 'osg::observer_ptr' being compiled
> 4>        with
> 4>        [
> 4>            T=osg::Camera
> 4>        ]
> -Nick
>
>
> On Fri, Feb 19, 2010 at 5:19 PM, Trajce (Nick) Nikolov
>  wrote:
>>
>> rebuilding ...
>> -Nick
>>
>>
>> On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield 
>> 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
>>>  wrote:
>>> > Hi Robert,
>>> > I am getting a crash when cleaning up dynamic viewer
>>> > osg::ref_ptr viewer;
>>> > ..
>>> > viewer = 0;
>>> >
>>> >
>>> > osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
>>> >             OpenThreads::ScopedLock lock(_mutex);
>>> >           HERE->>>  if (ref_obj->referenceCount() == 0) _ptr = 0;
>>> >         }
>>> > -Nick
>>> >
>>> >
>>> > On Fri, Feb 19, 2010 at 11:36 AM, 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).
>>> >>
>>> >> 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

2010-02-19 Thread Trajce (Nick) Nikolov
looks like I am on faster machine LOL :)
-Nick


On Fri, Feb 19, 2010 at 5:18 PM, Robert Osfield wrote:

> 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

2010-02-19 Thread Trajce (Nick) Nikolov
got this Error while building


>SceneView.cpp
4>D:\OpenSceneGraph\include\osg/observer_ptr(54) : error C2664:
'OpenThreads::ScopedLock::ScopedLock(const OpenThreads::ScopedLock &)'
: cannot convert parameter 1 from 'OpenThreads::Mutex *' to 'const
OpenThreads::ScopedLock &'
4>with
4>[
4>M=OpenThreads::Mutex
4>]
4>Reason: cannot convert from 'OpenThreads::Mutex *' to 'const
OpenThreads::ScopedLock'
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_ptr
&osg::observer_ptr::operator =(const osg::observer_ptr &)'
4>with
4>[
4>T=osg::Camera
4>]
4>D:\OpenSceneGraph\include\osgUtil/SceneView(523) : see reference
to class template instantiation 'osg::observer_ptr' 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 
> 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
>>  wrote:
>> > Hi Robert,
>> > I am getting a crash when cleaning up dynamic viewer
>> > osg::ref_ptr viewer;
>> > ..
>> > viewer = 0;
>> >
>> >
>> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
>> > OpenThreads::ScopedLock 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

2010-02-19 Thread Trajce (Nick) Nikolov
rebuilding ...
-Nick


On Fri, Feb 19, 2010 at 5:16 PM, Robert Osfield 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
>  wrote:
> > Hi Robert,
> > I am getting a crash when cleaning up dynamic viewer
> > osg::ref_ptr viewer;
> > ..
> > viewer = 0;
> >
> >
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
> > OpenThreads::ScopedLock 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

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Robert Osfield
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
 wrote:
> Hi Robert,
> I am getting a crash when cleaning up dynamic viewer
> osg::ref_ptr viewer;
> ..
> viewer = 0;
>
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
>             OpenThreads::ScopedLock lock(_mutex);
>           HERE->>>  if (ref_obj->referenceCount() == 0) _ptr = 0;
>         }
> -Nick
>
>
> On Fri, Feb 19, 2010 at 11:36 AM, 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).
>>
>> 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

2010-02-19 Thread Trajce (Nick) Nikolov
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 
> wrote:
>
>> Hi Nick,
>>
>> On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov
>>  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

2010-02-19 Thread Trajce (Nick) Nikolov
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 wrote:

> Hi Nick,
>
> On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov
>  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

2010-02-19 Thread Robert Osfield
Hi Nick,

On Fri, Feb 19, 2010 at 2:38 PM, Trajce (Nick) Nikolov
 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

2010-02-19 Thread Trajce (Nick) Nikolov
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 
> wrote:
>
>> Hi Nick,
>>
>> On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov
>>  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_ptr 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

2010-02-19 Thread Trajce (Nick) Nikolov
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 wrote:

> Hi Nick,
>
> On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov
>  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_ptr 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

2010-02-19 Thread Robert Osfield
Thanks Fabien, fixes now merged and submitted to svn/trunk.

On Fri, Feb 19, 2010 at 2:21 PM, Fabien Lavignotte
 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  
> 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

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Fabien Lavignotte
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  
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 __this

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
Hi Nick,

On Fri, Feb 19, 2010 at 2:13 PM, Trajce (Nick) Nikolov
 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_ptr 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

2010-02-19 Thread Trajce (Nick) Nikolov
and yes. both configuration crashes

-Nick


On Fri, Feb 19, 2010 at 4:00 PM, Robert Osfield wrote:

> 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
>  wrote:
> > Hi Robert,
> > I am getting a crash when cleaning up dynamic viewer
> > osg::ref_ptr viewer;
> > ..
> > viewer = 0;
> >
> >
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
> > OpenThreads::ScopedLock 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

2010-02-19 Thread Trajce (Nick) Nikolov
9: unresolved external symbol "public: void
> > __thiscall
> > osgUtil::IncrementalCompileOperation::CompileSet::buildCompileMap(class
> > std::set > osg::GraphicsContext *>,class std::allocator *> >
> > &,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 
> 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

2010-02-19 Thread Robert Osfield
191a64@@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  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

2010-02-19 Thread Trajce (Nick) Nikolov
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 wrote:

> 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
>  wrote:
> > Hi Robert,
> > I am getting a crash when cleaning up dynamic viewer
> > osg::ref_ptr viewer;
> > ..
> > viewer = 0;
> >
> >
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
> > OpenThreads::ScopedLock 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

2010-02-19 Thread Robert Osfield
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
 wrote:
> Hi Robert,
> I am getting a crash when cleaning up dynamic viewer
> osg::ref_ptr viewer;
> ..
> viewer = 0;
>
> osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);
>             OpenThreads::ScopedLock lock(_mutex);
>           HERE->>>  if (ref_obj->referenceCount() == 0) _ptr = 0;
>         }
> -Nick
>
>
> On Fri, Feb 19, 2010 at 11:36 AM, 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).
>>
>> 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

2010-02-19 Thread J.P. Delport

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

2010-02-19 Thread Martin Naylor
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::set,class std::allocator >
&,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  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

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Michael Platings
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

2010-02-19 Thread Trajce (Nick) Nikolov
Hi Robert,

I am getting a crash when cleaning up dynamic viewer

osg::ref_ptr viewer;
..
viewer = 0;

  
osg63-osgViewerd.dll!osg::observer_ptr::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_ptr::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_cast(obj);

OpenThreads::ScopedLock lock(_mutex);
  HERE->>>  if (ref_obj->referenceCount() == 0) _ptr = 0;
}
-Nick


On Fri, Feb 19, 2010 at 11:36 AM, 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).
>
> 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

2010-02-19 Thread Robert Osfield
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

2010-02-19 Thread Robert Osfield
On Fri, Feb 19, 2010 at 9:28 AM, Rafa Gaitan  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

2010-02-19 Thread Rafa Gaitan
All working fine now!

Rafa.

On Fri, Feb 19, 2010 at 10:03 AM, Robert Osfield
 wrote:
> On Fri, Feb 19, 2010 at 8:58 AM, Rafa Gaitan  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

2010-02-19 Thread Robert Osfield
On Fri, Feb 19, 2010 at 8:58 AM, Rafa Gaitan  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

2010-02-19 Thread Rafa Gaitan
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  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
>  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_NOTICE<<"Forcing the creation of the
>> Referenced::getGlobalReferencedMutex()"<>        Referenced::getGlobalReferencedMutex();
>>
>>        OSG_NOTICE<<"Forcing the creation of the
>> Observer::getGlobalObserverMutex()"<>        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

2010-02-19 Thread Rafa Gaitan
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
 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_NOTICE<<"Forcing the creation of the
> Referenced::getGlobalReferencedMutex()"<        Referenced::getGlobalReferencedMutex();
>
>        OSG_NOTICE<<"Forcing the creation of the
> Observer::getGlobalObserverMutex()"<        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

2010-02-19 Thread Robert Osfield
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_NOTICE<<"Forcing the creation of the
Referenced::getGlobalReferencedMutex()"'s lack of the destructor reseting itself to 0.
template
struct ResetPointer
{
ResetPointer():
_ptr(0) {}

ResetPointer(T* ptr):
_ptr(ptr) {}

~ResetPointer()
{
delete _ptr;
_ptr = 0;
}

inline ResetPointer& operator = (T* ptr)
{
if (_ptr==ptr) return *this;
delete _ptr;
_ptr = ptr;
return *this;
}

void reset(T* ptr)
{
if (_ptr==ptr) return;
delete _ptr;
_ptr = ptr;
}

inline T& operator*()  { return *_ptr; }

inline const T& operator*() const { return *_ptr; }

inline T* operator->() { return _ptr; }

inline const T* operator->() const   { return _ptr; }

T* get() { return _ptr; }

const T* get() const { return _ptr; }

T* _ptr;
};

typedef ResetPointer DeleteHandlerPointer;
typedef ResetPointer GlobalMutexPointer;

OpenThreads::Mutex* Referenced::getGlobalReferencedMutex()
{
static GlobalMutexPointer s_ReferencedGlobalMutext = new OpenThreads::Mutex;
return s_ReferencedGlobalMutext.get();
}

// we'll implement Observer::getGlobalObserverMutex() here for convinience as ResetPointer is available.
OpenThreads::Mutex* Observer::getGlobalObserverMutex()
{
static GlobalMutexPointer s_ReferencedGlobalMutext = new OpenThreads::Mutex(OpenThreads::Mutex::MUTEX_RECURSIVE);
return s_ReferencedGlobalMutext.get();
}

// helper class for forcing the global mutex to be constructed when the library is loaded. 
struct InitGlobalMutexes
{
InitGlobalMutexes()
{
OSG_NOTICE<<"Forcing the creation of the Referenced::getGlobalReferencedMutex()"< s_deleteHandler(0);
static DeleteHandlerPointer s_deleteHandler(0);

static ApplicationUsageProxy Referenced_e0(ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_THREAD_SAFE_REF_UNREF","");

void Referenced::setThreadSafeReferenceCounting(bool enableThreadSafeReferenceCounting)
{
#if !defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS)
s_useThreadSafeReferenceCounting = enableThreadSafeReferenceCounting;
#endif
}

bool Referenced::getThreadSafeReferenceCounting()
{
#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS)
return true;
#else
return s_useThreadSafeReferenceCounting;
#endif
}


void Referenced::setDeleteHandler(DeleteHandler* handler)
{
s_deleteHandler.reset(handler);
}

DeleteHandler* Referenced::getDeleteHandler()
{
return s_deleteHandler.get();
}

#ifdef DEBUG_OBJECT_ALLOCATION_DESTRUCTION
OpenThreads::Mutex& getNumObjectMutex()
{
static OpenThreads::Mutex s_numObjectMutex;
return s_numObjectMutex;
}
static int s_numObjects = 0;
#endif

Referenced::Referenced():
#if defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS)
_observerSet(0),
_refCount(0)
#else
_refMutex(0),
_refCount(0),
_observerSet(0)
#endif
{
#if !defined(_OSG_REFERENCED_USE_ATOMIC_OPERATIONS)
#ifndef ENFORCE_THREADSAFE
if (s_useThreadSafeReferenceCounting)
#endif
_refMutex = new OpenThreads::Mutex;
#endif

#ifdef DEBUG_OBJECT_ALLOCATION_DESTRUCTION
{
OpenThreads::ScopedLock lock(getNumObjectMutex());
++s_numObjects;
OSG_NOTICE<<"Object created, total num="< lock(getNumObjectMutex());
++s_numObjects;
OSG_NOTICE<<"Object created, total num="< lock(getNumObjectMutex());
++s_numObjects;
OSG_NOTICE<<"Object created, total num="< lock(getNumObjectMutex());
--s_numObjects;
OSG_NOTICE<<"Object deleted, total num="<0)
{
OSG_WARN<<"Warning: deleting still referenced object "<(_observerSet.get());
#else
if (_observerSet) delete static_cast(_observerSet);
#endif
}

ObserverSet* Referenced::getO

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Rafa Gaitan
Hi Robert,

On Fri, Feb 19, 2010 at 9:33 AM, Robert Osfield
 wrote:
> 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?

Ok, osg examples I've tested are working ok.

>
> Is there anything specific you do about clean up in your app?

I have a plugin that reads some specific xml file (I'm waiting for the
new serializer to change it), it works fine with osgviewer, but crash
in my application I think the problem is with ffmpeg imagestream. It
has a problem but I didn't have time to deep in ffmpeg code and upload
a correction. The problem is when you pause the movie, and you try to
exit application, then it hangs, and don't finish.

It's easy to test it: osgmovie movie.avi.ffmpeg, then press 'p' and
then exit the application.

To avoid that, I added an ugly hack in my code, so in one of the
singletons I get all ImageStream resources (they are ref_ptr in a
manager) and play them before quit. I know is really ugly but two days
ago was working! :).

I will try to remove now that code.. and test if all is cleaning up ok.

Rafa.

>
> Robert.
>
> On Fri, Feb 19, 2010 at 8:28 AM, Rafa Gaitan  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_tree,
>> std::pair const,
>> std::pair, unsigned int> >,
>> std::_Select1st> unsigned int> const, std::pair,
>> unsigned int> > >, std::less> unsigned int> >,
>> std::allocator> int> const, std::pair, unsigned int>
>>> > >::_M_erase(std::_Rb_tree_node> unsigned int> const, std::pair,
>> 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_tree,
>> std::allocator >, std::pair> std::char_traits, std::allocator > const,
>> osg::ref_ptr >,
>> std::_Select1st> std::char_traits, std::allocator > const,
>> osg::ref_ptr > >, std::less> std::char_traits, std::allocator > >,
>> std::allocator> std::char_traits, std::allocator > const,
>> osg::ref_ptr > >
>>>::_M_erase(std::_Rb_tree_node> std::char_traits, std::allocator > const,
>> osg::ref_ptr > >*) + 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
>>  wrote:
>>> Hi Maxim,
>>>
>>> 2010/2/19 Maxim Gammer :
 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

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-19 Thread Robert Osfield
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  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_tree,
> std::pair const,
> std::pair, unsigned int> >,
> std::_Select1st unsigned int> const, std::pair,
> unsigned int> > >, std::less unsigned int> >,
> std::allocator int> const, std::pair, unsigned int>
>> > >::_M_erase(std::_Rb_tree_node unsigned int> const, std::pair,
> 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_tree,
> std::allocator >, std::pair std::char_traits, std::allocator > const,
> osg::ref_ptr >,
> std::_Select1st std::char_traits, std::allocator > const,
> osg::ref_ptr > >, std::less std::char_traits, std::allocator > >,
> std::allocator std::char_traits, std::allocator > const,
> osg::ref_ptr > >
>>::_M_erase(std::_Rb_tree_node std::char_traits, std::allocator > const,
> osg::ref_ptr > >*) + 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
>  wrote:
>> Hi Maxim,
>>
>> 2010/2/19 Maxim Gammer :
>>> 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
>
___
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

2010-02-19 Thread Rafa Gaitan
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_tree,
std::pair const,
std::pair, unsigned int> >,
std::_Select1st const, std::pair,
unsigned int> > >, std::less >,
std::allocator const, std::pair, unsigned int>
> > >::_M_erase(std::_Rb_tree_node const, std::pair,
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_tree,
std::allocator >, std::pair, std::allocator > const,
osg::ref_ptr >,
std::_Select1st, std::allocator > const,
osg::ref_ptr > >, std::less, std::allocator > >,
std::allocator, std::allocator > const,
osg::ref_ptr > >
>::_M_erase(std::_Rb_tree_node, std::allocator > const,
osg::ref_ptr > >*) + 176
13  libcrsFXDB.dylib0x00f1341c
crsFXDB::xml::XMLRegistry::~XMLRegistry() + 44
14  osgdb_cfx.so0x00ecd1d0 __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
 wrote:
> Hi Maxim,
>
> 2010/2/19 Maxim Gammer :
>> 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

2010-02-19 Thread Maxim Gammer
Hi Robert,

Compiled fine on Windows 7 (Visual Studio 2008 (VC9)) All my programs work
fine.

Cheers,
Maxim Gammer

2010/2/19 Robert Osfield 

> Hi Maxim,
>
> 2010/2/19 Maxim Gammer :
> > 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
>
___
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

2010-02-19 Thread Robert Osfield
Hi Maxim,

2010/2/19 Maxim Gammer :
> 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

2010-02-19 Thread Maxim Gammer
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 

> On Fri, Feb 19, 2010 at 7:46 AM, Maxim Gammer  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

2010-02-18 Thread Rafa Gaitan
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
 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  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
>>  wrote:
>>> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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


Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-18 Thread Robert Osfield
On Fri, Feb 19, 2010 at 7:46 AM, Maxim Gammer  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


Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-18 Thread Robert Osfield
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  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
>  wrote:
>> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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
>
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
 *
 * This library is open source and may be redistributed and/or modified under
 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
 * (at your option) any later version.  The full license is in LICENSE file
 * included with this distribution, and on the openscenegraph.org website.
 *
 * This library 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.  See the
 * OpenSceneGraph Public License for more details.
*/

#include 
#include 

using namespace osg;

ObserverNodePath::ObserverNodePath():
_valid(false)
{
}

ObserverNodePath::ObserverNodePath(const ObserverNodePath& rhs):
_valid(false)
{
RefNodePath refNodePath;
if (rhs.getRefNodePath(refNodePath))
{
setNodePath(refNodePath);
}
}

ObserverNodePath::ObserverNodePath(const osg::NodePath& nodePath):
_valid(false)
{
setNodePath(nodePath);
}

ObserverNodePath::~ObserverNodePath()
{
//clearNodePath();
}

ObserverNodePath& ObserverNodePath::operator = (const ObserverNodePath& rhs)
{
if (&rhs==this) return *this;

RefNodePath refNodePath;
if (rhs.getRefNodePath(refNodePath))
{
setNodePath(refNodePath);
}
return *this;
}

void ObserverNodePath::setNodePathTo(osg::Node* node)
{
if (node)
{
NodePathList nodePathList = node->getParentalNodePaths();
if (nodePathList.empty())
{
NodePath nodePath;
nodePath.push_back(node);
setNodePath(nodePath);
}
else
{
if (nodePathList[0].empty())
{
nodePathList[0].push_back(node);
}
setNodePath(nodePathList[0]);
}
}
else
{
clearNodePath();
}
}

void ObserverNodePath::setNodePat

Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-18 Thread Maxim Gammer
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 

> test in Ubuntu 9.10 i386 ... OK!
>
> 2010/2/19 Maxim Gammer 
>
> ok.
>> test in Ubuntu 9.10 amd64  ... OK!
>>
>> )))
>>
>> 2010/2/19 Robert Osfield 
>>
>> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer 
>>> 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

2010-02-18 Thread Maxim Gammer
test in Ubuntu 9.10 i386 ... OK!

2010/2/19 Maxim Gammer 

> ok.
> test in Ubuntu 9.10 amd64  ... OK!
>
> )))
>
> 2010/2/19 Robert Osfield 
>
> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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

2010-02-18 Thread Rafa Gaitan
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
 wrote:
> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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

2010-02-18 Thread Maxim Gammer
ok.
test in Ubuntu 9.10 amd64  ... OK!

)))

2010/2/19 Robert Osfield 

> On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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

2010-02-18 Thread Robert Osfield
On Fri, Feb 19, 2010 at 6:04 AM, Maxim Gammer  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

2010-02-18 Thread Maxim Gammer
Hi Robert,

I upgrade to 2.9.7 in the next days

Cheers,
Maxim Gammer

2010/2/19 Jason Daly 

> 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

2010-02-18 Thread Jason Daly

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


Re: [osg-users] Please test svn/trunk for OpenThread/OpenSceneGraph

2010-02-18 Thread Robert Osfield
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  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

2010-02-18 Thread Jason Daly

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

2010-02-18 Thread Robert Osfield
On Thu, Feb 18, 2010 at 10:33 PM, Torben Dannhauer
 wrote:
> The development speed of OSG is amazing, I'll upgrade to 2.9.7 in the next 
> days.

Thanks for the compliments, but we really need right now is testing of
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

2010-02-18 Thread Torben Dannhauer
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

2010-02-18 Thread Robert Osfield
Thanks Mourad, build fix now merged and submitted to svn/trunk.

On Thu, Feb 18, 2010 at 10:13 PM, Mourad Boufarguine
 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 
> 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

2010-02-18 Thread Mourad Boufarguine
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
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
>


Win32Mutex.cpp
Description: Binary data
___
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

2010-02-18 Thread Robert Osfield
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