Re: Problem with instantiating thru bonobo_activation_query.



>I have been trying to implement a prototype for my app's interface to
>gnome-speech for some time.
>
>The code behaves quite erraticly -- some time festival driver [default
>so I am using it] is instantiated correctly [so everything works just
>fine] and some times only bonobo-activate and festival-synthe
>processes get instantiated and final festival process does not.
>
>I set the BONOBO_ACTIVATION_DEBUG_OUTPUT =1 so that correct message
>behind this failure could be seen. Seeking help/guidance on this
>problem.
>
>Here is the relevant code:
>               int num_arg = 0;
>               CORBA_Environment ev;
>
>               CORBA_exception_init (&ev);
>               if (!bonobo_init (&num_arg, NULL))
>               {
>                       printf ("Can't initialize Bonobo...\n");
>                       return false;
>               }
>               servers = bonobo_activation_query (
>               "repo_ids.has ('IDL:GNOME/Speech/SynthesisDriver:0.2')",
>               NULL, ev);
>               if (BONOBO_EX (ev)) {
>                       return CORBA_OBJECT_NIL;
>               }
>               if (!servers)
>                       return CORBA_OBJECT_NIL;
>               i =0;
>               info = &servers->_buffer[i];
>               rv = bonobo_activation_activate_from_id (
>                      (const Bonobo_ActivationID) info->iid,
>                      0, NULL, ev);
>               CORBA_free (servers);
>
>Here is what I get as error message:
>
>** (process:4560): WARNING **: Update registry (nil)
>** (process:4560): WARNING **: Compare old_mtime on
>'/usr/lib/bonobo/servers' with 0 ==? 1110381203
>** (process:4560): WARNING **: Re-load 1 0
>iid OAFIID:BrokenNoType:20000808 has a NULL type
>invalid character '#' in iid
>'OAFIID:This#!!%$iid%^$%_|~!OAFIID_ContainsBadChars'
>** (process:4560): WARNING **: Server register.
>'OAFIID:Bonobo_CosNaming_NamingContext' : 0x8079320
>** (process:4560): WARNING **: Update registry 0x8088658
>** (process:4560): WARNING **: Update registry 0x8088658
>** (process:4560): WARNING **: Update registry 0x8088658
>Activate 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2'
>Activated 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' = (nil)
>** (process:4560): WARNING **: Activation of
>'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' failed with
>exception 'IDL:Bonobo/GeneralError:1.0'
>Bonobo is initializedNo server selected.
>** (process:4560): WARNING **: Server register.
>'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' : 0x8083808
>
>
>-- 
>Aditya Kumar Pandey
>----------------------------------------
>Contact:  +91-9868263500; +91-11-25165432
>_______________________________________________
>gnome-components-list mailing list
>gnome-components-list gnome org
>http://mail.gnome.org/mailman/listinfo/gnome-components-list


I see you have rather old version of gnome-speech. Currently OAFIID has proto0.3 not 0.2. Probably upgrade can help. Also there is test-speech.c in gnome-speech/test directory. Try it first, it contains similar activation code and should work.

Anyhow I don't think that problem is in the client code. It's likely you have some problems with bonobo or festival server, try some debugging on it. You can explicitely start server binary under debugger and with enabled BONOBO_ACTIVATION_DEBUG and BONOBO2_DEBUG=all and then safely run client.






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]