Hi there,

        I just had another spate of this - and imagine my suprise to find that
gtkhtml-1.1 seems to be using gconf [ and gconf for whatever reason was
screwed ]:

gtkhtml-ERROR **: gconf error: Configuration server couldn't be
contacted:
 Adding client to server's list failed, CORBA error:
IDL:CORBA/COMM_FAILURE:1.0

aborting...

Program received signal SIGABRT, Aborted.
0x40cb58d1 in __kill () from /lib/libc.so.6
(gdb) bt
#0  0x40cb58d1 in __kill () from /lib/libc.so.6
#1  0x40cb564d in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x40cb6cb8 in abort () at ../sysdeps/generic/abort.c:88
#3  0x40c006ce in g_logv (log_domain=0x4009820e "gtkhtml",
log_level=G_LOG_LEVEL_ERROR, format=0x4009861d "gconf error: %s\n",
args1=0xbffff43c)
    at gmessages.c:391
#4  0x40c0076f in g_log (log_domain=0x4009820e "gtkhtml",
log_level=G_LOG_LEVEL_ERROR, format=0x4009861d "gconf error: %s\n") at
gmessages.c:408
#5  0x40049ed8 in init_properties (klass=0x80ae920) at gtkhtml.c:1962
#6  0x4004aad8 in class_init (klass=0x80ae920) at gtkhtml.c:2465
#7  0x409a7c15 in gtk_type_class_init (type=50197) at gtktypeutils.c:598
#8  0x409a7336 in gtk_type_class (type=50197) at gtktypeutils.c:342
#9  0x409a7425 in gtk_type_new (type=50197) at gtktypeutils.c:362
#10 0x4004af11 in gtk_html_new () at gtkhtml.c:2598
#11 0x0805c183 in editor_control_construct (control=0x80ae680,
vbox=0x80ae518) at editor-control-factory.c:481
#12 0x0805ca6b in editor_control_factory (factory=0x80a8a90,
closure=0x0) at editor-control-factory.c:769
#13 0x40676702 in bonobo_generic_factory_new_multi () from
/usr/lib/libbonobo.so.2
#14 0x40676172 in bonobo_directory_get_name_service () from
/usr/lib/libbonobo.so.2
#15 0x40b98019 in _ORBIT_skel_GNOME_ObjectFactory_create_object
(_ORBIT_servant=0x80a8ae0, _ORBIT_recv_buffer=0x80ab900, ev=0xbffff650, 
    _impl_create_object=0x40676108
<bonobo_directory_get_name_service+120>) at oaf-factory-skels.c:160
#16 0x40bcb200 in ORBit_POA_handle_request (recv_buffer=0x80ab900,
poa=0x807f2b0) at orbit_poa.c:513
#17 0x40bcd46a in ORBit_handle_incoming_request (recv_buffer=0x80ab900)
at server.c:90
#18 0x40bcd691 in ORBit_handle_incoming_message (recv_buffer=0x80ab900)
at server.c:160
#19 0x40be2ce4 in giop_main_handle_connection (connection=0x80ad508) at
connection.c:1214
#20 0x40b96aa9 in orb_handle_connection (source=0x80abb00, cond=G_IO_IN,
cnx=0x80ad508) at oaf-mainloop.c:70
#21 0x40bfca7a in g_io_unix_dispatch (source_data=0x80abb18,
current_time=0xbffff7e0, user_data=0x80ad508) at giounix.c:137
#22 0x40bfe055 in g_main_dispatch (dispatch_time=0xbffff7e0) at
gmain.c:656
#23 0x40bfe659 in g_main_iterate (block=1, dispatch=1) at gmain.c:877
#24 0x40bfe7e8 in g_main_run (loop=0x80aba20) at gmain.c:935
#25 0x409502ab in gtk_main () at gtkmain.c:524
#26 0x4067753b in bonobo_main () from /usr/lib/libbonobo.so.2
#27 0x0805cbf5 in main (argc=1, argv=0xbffff8d4) at
editor-control-factory.c:855
#28 0x40ca3306 in __libc_start_main (main=0x805cb24 <main>, argc=1,
ubp_av=0xbffff8d4, init=0x80514e4 <_init>, fini=0x806c6f0 <_fini>, 
    rtld_fini=0x4000d2dc <_dl_fini>, stack_end=0xbffff8cc) at
../sysdeps/generic/libc-start.c:129
(gdb) up 6

        I couldn't care less about the gconf usage, but there are a couple of
problems here:

        a) The 'abort' is not trapped by bug-buddy, leaving the user with just
a frustrating CORBA_COMM_ERROR back from oafd - since gnome-gtkthml-blah
crashed while it was starting up and before it returned it's OAFIID
correctly. So, it's virtually impossible for the user to tell what went
wrong.

        [ I can't think of any possible way to make debugging that any  
          easier - creative ideas, better than re-directing a child's 
          stderr on fork & trying to grok it on exception welcome -
          or 100% robust code to do that even ;-].

        b) It looks like a CORBA method is being called from a 
           class_init method, this has caused some serious grief in
           Gnome 2.0, where re-enterancy is more likely due to a lot
           less blocking going on. It's possible for something to 
           re-enter, and instantiate the same class, which will not yet
           be initialized, causing much type system / locking grief.

           you might want to move this gconf-ness out of the class init
           into the instance init bit.

        HTH,

                Michael.
        
        

-- 
 [EMAIL PROTECTED]  <><, Pseudo Engineer, itinerant idiot


_______________________________________________
evolution-hackers maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/evolution-hackers

Reply via email to