#12272 NORM 13.1.0: Activity updater freezes

Zarro Boogs per Child bugtracker at laptop.org
Sun Nov 18 17:42:12 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:  never set        |    Verified:  0                                
Deployment_affected:                   |   Blockedby:                                   
           Blocking:                   |  
---------------------------------------+------------------------------------

Comment(by dsd):

 I haven't reproduced the hang yet, but something odd is happening which is
 probably related. After updating the same set of 5 activities, and then
 trying to exit the updater, Sugar stops drawing itself properly. Things
 respond to the mouse but the UI is "blank" and doesn't refresh.

 This doesn't happen every time, but it does happen most of the time, using
 the same activity upgrades as a test:
 {{{
 rm -rf /home/olpc/Activities/HelloWorld.activity
 /home/olpc/Activities/Calculate.activity/
 /home/olpc/Activities/Ruler.activity/ /home/olpc/Activities/Chat.activity/
 /home/olpc/Activities/Moon.activity/
 }}}

 So far I have determined its not related to the refresh that is done after
 the activities are updated. It is triggered by something inside
 b.install_or_upgrade().

 It's not the code that sets the favourite flag inside install_or_upgrade,
 nor the activity monitoring code in bundleregistry.

 It might be related to the fact that we call into the bundleregistry from
 the upgrade thread, but bundleregistry doesn't seem to have any thread
 safety. Not that I can explain how lack of thread safety would result in
 this, but it may be worth trying a GIOScheduler-based approach for a more
 principled design (GIOSchedulerJobs can call back into the mainloop with
 relative ease).

-- 
Ticket URL: <http://dev.laptop.org/ticket/12272#comment:5>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list