I've verified the fix:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.4 LTS
Release:        10.04
Codename:       lucid
# lrmadmin -C ; lrmadmin -CThere are 5 RA classes supported:
ocf
heartbeat
stonith
upstart
lsb
^C
root@virtual:~# lrmadmin -C ; lrmadmin -C
^C
[add proposed archive]
#apt-get update
[...]
# apt-get install libglib2.0-0
[...]
Get:1 http://archive.ubuntu.com/ubuntu/ lucid-proposed/main libglib2.0-0 
2.24.1-0ubuntu2 [1123kB]
[...]
# killall -9 lrmd
# /etc/init.d/corosync restart
 * Restarting corosync daemon corosync                                   [ OK ] 
# lrmadmin -C ; lrmadmin -C
There are 5 RA classes supported:
ocf
heartbeat
stonith
upstart
lsb
There are 5 RA classes supported:
ocf
heartbeat
stonith
upstart
lsb
# lrmadmin -C ; lrmadmin -C
There are 5 RA classes supported:
ocf
heartbeat
stonith
upstart
lsb
There are 5 RA classes supported:
ocf
heartbeat
stonith
upstart
lsb
# 

** Tags removed: verification-needed
** Tags added: verification-done

-- 
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