Comment 7 for bug 448084

Revision history for this message
Ted Gould (ted) wrote : Re: [Bug 448084] Re: gnome-panel crashed with SIGSEGV in gtk_widget_show()

On Wed, 2009-10-28 at 08:59 +0000, Sebastien Bacher wrote:
> Ted, several of those bugs seem to indicate indicator applet issues,
> could it be that the gnome-panel change is crashing when the indicator-
> applet has issues? Could you have a look to the issue there?

I don't see anything indicator-applet related in the stack trace, and in
theory, the gnome-panel binary should protected from anything that
indicator-applet could do via Bonobo. So it seems unlikely that
something in the indicator-applet itself could be the cause.

I was curious about the patch that we've applied to hide the system
items when indicator-applet-session gets removed. The reason I think it
may be suspect is that the crash is happening in panel applet remove,
but the function is gtk_widget_show() -- it's atypical that you'd show
something on a destroy. But, infact that's what the FUSA patch does
when FUSA is removed.

It looks like the gtk_widget_show() is being called directly from the
marshaller, which would mean that the show function itself would need to
be the callback function. All of the signal handlers in the patch use a
wrapper function to check which applet is being requested. But, it's
possible that the compilers is doing a tail-recursion optimization...

All in all, that's a long way of saying: I'm not sure what's causing
this. But I think that the system item removal patch is suspect. It
could be made more bullet-proof in that it could attach signal handlers
to the widgets to ensure they aren't destroyed anytime. I'm not sure
why that'd be happening though, and why would wouldn't have seen this on
Jaunty and Intrepid as well. And it seems like a big change for a
Karmic update. Thoughts?