GNOME Bugzilla – Bug 121246
bonobo-activation-server uses excessive resources after app exit
Last modified: 2004-12-22 21:47:04 UTC
using a gnome-2.4 nightly build from 01/09/03. -launch a gnome-session -run 'top' and note the cpu usage -launch an app such as gok, gnopernicus, SwingSet, gedit -close the app -run 'top' again, and note how bonobo is using as much as 95% of CPU time. .this won't reset until bonobo is killed, and even then it will reoccur on exit of the next app.
The process in question is bonobo-activation-server.
The problem ocurs on linux but not on Solaris.
An strace (truss) of the badly behaved process would be extremely helpful - to see what it's trying to do, Also, an lsof -p <pid> would be nice, Clearly something nasty is happening (probably in the child-forking sub-loop). That is - unless in fact it's some client idly belting it with some complex query somehow;
In b-a-s when LincConnection is broken, the broken signal handler active_client_cnx_broken is called. This function calls activation_clients_is_empty_scan which calls ORBit_small_get_connection_status for each connection. This causes an attempt to be made to reconnect the LincCopnnection which was just reported as being broken. On Solaris the connect system call returned ECONNREFUSED and everything works as expected. On Linux we are seeing the connect system call returning EINPROGRESS. This causes link_wait to be called in link_connection_wait_connected_T unlil the connection is resolved. When the connection is nrefused the "broken" signal is again emitted and active_client_cnx_broken is called again. There do not seem to have been any code changes recently which would have cause a change in behavior so it seems that this problem has always been there. One possible solution would be to not emit the "broken" signal if link_connection_try_reconnect is being called. This will require adding a field to LincConnectionPrivate.
That sounds great Padraig; please do hack that up, and post it to the release team for approval. Thanks muchly.
Created attachment 19762 [details] [review] Proposed patch
Patch committed to CVS HEAD.