Activity log for bug #1122596

Date Who What changed Old value New value Message
2013-02-12 01:25:18 John Vert bug added bug
2013-02-14 18:35:37 Sebastien Bacher bug task added libappindicator
2013-02-14 19:13:36 Charles Kerr libappindicator: status New In Progress
2013-02-14 19:13:40 Charles Kerr libappindicator: assignee Charles Kerr (charlesk)
2013-02-14 19:13:43 Charles Kerr libappindicator: importance Undecided Medium
2013-02-14 19:17:50 Launchpad Janitor branch linked lp:~charlesk/libappindicator/lp-1122596
2013-02-14 19:41:45 John Vert description app_indicator_init() in app-indicator.c calls g_bus_get() before setting self->priv. This creates a race condition where the bus_creation() callback can execute while self->priv still contains garbage. Suggested fix is to set self->priv before calling g_bus_get(). diff -ruN libappindicator-0.4.92/src/app-indicator.c libappindicator-0.4.92.new/src/app-indicator.c --- libappindicator-0.4.92/src/app-indicator.c 2012-03-21 11:11:43.967367303 -0700 +++ libappindicator-0.4.92.new/src/app-indicator.c 2013-02-07 13:51:54.773720789 -0800 @@ -611,6 +611,8 @@ priv->sec_activate_target = NULL; priv->sec_activate_enabled = FALSE; + self->priv = priv; // Needs to be set BEFORE calling g_bus_get so our handler can read it. + /* Start getting the session bus */ g_object_ref(self); /* ref for the bus creation callback */ g_bus_get(G_BUS_TYPE_SESSION, NULL, bus_creation, self); @@ -618,8 +620,6 @@ g_signal_connect(G_OBJECT(gtk_icon_theme_get_default()), "changed", G_CALLBACK(theme_changed_cb), self); - self->priv = priv; - return; } ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: libappindicator1 (not installed) ProcVersionSignature: Ubuntu 3.2.0-32.51-generic 3.2.30 Uname: Linux 3.2.0-32-generic x86_64 NonfreeKernelModules: nvidia ApportVersion: 2.0.1-0ubuntu17.1 Architecture: amd64 Date: Mon Feb 11 17:20:25 2013 InstallationMedia: Ubuntu 12.04.1 LTS "Precise Pangolin" - Release amd64 (20121016) MarkForUpload: True ProcEnviron: LC_CTYPE=en_US.UTF-8 TERM=xterm PATH=(custom, no user) LANG=en_US.UTF-8 SHELL=/bin/zsh SourcePackage: libappindicator UpgradeStatus: No upgrade log present (probably fresh install) app_indicator_init() in app-indicator.c calls g_bus_get() before setting self->priv. This creates a race condition where the bus_creation() callback can execute while self->priv still contains garbage. Suggested fix is to set self->priv before calling g_bus_get(). diff -ruN libappindicator-0.4.92/src/app-indicator.c libappindicator-0.4.92.new/src/app-indicator.c --- libappindicator-0.4.92/src/app-indicator.c 2012-03-21 11:11:43.967367303 -0700 +++ libappindicator-0.4.92.new/src/app-indicator.c 2013-02-07 13:51:54.773720789 -0800 @@ -611,6 +611,8 @@   priv->sec_activate_target = NULL;   priv->sec_activate_enabled = FALSE; + self->priv = priv; // Needs to be set BEFORE calling g_bus_get so our handler can read it. +   /* Start getting the session bus */   g_object_ref(self); /* ref for the bus creation callback */   g_bus_get(G_BUS_TYPE_SESSION, NULL, bus_creation, self); @@ -618,8 +620,6 @@   g_signal_connect(G_OBJECT(gtk_icon_theme_get_default()),    "changed", G_CALLBACK(theme_changed_cb), self); - self->priv = priv; -   return;  } ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: libappindicator1 (not installed) ProcVersionSignature: Ubuntu 3.2.0-32.51-generic 3.2.30 Uname: Linux 3.2.0-32-generic x86_64 NonfreeKernelModules: nvidia ApportVersion: 2.0.1-0ubuntu17.1 Architecture: amd64 Date: Mon Feb 11 17:20:25 2013 InstallationMedia: Ubuntu 12.04.1 LTS "Precise Pangolin" - Release amd64 (20121016) MarkForUpload: True ProcEnviron:  LC_CTYPE=en_US.UTF-8  TERM=xterm  PATH=(custom, no user)  LANG=en_US.UTF-8  SHELL=/bin/zsh SourcePackage: libappindicator UpgradeStatus: No upgrade log present (probably fresh install) [Impact] This bug was the #2 cause of crashes in the Steam client. I believe this meets the SRU criteria: "Bugs which do not fit under above categories, but (1) have an obviously safe patch and (2) affect an application rather than critical infrastructure packages (like X.org or the kernel)." [Test Case] As this is a race condition it is difficult to reproduce. However we have many crashdumps with a SIGSEGV referencing a garbage self->priv pointer in bus_creation(). After applying this fix, the crashes stopped. [Regression Potential] Low
2013-02-14 21:14:47 PS Jenkins bot libappindicator: status In Progress Fix Committed
2013-02-15 11:45:16 Launchpad Janitor libappindicator (Ubuntu): status New Fix Released
2013-02-27 20:36:14 Brian Murray branch linked lp:~johnv/ubuntu/precise/libappindicator/bug-1122596
2013-02-27 20:42:11 Brian Murray nominated for series Ubuntu Precise
2013-02-27 20:42:11 Brian Murray bug task added libappindicator (Ubuntu Precise)
2013-02-27 20:42:20 Brian Murray libappindicator (Ubuntu Precise): status New Triaged
2013-02-27 20:42:24 Brian Murray libappindicator (Ubuntu Precise): importance Undecided High
2013-02-27 20:54:39 Brian Murray libappindicator (Ubuntu Precise): assignee Brian Murray (brian-murray)
2013-02-27 20:54:44 Brian Murray libappindicator (Ubuntu Precise): status Triaged In Progress
2013-03-07 22:32:57 Dave Walker libappindicator (Ubuntu Precise): status In Progress Fix Committed
2013-03-07 22:32:58 Dave Walker bug added subscriber Ubuntu Stable Release Updates Team
2013-03-07 22:33:00 Dave Walker bug added subscriber SRU Verification
2013-03-07 22:33:07 Dave Walker tags amd64 apport-bug precise running-unity amd64 apport-bug precise running-unity verification-needed
2013-03-07 22:47:34 Launchpad Janitor branch linked lp:~ubuntu-branches/ubuntu/precise/libappindicator/precise-proposed
2013-06-18 18:07:30 Ubuntu Foundations Team Bug Bot tags amd64 apport-bug precise running-unity verification-needed amd64 apport-bug precise removal-candidate running-unity verification-needed
2014-01-07 09:31:52 Bartosz Kosiorek tags amd64 apport-bug precise removal-candidate running-unity verification-needed amd64 apport-bug precise removal-candidate running-unity verification-done
2014-01-07 11:37:25 Launchpad Janitor libappindicator (Ubuntu Precise): status Fix Committed Fix Released
2014-01-07 11:37:33 Colin Watson removed subscriber Ubuntu Stable Release Updates Team
2014-03-13 21:35:05 Charles Kerr libappindicator: status Fix Committed Fix Released