indicator-session-service crashed with SIGSEGV in dbus_upower_get_can_suspend()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Session Menu |
Fix Committed
|
Medium
|
Charles Kerr | ||
indicator-session (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
* indicator-
* The crash is being caused by a race condition where the upower proxy is used
before it's been created. The fix is to wrap the upower proxy use inside a
"if (upower_proxy != NULL) {...}" block. Only the code directly querying
the upower proxy is moved into the block.
[Test Case]
* There's no straightforward way to replicate the race condition needed
to trigger this crash. indicator-
a upower proxy on the system bus. The crash occurs iff the menuitems need
to get refreshed before the bus returns the upower proxy.
[Regression Potential]
* IMO the regression risk is low because of the narrow scope of the change.
[Other info]
* This bug was introduced in indicator-session 12.10.4, released on Oct 3.
P and earlier releases of Q aren't affected.
----
no status bar
ProblemType: Crash
DistroRelease: Ubuntu 12.10
Package: indicator-session 12.10.4-0ubuntu1
ProcVersionSign
Uname: Linux 3.5.0-16-generic x86_64
ApportVersion: 2.6.1-0ubuntu1
Architecture: amd64
Date: Thu Oct 4 21:41:56 2012
ExecutablePath: /usr/lib/
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427)
ProcCmdline: /usr/lib/
SegvAnalysis:
Segfault happened at: 0x417249: mov (%rbx),%rdi
PC (0x00417249) ok
source "(%rbx)" (0x00000000) not located in a known VMA region (needed readable region)!
destination "%rdi" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: indicator-session
StacktraceTop:
?? ()
?? ()
?? ()
?? ()
__libc_start_main () from /lib/x86_
Title: indicator-
UpgradeStatus: Upgraded to quantal on 2012-10-02 (1 days ago)
UserGroups:
Related branches
- Ted Gould (community): Approve
- jenkins (community): Approve (continuous-integration)
-
Diff: 46 lines (+19/-15)1 file modifiedsrc/session-menu-mgr.c (+19/-15)
description: | updated |
Changed in indicator-session: | |
status: | In Progress → Fix Committed |
tags: | added: running-unity |
StacktraceTop: get_can_ suspend (object=0x0) at dbus-upower.c:1086 properties_ changed (mgr=mgr@ entry=0x1d19860 ) at session- menu-mgr. c:254 menu_mgr_ new (session_ dbus=<optimized out>, greeter_mode=1) at session- menu-mgr. c:1195 service. c:89
dbus_upower_
on_upower_
session_
main (argc=<optimized out>, argv=<optimized out>) at session-