#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