Battery status notification icon seems to be crashing repeatedly and adding empty space to the notification area
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-
(gnome-
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
ProcVersionSign
SourcePackage: gnome-power-manager
Uname: Linux 2.6.32-15-generic x86_64
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>, 0x7fffffffdd50) at /build/ buildd/ glib2.0- 2.23.4/ glib/gmessages. c:555 0x7ffff4a08e40 "", log_level=0, format=0x1 <Address 0x1 out of bounds>) buildd/ glib2.0- 2.23.4/ glib/gmessages. c:569 icon=0x6952a0) at libappindicator /app-indicator. c:898 timer_expire (data=<value optimized out>) at libappindicator /app-indicator. c:804 buildd/ glib2.0- 2.23.4/ glib/gmain. c:3396 buildd/ glib2.0- 2.23.4/ glib/gmain. c:1960 context_ dispatch (context=0x66ed70) at /build/ buildd/ glib2.0- 2.23.4/ glib/gmain. c:2513 context_ iterate (context=0x66ed70, block=<value optimized out>, buildd/ glib2.0- 2.23.4/ glib/gmain. c:2591 buildd/ glib2.0- 2.23.4/ glib/gmain. c:2799 e2c8) at gpm-main.c:276
args1=
#1 0x00007ffff4a556e3 in IA__g_log (log_domain=
at /build/
#2 0x00007ffff6801269 in unfallback (self=0x6c4a00, status_
#3 0x00007ffff680029c in fallback_
#4 0x00007ffff4a4b5cb in g_timeout_dispatch (source=0x6b2040, callback=0, user_data=0x1)
at /build/
#5 0x00007ffff4a4adf2 in g_main_dispatch (context=0x66ed70) at /build/
#6 IA__g_main_
#7 0x00007ffff4a4ec38 in g_main_
dispatch=<value optimized out>, self=<value optimized out>) at /build/
#8 0x00007ffff4a4f17d in IA__g_main_loop_run (loop=0x6b5050) at /build/
#9 0x00000000004109ab in main (argc=1, argv=0x7fffffff
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.