#12272 NORM 13.1.0: Activity updater freezes
Zarro Boogs per Child
bugtracker at laptop.org
Mon Dec 10 10:18:41 EST 2012
#12272: Activity updater freezes
---------------------------------------+------------------------------------
Reporter: bert | Owner: dsd
Type: defect | Status: assigned
Priority: normal | Milestone: 13.1.0
Component: upgrade utility | Version: Development build as of this date
Resolution: | Keywords:
Next_action: code | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
---------------------------------------+------------------------------------
Changes (by dsd):
* next_action: never set => code
Comment:
This was a threads issue after all:
The software updater creates a thread for the update work, and this thread
calls into the bundle registry. The bundle registry emits the 'bundle-
added' signal when an activity is installed/upgraded, and this causes
immediate in-thread execution of the signal handlers, which include the
favoritesview and the activitylist classes, which do GTK+ work. These
signal handlers do not follow any of the GDK thread-safety guidelines and
are hence unsafe to be called from threads.
It is not really reasonable for the software updater to mandate thread
safety on this part of the sugar internals, at least while it is not code
within sugar itself. Need to make the install_or_upgrade call from the
main thread. My first approach fails as it looks like the old static glib
bindings (which we're forced to use until GNOME 3.8) do not include
g_main_context_invoke.
--
Ticket URL: <http://dev.laptop.org/ticket/12272#comment:14>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list