regarding the vicious bug 86235 and its duplicates (that will probably pour in any moment now), here's what I just put in bugzilla: I know this is a lengthy comment, but... up to this week, ggv seemed (and was) quite stable, but lately this segfaulting stuff happens to me as well: it seems to have started after upgrading the gnome installation. a short summary would be: GGV only starts successfully in about 50% of cases when it needs to run a new ggv-postscript-viewer factory to get the control from. if it reuses an already running factory, it _always_ starts up without problems. I believe that it is this bug that comes in (at least) two different incarnations: sometimes ggv (the shell) just segfaults upon startup and sometimes it gives messages of the following kind: (ggv:28631): Bonobo-WARNING **: Excess widgets at the end of the container; weird Bonobo-Message: Widget type '(null)' with node: '/Sidebar/GgvSidebar' Bonobo-Message: Widget type '(null)' with node: '/Sidebar/GgvSidebar' Bonobo-Message: Widget type '(null)' with node: '/Sidebar/GgvSidebar' and then the sidebar looks weird. but, behold: if the very ggv-postscript-viewer factory process that was used in the above case if used for one more instance of GGV, it works excellently: even the sidebar looks normal. as stated above, I have found out that this _only_ occurs when the GGV viewer factory is being started (the ggv-postscript-viewer executable is being run by bonobo-activation-server). if an already running factory is used (ie when one GGV instance is already running and one continuously starts and stops another instance of GGV) everything works fine. I have also noticed that after upgrading the gnome installation eog also started to fail (in about 1 out of 5 attempts to run it with a picture filename from a command line): ** (eog:29214): WARNING **: Unknown CORBA exception id: 'IDL:omg.org/CO FAILURE:1.0' but the eog viewer factory runs just fine and further attempts to retrieve controls from that very factory succeed. Nautilus sometimes crashes as well when loading a PS document via GGV control: it doesn't take down the ggv-postscript-viewer process though even when it uses an already running one, only nautilus dies and the ggv-postscript-viewer factory can be reused by a new GGV (or nautilus). so I started to wonder: might ORBit or bonobo be the culprits in this case? perhaps some sort of communication error? I also noticed that GGV fails (with symptoms similar to the above) when it needs to start a new factory process in a slow environment (like when running it from gdb, see below). a timeout expiring too soon? btw, I can't debug GGV by running it from gdb when GGV needs to run a new factory - it receives a SIGPIPE in writev. I can run it from gdb when it can reuse an already running factory. here's the stack backtrace: #0 0x409f4257 in writev () from /lib/libc.so.6 #1 0x40787037 in write_data (cnx=0x80a0dd8, qw=0xbffff22c) at linc-connection.c:547 #2 0x407871a2 in linc_connection_writev (cnx=0x80a0dd8, vecs=0x8078900, nvecs=2, opt_write_opts=0x8079160) at linc-connection.c:647 #3 0x40697656 in giop_send_buffer_write (buf=0x8078780, cnx=0x80a0dd8, blocking=0) at giop-send-buffer.c:406 #4 0x4069c66c in orbit_small_marshal (obj=0x80a1930, cnx=0x80a0dd8, mqe=0xbffff348, request_id=3221222248, m_data=0x406835c4, args=0xbffff3e8, ctx=0x8070f10) at orbit-small.c:364 #5 0x4069cefc in ORBit_small_invoke_stub (obj=0x80a1930, m_data=0x406835c4, ret=0xbffff3e4, args=0xbffff3e8, ctx=0x8070f10, ev=0xbffff86c) at orbit-small.c:621 #6 0x4069cdb3 in ORBit_small_invoke_stub_n (object=0x80a1930, methods=0x40683664, index=8, ret=0xbffff3e4, args=0xbffff3e8, ctx=0x8070f10, ev=0xbffff86c) at orbit-small.c:573 #7 0x4067b217 in Bonobo_ActivationContext_activate_from_id (_obj=0x80a1930, aid=0x80a3168 "OAFIID:GNOME_GGV_Control", flags=0, _ctx=0x8070f10, ev=0xbffff86c) at Bonobo_ActivationContext-stubs.c:345 #8 0x4067c759 in bonobo_activation_activate_from_id ( aid=0x80a3168 "OAFIID:GNOME_GGV_Control", flags=0, ret_aid=0x0, ev=0xbffff86c) at bonobo-activation-activate.c:475 #9 0x4008ce7d in bonobo_moniker_oaf_resolve (moniker=0x80a3570, options=0xbffff4d8, requested_interface=0x80a3148 "IDL:Bonobo/Control:1.0", ev=0xbffff86c) at bonobo-moniker-oaf.c:42 #10 0x404d2bea in bonobo_marshal_BOXED__RESOLVEOPTIONS_STRING_BOXED ( closure=0x80a3230, return_value=0xbffff67c, n_param_values=5, param_values=0x80a2488, invocation_hint=0x0, marshal_data=0x0) at bonobo-moniker-simple.c:59 #11 0x4079dfbb in g_closure_invoke (closure=0x80a3230, return_value=0xbffff67c, n_param_values=5, param_values=0x80a2488, invocation_hint=0x0) at gclosure.c:437 #12 0x404e03fb in bonobo_closure_invoke_va_list (closure=0x80a3230, return_value=0xbffff67c, var_args=0xbffff6a4) at bonobo-types.c:415 #13 0x404e0611 in bonobo_closure_invoke (closure=0x80a3230, return_type=134695801) at bonobo-types.c:474 #14 0x404d2cf1 in simple_resolve (moniker=0x80a3570, options=0xbffff7b4, requested_interface=0x80a3148 "IDL:Bonobo/Control:1.0", ev=0xbffff86c) at bonobo-moniker-simple.c:87 #15 0x404d21a5 in impl_resolve (servant=0x80a3584, options=0xbffff7b4, requested_interface=0x80a3148 "IDL:Bonobo/Control:1.0", ev=0xbffff86c) at bonobo-moniker.c:325 #16 0x404e0c14 in Bonobo_Moniker_resolve (_obj=0x80a3678, options=0xbffff7b4, requestedInterface=0x80a3148 "IDL:Bonobo/Control:1.0", ev=0xbffff86c) at Bonobo-stubs.c:111 #17 0x404d3d26 in bonobo_moniker_client_resolve_default (moniker=0x80a3678, interface_name=0x8057f4a "Bonobo/Control", opt_ev=0xbffff86c) at bonobo-moniker-util.c:586 #18 0x404d3e65 in bonobo_get_object ( name=0x8057f59 "OAFIID:GNOME_GGV_Control", interface_name=0x8057f4a "Bonobo/Control", opt_ev=0xbffff86c) at bonobo-moniker-util.c:635 regards, jaKa -- email: jaka gnu org w3: http://pluton.ijs.si/~jaka
Attachment:
signature.asc
Description: This is a digitally signed message part