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