Hi Carsten

The backtrace is at the bottom of this mail.

 > subChild decreases the reference count of the removed child. Why do
 > you call subRefCP manually as well, is there a corresponding addRefCP
 > call in portions of the code you did not post ?

I don't have any addRefCP, I simply tried the subRefCP because the 
memory usage of the program just gets bigger and bigger during 
execution. And I thought that by decreasing their reference one more, 
the garbage collector would remove the objects. Although it did not help 
and I've forgot to remove line. How to actually destroy an object?

 > hm, why this line ? Do you need to pull in changes from the
 > "getClientThread()"-thread ?
 > Additionally, it does not seem to be protected by barriers, which
 > might be the reason for the errors you see.

The program generally "survives" much longer if i pull the changes. 
Still the program crashes of the same reasons even if I don't pull the 
changes, so this line doesn't really help in the long run :).

About the barrier; barrier syncning is done using the command: 
getClient()->callSync();
The external thread sets needSync to true and enter a barrier (inside 
the client class). And the glut main loop notices that needSync is true, 
and enter syncning.

Look further up in the previous mail to see the function.
I sync after deletion of all "dots", and after I added a number of 
"dots" to the scene. More synchronization should not be needed?

Hopefully the back trace will shed some light, cause I don't understand 
whats happening :)

Many thanks!
// Martin


When the program crashes, the servers complain with the waring text:
WARNING:  Can't find container id:602 - different ids everytime

The backtrace for the client looks like this:
*****************************
// this is using multicast
#0  0xb7fd1410 in ?? ()
#1  0xb56e7f8c in ?? ()
#2  0x00000006 in ?? ()
#3  0x00006c5c in ?? ()
#4  0xb609e811 in raise () from /lib/tls/i686/cmov/libc.so.6
#5  0xb609ffb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#6  0xb628a994 in __gnu_cxx::__verbose_terminate_handler () from 
/usr/lib/libstdc++.so.6
#7  0xb62883b5 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#8  0xb62883f2 in std::terminate () from /usr/lib/libstdc++.so.6
#9  0xb628852a in __cxa_throw () from /usr/lib/libstdc++.so.6
#10 0xb689a3e8 in osg::GroupSockConnection::wait (this=0x825ad20, 
timeout=-1)
     at 
/home/foobar/cvs/OpenSG/Source/Base/Network/Socket/OSGGroupSockConnection.cpp:340
#11 0xb68931a6 in osg::GroupMCastConnection::wait (this=0x825ad20, 
timeout=-1)
     at 
/home/foobar/cvs/OpenSG/Source/Base/Network/Socket/OSGGroupMCastConnection.cpp:199
#12 0xb794f600 in osg::MultiDisplayWindow::clientSwap (this=0x8234b70)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/MultiDisplay/OSGMultiDisplayWindow.cpp:359
#13 0xb7937b9e in osg::ClusterWindow::swap (this=0x8234b70)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/Base/OSGClusterWindow.cpp:459
#14 0xb7934c81 in osg::ClusterWindow::render (this=0x8234b70, 
action=0x8259280)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/Base/OSGClusterWindow.cpp:443
#15 0xb78b0ef9 in osg::SimpleSceneManager::redraw (this=0x82353d8)
     at 
/home/foobar/cvs/OpenSG/Source/System/Window/OSGSimpleSceneManager.cpp:669
#16 0x08055972 in OpenSGClient::display () at OpenSGClient.cpp:110
#17 0xb6545d3a in glutMainLoop () from /usr/lib/libglut.so.3
#18 0x08055ede in OpenSGClient::init (this=0x80c9e50) at OpenSGClient.cpp:65
#19 0x08057bdd in createOpenSG (ptr=0xbf883050) at API.cpp:30
#20 0xb67bba73 in osg::BasePThreadBase::threadFunc (pThreadArg=0x818aa54)
#21 0xb62c6240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#22 0xb61413de in clone () from /lib/tls/i686/cmov/libc.so.6

// this is using sockpipeline
#0  0xb7f3e410 in ?? ()
#1  0xb5654fbc in ?? ()
#2  0x00000006 in ?? ()
#3  0x00006d16 in ?? ()
#4  0xb600b811 in raise () from /lib/tls/i686/cmov/libc.so.6
#5  0xb600cfb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#6  0xb61f7994 in __gnu_cxx::__verbose_terminate_handler () from 
/usr/lib/libstdc++.so.6
#7  0xb61f53b5 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#8  0xb61f53f2 in std::terminate () from /usr/lib/libstdc++.so.6
#9  0xb61f552a in __cxa_throw () from /usr/lib/libstdc++.so.6
#10 0xb68073e8 in osg::GroupSockConnection::wait (this=0x825ad20, 
timeout=-1)
     at 
/home/foobar/cvs/OpenSG/Source/Base/Network/Socket/OSGGroupSockConnection.cpp:340
#11 0xb78bc600 in osg::MultiDisplayWindow::clientSwap (this=0x8234b70)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/MultiDisplay/OSGMultiDisplayWindow.cpp:359
#12 0xb78a4b9e in osg::ClusterWindow::swap (this=0x8234b70)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/Base/OSGClusterWindow.cpp:459
#13 0xb78a1c81 in osg::ClusterWindow::render (this=0x8234b70, 
action=0x8259280)
     at 
/home/foobar/cvs/OpenSG/Source/System/Cluster/Window/Base/OSGClusterWindow.cpp:443
#14 0xb781def9 in osg::SimpleSceneManager::redraw (this=0x82353d8)
     at 
/home/foobar/cvs/OpenSG/Source/System/Window/OSGSimpleSceneManager.cpp:669
#15 0x08055966 in OpenSGClient::display () at OpenSGClient.cpp:111
#16 0xb64b2d3a in glutMainLoop () from /usr/lib/libglut.so.3
#17 0x08055ed2 in OpenSGClient::init (this=0x80c9e50) at OpenSGClient.cpp:66
#18 0x08057bd1 in createOpenSG (ptr=0xbf87f850) at API.cpp:30
#19 0xb6728a73 in osg::BasePThreadBase::threadFunc (pThreadArg=0x818aa54)
     at /home/foobar/cvs/OpenSG/Source/Base/Base/OSGBaseThread.cpp:128
#20 0xb6233240 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#21 0xb60ae3de in clone () from /lib/tls/i686/cmov/libc.so.6
*****************************

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to