Battery status notification icon seems to be crashing repeatedly and adding empty space to the notification area

Bug #531103 reported by Pedro Côrte-Real
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
indicator-application (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: gnome-power-manager

The battery status notification icon in gnome-power-manager seems to be crashing. Every time it does it adds empty space to the notification are to the point where it fills the whole panel. Here's the error message that gets repeated in .xsession-errors:

(gnome-power-manager:1586): GLib-GObject-WARNING **: invalid cast from `GtkStatusIcon' to `GtkWidget'

(gnome-power-manager:1586): Gtk-CRITICAL **: gtk_widget_hide: assertion `GTK_IS_WIDGET (widget)' failed

ProblemType: Bug
Architecture: amd64
Date: Tue Mar 2 18:33:55 2010
DistroRelease: Ubuntu 10.04
EcryptfsInUse: Yes
Package: gnome-power-manager 2.29.91-0ubuntu3
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-15.22-generic
SourcePackage: gnome-power-manager
Uname: Linux 2.6.32-15-generic x86_64

Revision history for this message
Pedro Côrte-Real (pedrocr) wrote :
Revision history for this message
Pedro Côrte-Real (pedrocr) wrote :

I reproduced the bug consistently by running it in g-p-m in gdb with:

CK_FORK="no" G_DEBUG="fatal_criticals" libtool --mode=execute gdb gnome-power-manager

Starting with my laptop connected to AC power I unplugged and got the immediate warning and this stack trace:

#0 IA__g_logv (log_domain=<value optimized out>, log_level=<value optimized out>, format=<value optimized out>,
    args1=0x7fffffffdd50) at /build/buildd/glib2.0-2.23.4/glib/gmessages.c:555
#1 0x00007ffff4a556e3 in IA__g_log (log_domain=0x7ffff4a08e40 "", log_level=0, format=0x1 <Address 0x1 out of bounds>)
    at /build/buildd/glib2.0-2.23.4/glib/gmessages.c:569
#2 0x00007ffff6801269 in unfallback (self=0x6c4a00, status_icon=0x6952a0) at libappindicator/app-indicator.c:898
#3 0x00007ffff680029c in fallback_timer_expire (data=<value optimized out>) at libappindicator/app-indicator.c:804
#4 0x00007ffff4a4b5cb in g_timeout_dispatch (source=0x6b2040, callback=0, user_data=0x1)
    at /build/buildd/glib2.0-2.23.4/glib/gmain.c:3396
#5 0x00007ffff4a4adf2 in g_main_dispatch (context=0x66ed70) at /build/buildd/glib2.0-2.23.4/glib/gmain.c:1960
#6 IA__g_main_context_dispatch (context=0x66ed70) at /build/buildd/glib2.0-2.23.4/glib/gmain.c:2513
#7 0x00007ffff4a4ec38 in g_main_context_iterate (context=0x66ed70, block=<value optimized out>,
    dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.23.4/glib/gmain.c:2591
#8 0x00007ffff4a4f17d in IA__g_main_loop_run (loop=0x6b5050) at /build/buildd/glib2.0-2.23.4/glib/gmain.c:2799
#9 0x00000000004109ab in main (argc=1, argv=0x7fffffffe2c8) at gpm-main.c:276

Seems like the real bug is in frame #2 and actually inside libappindicator. libappindicator/app-indicator.c:898 does:

gtk_widget_hide(GTK_WIDGET(status_icon));

where status_icon is a GtkStatusIcon, something that according to the manual descends directly from GObject and that is why the GTK_IS_WIDGET assertion then fails.

The bus is thus in libappindicator and is the same as #530429.

Revision history for this message
Pedro Côrte-Real (pedrocr) wrote :

It seems like this commit fixes the bug:

http://bazaar.launchpad.net/~indicator-applet-developers/indicator-application/trunk/revision/96.1.1?remember=96.1.1

This is in trunk so version 0.0.15 of libappindicator0 should fix the bug.

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thank you for your bug report. This bug has already been reported, but please feel free to report any other bugs you find.

affects: gnome-power-manager (Ubuntu) → indicator-application (Ubuntu)
Changed in indicator-application (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.