Re: [osg-users] osg(terrain) krasches on a double delete

2012-09-05 Thread Ola Nilsson
Hi Robert, Good. This also works for me in the osgterrain-crash-program. I've updated our patches to match this fix, and our internal tests also pass. Thanks for taking the time and sharing this great software! Ola On Fri, 31 Aug 2012 18:03:33 +0200, Robert Osfield

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-31 Thread Robert Osfield
Hi Ola, Brad et. al, I have just checked in a fix, similar to Ola's suggested fix, with this fix I can't get Ola's modified osgterrain to crash and when the code had debugging code in place it showed that it was detected the problem TerrainTile's that were being deleted and correctly handled

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Ola Nilsson
Hi Robert et al., I finally got the time to investigate the code (osgTerrain/Terrain.cpp). As I see it, it is not necessary to introduce a new data structure to hold the list of update tiles. The issue was that a TerrainTile could be partly destructed but not unregisterTile:ed, when an

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Robert Osfield
Hi Ola, I don't think your suggested change will help as you are taking a reference to a potentially deleted object, the Terrain::_mutex that is locked doesn't effected the children just the management of the Terrain::_terrainTileMap and _updateTerrainTileSet. My current thought is that we'll

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Ola Nilsson
Hi Robert, Hm, there is probably something I don't see. I am new to the code... I assumed that a TerrainTile cannot be _completely_ deleted in the Terrain::update call, because if it were it _must_ have passed through Terrain::unregisterTile and then it wouldn't be in the update set to

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Robert Osfield
Hi Ola, On 27 August 2012 15:23, Ola Nilsson o...@weatherone.tv wrote: Hm, there is probably something I don't see. I am new to the code... I assumed that a TerrainTile cannot be _completely_ deleted in the Terrain::update call, because if it were it _must_ have passed through

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Ola Nilsson
On Mon, 27 Aug 2012 16:40:39 +0200, Robert Osfield robert.osfi...@gmail.com wrote: Hi Ola, On 27 August 2012 15:23, Ola Nilsson o...@weatherone.tv wrote: Hm, there is probably something I don't see. I am new to the code... I assumed that a TerrainTile cannot be _completely_ deleted in the

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Robert Osfield
Hi Ola, On 27 August 2012 16:31, Ola Nilsson o...@weatherone.tv wrote: Yes, the ref count is zero but the destructor chain has not yet completed, by induction it hasn't passed ~TerrainTile. (If it had unregisterTile would have been called and completed.) Right? Thinking about your

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-27 Thread Ola Nilsson
Hi Robert, On Mon, 27 Aug 2012 17:58:58 +0200, Robert Osfield robert.osfi...@gmail.com wrote: Hi Ola, On 27 August 2012 16:31, Ola Nilsson o...@weatherone.tv wrote: Yes, the ref count is zero but the destructor chain has not yet completed, by induction it hasn't passed ~TerrainTile. (If

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-22 Thread Ola Nilsson
Hi Robert, Ok, I see the problem. If I get the time later today I will look into the code in depth. /Ola On Tue, 21 Aug 2012 20:43:44 +0200, Robert Osfield robert.osfi...@gmail.com wrote: Hi Ola et. al, I've looked at the problem Terrain containers and they present an interesting

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Ola Nilsson
...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Ola Nilsson Sent: Thursday, 9 August 2012 11:41 PM To: OpenSceneGraph Users Subject: Re: [osg-users] osg(terrain) krasches on a double delete Here is some more info on how to reproduce our crash. 1. Compile

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Christiansen, Brad
:36 PM To: OpenSceneGraph Users Subject: Re: [osg-users] osg(terrain) krasches on a double delete Interesting. Did you notice any slowdown? In my experience, even if the crash doesn't happen for a long time, a significant slowdown is almost immediate. Ola On Tue, 21 Aug 2012 07:41:27 +0200

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Robert Osfield
Hi Ola, On 21 August 2012 10:36, Ola Nilsson o...@weatherone.tv wrote: Interesting. Did you notice any slowdown? In my experience, even if the crash doesn't happen for a long time, a significant slowdown is almost immediate. The slow down is simply down to all the tiles that have been loaded

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Robert Osfield
Hi Ola et. al, I've looked at the problem Terrain containers and they present an interesting issue - the std::setTerrainTile* that is used can't easily be converted into an std::set osg::observer_ptrTerrainTile as the observer_ptr can have it's value changed to NULL by another thread when

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Christiansen, Brad
, 22 August 2012 2:44 AM To: OpenSceneGraph Users Subject: Re: [osg-users] osg(terrain) krasches on a double delete Hi Ola et. al, I've looked at the problem Terrain containers and they present an interesting issue - the std::setTerrainTile* that is used can't easily be converted into an std::set

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-21 Thread Christiansen, Brad
] On Behalf Of Robert Osfield Sent: Wednesday, 22 August 2012 2:44 AM To: OpenSceneGraph Users Subject: Re: [osg-users] osg(terrain) krasches on a double delete Hi Ola et. al, I've looked at the problem Terrain containers and they present an interesting issue - the std::setTerrainTile* that is used

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Ola Nilsson
Bump. I would really appreciate some info on this problem. The double delete originates from the DatabasePager, but the destruction of these objects should be safe(ref counted as well as threadsafe) shouldn't it? I would be grateful if someone could take a look at the stacktrace (prev

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Robert Osfield
Hi Ola, On 20 August 2012 16:29, Ola Nilsson o...@weatherone.tv wrote: The double delete originates from the DatabasePager, but the destruction of these objects should be safe(ref counted as well as threadsafe) shouldn't it? I would be grateful if someone could take a look at the stacktrace

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Robert Osfield
Hi Ola, I've been doing a code review of Terrain and TerrainTile looking at how deletion of TerrainTile will affect the internal TerrainTile pointers held in Terrain that track all the tiles. There internal TerrainTile pointers in Terrain are protected by a reentrant mutex but I believe a

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Ola Nilsson
Hi, On 20 aug 2012, at 17.47, Robert Osfield wrote: Hi Ola, On 20 August 2012 16:29, Ola Nilsson o...@weatherone.tv wrote: The double delete originates from the DatabasePager, but the destruction of these objects should be safe(ref counted as well as threadsafe) shouldn't it? I would be

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Ola Nilsson
Hi Robert, This explains the behavior we have experienced, the crashes we observed were notoriously difficult to reproduce in a debug environment (gdb, valgrind, etc.). Thanks for taking your time to investigate this! Ola On 20 aug 2012, at 18.41, Robert Osfield wrote: Hi Ola, I've

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-20 Thread Christiansen, Brad
: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Ola Nilsson Sent: Thursday, 9 August 2012 11:41 PM To: OpenSceneGraph Users Subject: Re: [osg-users] osg(terrain) krasches on a double delete Here is some more info on how to reproduce our

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-10 Thread Ola Nilsson
I have now also reproduced the crash on darwin/osx in i386 mode. Cheers, Ola On Thu, 09 Aug 2012 17:41:12 +0200, Ola Nilsson o...@weatherone.tv wrote: Here is some more info on how to reproduce our crash. 1. Compile the attached osgterrain program by overwriting

Re: [osg-users] osg(terrain) krasches on a double delete

2012-08-09 Thread Ola Nilsson
Here is some more info on how to reproduce our crash. 1. Compile the attached osgterrain program by overwriting examples/osgterrain/osgterrain.cpp and recompile. 2. Run the program with http://www.openscenegraph.org/data/earth_bayarea/earth.ive as input. 3. Wait (no further input is

[osg-users] osg(terrain) krasches on a double delete

2012-08-07 Thread Ola Nilsson
Hi, We have been looking for a hard-to-reproduce crash in our software that seems to originate from a double delete inside osg. I have (finally) been able to reproduce the crash using a version of the osgterrain-example that _exaggerates_ the usage pattern that crashes our application.