Hi Carsten,

checking getRoot() for NullFC fixed that issue. Would be great if you can 
commit this change along with the patch I sent you some weeks ago.

Thanks,
Michael


-------- Original-Nachricht --------
> Datum: Thu, 25 Aug 2011 22:16:32 +0200
> Von: Michael Raab <michael-r...@gmx.de>
> An: opensg-users@lists.sourceforge.net
> Betreff: Re: [Opensg-users] OpenSG1.8 - Crash after veiwport replacement      
> in cluster mode

> Am 25.08.2011 17:31, schrieb Carsten Neumann:
> >     Hello Michael,
> >
> > On 08/25/2011 08:21 AM, Michael Raab wrote:
> >> I think I solved this issue. Indeed the problem was that the
> OSGTreeRenderer calls win->frameInit() directly. In case of a ClusterWindow,
> frameInit means sending the sync packet from client to server. As 
> ClusterWindow
> itself sends the packet before, the server is waiting for the swap command but
> receives the sync message. That caused the crash.
> >> As I derive from ClusterWindow I simply separated the sync code from
> the frameInit call and now it works. Nevertheless may be someone who knows
> the ShadowViewport code may have a look if directly calling win->frameInit()
> there is necessary.
> > glad to hear you found a solution/workaround. Sorry for being
> > unresponsive at the moment, but I have some work that is on a tight
> > deadline...
> > FWIW the frameInit call from the ShadowViewport looks suspicious,
> > normally it is a Window's responsibility to call frameInit before
> > passing control to the viewports - I'm not familiar enough with the
> > details of ShadowViewport to say if it needs special handling here.
> 
> Who knows about the ShadowViewport implementation?
> 
> >> The bad news is I have another problem. I'm able turn on shadow
> rendering during run-time by creating new ShadowViewports. But when I try to 
> turn
> shadow rendering off (by destroying the shadow viewports) the application
> crashes again. The crash arises when the sync arrives at the server side.
> The server tries to delete the appropriate shadow viewports. The shadow
> viewport destructor is called. The crash happens in function clearLights() 
> line
> 1372 (OSGShadowViewport.cpp)
> >>
> >> getRoot()->subChild(_lightCamBeacons[i]);
> >>
> >> Seems that either getRoot() or _lightCamBeacons[i] points to something
> wrong. Have someone ever tried to use ShadowViewports in cluster
> configurations (and tried to sync the destruction of such a viewport)?
> > my guess would be that root has already been set to NullFC by the sync,
> > it should be checked before being accessed in clearLights.
> > If _lightCamBeacons[i] does not point to something valid I'd say the
> > ShadowViewport is missing addRefCP calls when adding light beacons to
> > this vector.
> >
> >     Cheers,
> >             Carsten
> 
> I'll try tomorrow.
> 
> Thanks,
> Michael
> 
> 
> >
> ------------------------------------------------------------------------------
> > EMC VNX: the world's simplest storage, starting under $10K
> > The only unified storage solution that offers unified management
> > Up to 160% more powerful than alternatives and 25% more efficient.
> > Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
> > _______________________________________________
> > Opensg-users mailing list
> > Opensg-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/opensg-users
> >
> 
> 
> ------------------------------------------------------------------------------
> EMC VNX: the world's simplest storage, starting under $10K
> The only unified storage solution that offers unified management 
> Up to 160% more powerful than alternatives and 25% more efficient. 
> Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
> _______________________________________________
> Opensg-users mailing list
> Opensg-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensg-users

-- 
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie!               
Jetzt informieren: http://www.gmx.net/de/go/freephone

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to