I uploaded the fix for Quantal to the -proposed queue for SRU team
review.

** Changed in: pygobject (Ubuntu Quantal)
       Status: New => In Progress

** Description changed:

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

** Changed in: pygobject (Ubuntu Quantal)
     Assignee: (unassigned) => Martin Pitt (pitti)

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

Title:
  Crashes with GLib.child_watch_add

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pygobject/+bug/1078297/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to