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