This bug was fixed in the package pygobject - 3.4.0-1ubuntu0.1

---------------
pygobject (3.4.0-1ubuntu0.1) quantal-proposed; urgency=low

  * Add 00git_lock_gil_in_child_watch_add.patch: Fix crash with
    GLib.child_watch_add() by locking the Python interpreter, to avoid race
    conditions in multi-threaded programs. (LP: #1078297)
 -- Martin Pitt <martin.p...@ubuntu.com>   Tue, 13 Nov 2012 16:18:17 +0100

** Changed in: pygobject (Ubuntu Quantal)
       Status: Fix Committed => Fix Released

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

Title:
  Crashes with GLib.child_watch_add

Status in “pygobject” package in Ubuntu:
  Fix Released
Status in “pygobject” source package in Quantal:
  Fix Released
Status in “pygobject” source package in Raring:
  Fix Released

Bug description:
  In a complex application, I'm seeing crashes when the destroy notify
  of GLib.child_watch_add is called.

  #0  0x00000000004b5c78 in tupledealloc.24592 (op=0x316dc80)
          at ../Objects/tupleobject.c:218
      #1  0x00002b7c1553abc7 in child_watch_dnotify (data=0x345a320)
          at /build/buildd/pygobject-3.4.0/gi/_glib/glibmodule.c:355
      #2  0x00002b7c1409c108 in g_source_callback_unref (cb_data=0x3475f40)
          at /build/buildd/glib2.0-2.34.0/./glib/gmain.c:1457
      #3  g_source_callback_unref (cb_data=0x3475f40)
          at /build/buildd/glib2.0-2.34.0/./glib/gmain.c:1449
      #4  0x00002b7c1409c70a in g_source_destroy_internal (source=source@entry=
          0x3471370, context=context@entry=0x1d08a30, 
have_lock=have_lock@entry=1)
          at /build/buildd/glib2.0-2.34.0/./glib/gmain.c:1123
      #5  0x00002b7c1409eb00 in g_main_dispatch (context=0x1d08a30)
          at /build/buildd/glib2.0-2.34.0/./glib/gmain.c:2739

  The problem has been fixed upstream

  
http://git.gnome.org/browse/pygobject/commit/?h=pygobject-3-4&id=a06e0d021d74c95cd517abb3e6ef5ff0037de679

  REGRESSION POTENTIAL: Very low. This just adds locking around the
  reference handling to avoid race conditions with concurrent access.
  pyglib_gil_state_{ensure,release}() is used all over the place in
  pygobject, but it was forgotten in this particular function.

  SRU TEST CASE: This is rather hard to reproduce, as it is a race
  condition in a multi-threaded program. As Daniel can reproduce it
  rather well, I suggest to ask him to verify the SRU.

  See also bug 1083694 which is the same hang for software-center; this
  also has a test case.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pygobject/+bug/1078297/+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