[Bug 887946] Verification still needed
Ubuntu Foundations Team Bug Bot
887946 at bugs.launchpad.net
Wed Nov 14 18:55:37 UTC 2012
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 Ubuntu
Foundations Bugs, 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
More information about the foundations-bugs
mailing list