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