The fix for the this bug has been awaiting testing feedback in the
-proposed repository for lucid for more than 90 days.  Please test this
fix and update the bug appropriately with the results.  In the event
that the fix for this bug is still not verified 15 days from now the
package will be removed from the -proposed repository.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to glib2.0 in Ubuntu.
https://bugs.launchpad.net/bugs/887946

Title:
  [SRU] Deadlocks in main loop

Status in “glib2.0” package in Ubuntu:
  Invalid
Status in “glib2.0” source package in Lucid:
  Fix Committed
Status in “glib2.0” source package in Maverick:
  Won't Fix

Bug description:
  Some applications get stuck in a deadlock when utilizing glib. One of
  examples is lrmadmin, when connecting to lrmd. Upstream provided a fix
  for this bug and Ubuntu's version 11.04 and newer do not have this
  issue.

  Ubuntu 10.04 and 10.10 do not contain the fix. Upstream fix:
    https://mail.gnome.org/archives/commits-list/2010-November/msg01816.html

  [Impact]
  Remove potential and demonstratable deadlocks in glib code.

  [Development Fix]
  Bug is fixed in Ubuntu 11.04 and later by the simple fact that these version 
have newer version of glib2.0 which contains this fix.

  [Stable Fix]
  Proposed fix is cherry picked from the upstream's, at the time, latest 
version of glib. This part of the code did not change since then.

  [Test Case]
   * Install lucid
   * Install python-software-properties:
     apt-get install python-software-properties
   * add ubuntu-ha-maintainers lucid ppa and update repo:
     apt-add-repository ppa:ubuntu-ha-maintainers/ppa ; apt-get update
   * Install pacemaker:
     apt-get -y install pacemaker
   * Enable corosync (/etc/default/corosync) and start it:
     sed -i -e 's/START=no/START=yes/' /etc/default/corosync
     service corosync start
   * Open two client->server connections:
     lrmadmin -C ; lrmadmin -C
     It deadlocks on second run (it actually never finishes the first run).

   * Kill lrmd and stop corosync:
     killall -9 lrmd ; service corosync stop
   * install fix
     apt-get update && apt-get install libglib2.0-0
   * Start corosync:
     service corosync start
   * Run the test again:
     lrmadmin -C ; lrmadmin -C ; lrmadmin -C ; lrmadmin -C
   * It doesn't deadlock.

  [Regression Potential]
  Regression potential should be very small.  This change is still present in 
almost unmodified upstream code to this day (g_source_unref_internal of 
glib/gmain.c).  The upstream trunk commit is at 
http://git.gnome.org/browse/glib/commit/?id=b358202856682e5cdefb0b4b8aaed3a45d9a85fa
 .

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/887946/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to