Hi, 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. 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)? Hope someone may have an idea. Thanks, Michael -------- Original-Nachricht -------- > Datum: Mon, 22 Aug 2011 16:19:13 +0200 > Von: "Michael Raab" <michael-r...@gmx.de> > An: opensg-users@lists.sourceforge.net > Betreff: [Opensg-users] OpenSG1.8 - Crash after veiwport replacement in > cluster mode > Hi, > > I'm trying to shadow on/off during the run-time of our application running > in cluster mode. When switching shadow on, I remove all current viewports > (on the client application) and replace them with ShadowViewports. After > that I would expect the changes to synced to the render servers. That seems > not work as expected as the connected render server crashes in > RemoteAspect::recvSync() with RemoteSyncError() Exception! Seems that cmd > variable is 0, > which should not happen... > > Looking at the client side where the sync message is generated, it seems > to me that ClusterWindow::frameInit is called twice. One time by > ClusterWindow::render() and one time by > ShadowViewport::render()->TreeRenderer::render()->ClusterWindow()->frameInit(). > Maybe that is a problem? > > Thanks & Best regards, > Michael > -- > NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie! > Jetzt informieren: http://www.gmx.net/de/go/freephone > > ------------------------------------------------------------------------------ > uberSVN's rich system and user administration capabilities and model > configuration take the hassle out of deploying and managing Subversion and > the tools developers use with it. Learn more about uberSVN and get a free > download at: http://p.sf.net/sfu/wandisco-dev2dev > _______________________________________________ > Opensg-users mailing list > Opensg-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/opensg-users -- Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de ------------------------------------------------------------------------------ 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