gnome-power-manager when removing or inserting power cable

Bug #447304 reported by 11011san
88
This bug affects 14 people
Affects Status Importance Assigned to Milestone
gnome-power
Fix Released
Critical
gnome-power-manager (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Binary package hint: gnome-power-manager

was moving the computer and puled out the power cable and when i sate down the power manager informed me that it had crashed.
running Ubuntu 9.10
gnome-power-manager:
  Installed: 2.28.0-0ubuntu3
  Candidate: 2.28.0-0ubuntu3
  Version table:
 *** 2.28.0-0ubuntu3 0
        500 http://se.archive.ubuntu.com karmic/main Packages
        100 /var/lib/dpkg/status

ProblemType: Crash
Architecture: i386
Date: Fri Oct 9 17:06:06 2009
DistroRelease: Ubuntu 9.10
ExecutablePath: /usr/bin/gnome-power-manager
NonfreeKernelModules: wl
Package: gnome-power-manager 2.28.0-0ubuntu3
ProcCmdline: gnome-power-manager
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-12.41-generic
SegvAnalysis:
 Segfault happened at: 0x8052de3: mov 0x8(%eax),%eax
 PC (0x08052de3) ok
 source "0x8(%eax)" (0x00000008) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: gnome-power-manager
StacktraceTop:
 ?? ()
 ?? ()
 g_cclosure_marshal_VOID__VOID ()
 g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
 ?? () from /usr/lib/libgobject-2.0.so.0
Title: gnome-power-manager crashed with SIGSEGV in g_cclosure_marshal_VOID__VOID()
Uname: Linux 2.6.31-12-generic i686
UserGroups: adm admin cdrom dialout fuse lpadmin plugdev sambashare

Related branches

Revision history for this message
11011san (11011san) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt (retraced)

StacktraceTop:gpm_disks_set_spindown_timeout (disks=0x80ac260, timeout=60)
gpm_manager_client_changed_cb (client=0x80d0898,
g_cclosure_marshal_VOID__VOID ()
g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
?? () from /usr/lib/libgobject-2.0.so.0

Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt (retraced)
Changed in gnome-power-manager (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
visibility: private → public
Revision history for this message
Scott Howard (showard314) wrote :

Hi, could you please try the version of GPM from this PPA:
https://launchpad.net/~showard314/+archive/ppa

and try to recreate this bug?

Changed in gnome-power-manager (Ubuntu):
status: New → Confirmed
Revision history for this message
Scott Howard (showard314) wrote :

From upstream:

"[Richard Hughes]: This looks like a problem in dbus-glib:

/* set spindown timeouts */
ret = dbus_g_proxy_call (disks->priv->proxy, "DriveSetAllSpindownTimeouts",
&error,
             G_TYPE_INT, timeout,
             G_TYPE_STRV, options,
             G_TYPE_INVALID,
             G_TYPE_STRING, disks->priv->cookie,
             G_TYPE_INVALID);
if (!ret) {
        egg_warning ("failed to set spindown timeout: %s", error->message);
                                                                ^- GOES BANG
        g_error_free (error);
        goto out;
}

But in the docs:

dbus_g_proxy_call()...
Returns : FALSE if an error is set, TRUE otherwise.

So it's returning FALSE without setting ERROR non-NULL."

"[Scott Howard]: Thanks for looking at this, Richard. I found this, and think we're on to
something:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541632
"By passing dbus_g_proxy_call an incorrect signature, we can cause
the function to fail but not provide any error message. This isn't
helpful. This patch causes it to set an error when demarshalling
a type that it's not expecting. Instead of a NULL error, one instead
sees something like the following when the method returns a path
object but the client expected a string:"

I think we're passing "timeout" as a guint when it is expecting a gint
according to its signature."

Testing this is important for getting this fixed.

Changed in gnome-power-manager (Ubuntu):
importance: Medium → High
status: Confirmed → Triaged
Revision history for this message
Scott Howard (showard314) wrote :

Upstream applied the patch, could someone with the bug confirm that it is fixed in this PPA so we can get this into Karmic before release? Thanks.
https://launchpad.net/~showard314/+archive/ppa

Revision history for this message
Scott Howard (showard314) wrote :

Fixed in 2.28.1

gnome-power-manager (2.28.1-0ubuntu1) karmic; urgency=low

  * New upstream bug fix release:
    - Add missing indirection to return value of DriveSetAllSpindownTimeouts
      call.
    - Fix failure error messages and comments.
    - Help the kernel through its sleep key confusion.
    - Improve configure summary wrt HAL.
    - Use separate variables for dbus and dbus-glib.
    - Remove devkit-power tool configure check.
    - Correctly set the focus on the last used device in
      gnome-power-statistics.
    - Do not hide some radio buttons depending on the current machine state.
    - Fix up all the issues reported by clang.
    - Don't try to match and refresh some devices, to stop g-p-s crashing on
      virtual devices.
    - DeviceKit-disks is expecting an int as a value, not a uint. *********************************<---- this one
    - Throttle screensaver before suspend/hibernate.
    - Translation updates.
  * Drop 03-fix-dkdisks-arguments.patch, applied upstream.

Changed in gnome-power-manager (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Scott Howard (showard314) wrote :

- DeviceKit-disks is expecting an int as a value, not a uint.

Changed in gnome-power:
importance: Unknown → Critical
status: Unknown → Fix Released
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.