Re: Bonobo activation: new library to old bonobo-activation-server
"Grahame Bowland" <[email protected]> Thu, 10 May 2007 11:04:27 +0800
| Newsgroups | gmane.comp.gnome.components |
|---|---|
| Message-ID | <[email protected]> |
On 09/05/07, Nickolay V. Shmyrev <[email protected]> wrote: > Hello Grahame. This message is indeed present in sources: [snip] > But I suppose we should find why it's not listed in query results. Can you attach .server > file for example? Probably it has some errors or incompatibilities. Probably there is sense to build > b-a-s from sources and just debug it. It's not very large program really. > > Also can you run `bonobo-activation-run-query "1"`, it should list all the service, I suppose > that bug with repoid's naming is possible too. Hi Nickolay Thanks for the suggestions! I've poked around with GDB a bit more, and I think I've found the problem. I'm not sure how to resolve it though. In bonobo_activation_activate, the system tries to run Bonbo_ActivationContext_activateMatchingFull, and if that fails (which it does with this old bonobo activation server) it tries to to run Bobono_ActivationContext_activateMatching. This fails, but the method does actually run within the bonobo activation server. In the old bonobo activation server, (2.2.2) within impl_Bonobo_ActivationContext_activateMatching it tries to get "hostname" from the CORBA_Context. This fails, setting a CORBA exception, and the method notices the exception and returns failure. Note that all of this is happening before activating my component; this is just my program trying to get a new bonobo activation server to talk to (activating OAFID:Bonobo_Moniker_Oaf). New libbonobo mentions in many places that setting "hostname" is deprecated, but as far as I can see with the debugger it still does set it. So either something odd is happening sending the CORBA_Context over, or something is clearing the value before it is sent through. Are there any tips for peering into CORBA_Context? I'd like to check that hostname is *really* being set on the CORBA_Context. If desperate I can just modify the old bonobo-activation server to not care about hostname (it doesn't actually use it for anything) but it seems like there is a genuine bug here : newer libbonobo can't talk to an old activation server.