Re: bug (?) in libbonobo that is breaking evolution
- From: Michael Meeks <michael ximian com>
- To: Jon Trowbridge <trow ximian com>
- Cc: <gnome-components-list gnome org>
- Subject: Re: bug (?) in libbonobo that is breaking evolution
- Date: Sun, 9 Sep 2001 23:47:03 -0400 (EDT)
Hi Jon,
This chunk of code, is designed to get both ends of the X
connection - and worse all the Gtk+ widgets idea of what X resources are
around, and all the destruction signals synchronised on both sides of the
synchronous CORBA connection.
Unfortunately it seems(?) that gtk_events_pending is always going
to return TRUE if you have an idle handler; so I imagine we'll just block
in there.
I'd be interested to see a stack trace for the problem; quite what
to do about it is somewhat non-obvious to me.
Hmm,
Michael.
On 7 Sep 2001, Jon Trowbridge wrote:
> In the evolution addressbook, we've been plagued by 100%-cpu-sucking
> lock-ups. I've traced the problem to a race condition in which horrible
> things happen when impl_Bonobo_Control_realize gets called at a
> particularly inopportune time.[1]
>
> We are spinlocking somewhere inside of the gtk_events_pending() call in:
>
> if (!control->priv->is_local) {
> while (gtk_events_pending ())
> gtk_main_iteration ();
> gdk_flush ();
> }
>
> (this is from bonobo/bonobo-control.c, around line 460)
>
> at the bottom of a long, convoluted stack trace. If I comment this code
> out, the problem disappears without any obvious adverse effects.
>
> I'm a bit confused by the fact that is_local must be false when this
> happens, since my factory and the embedding app are always both running
> on the same machine. Is this the meta-bug (i.e.
> bonobo_gtk_widget_from_x11_id is failing to correctly distinguish
> between the local and the remote case), or have I totally misunderstood
> what is going on here?
>
> Any insights are greatly appreciated.
>
> Thanks,
> -JT
>
>
> [1] To be specific, during event processing that occurs inside of a call
> to bonobo_ref that occurs during a signal emission from inside of
> an idle function...
>
>
>
>
>
> _______________________________________________
> gnome-components-list mailing list
> gnome-components-list gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-components-list
>
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]