#6640 NORM Never A: Input to Rainbow can trigger an assertion failure

Zarro Boogs per Child bugtracker at laptop.org
Tue Mar 4 18:14:40 EST 2008


#6640: Input to Rainbow can trigger an assertion failure
----------------------+-----------------------------------------------------
 Reporter:  bemasc    |       Owner:  mstone        
     Type:  defect    |      Status:  new           
 Priority:  normal    |   Milestone:  Never Assigned
Component:  security  |     Version:                
 Keywords:            |    Verified:  0             
 Blocking:            |   Blockedby:                
----------------------+-----------------------------------------------------
 On Tue, 2008-03-04 at 17:37 -0500, Michael Stone wrote:
 On Tue, Mar 04, 2008 at 10:12:35AM +0100, Tomeu Vizoso wrote:
 > > On Tue, Mar 4, 2008 at 6:54 AM, Benjamin M. Schwartz
 > > <bmschwar at fas.harvard.edu> wrote:
 > > >  Waqas Toor wrote:
 > > >  | can anybody please see the log i am attaching and tell me is
 rainbow
 > > >  | stoping it ??
 >
 > As Tomeu said, Rainbow has detected that your activity's directory,
 > /home/olpc/activities/Qirat.activity, is writable by the activity.
 > Activities are not permitted to modify their own bundles. Consequently,
 > Rainbow scuttled the launch.
 >
 > > >  You appear to have discovered a bug in Rainbow, which is dying with
 an
 > > >  assertion failure.  Until Rainbow is fixed, you should do as Walter
 > > >  suggested and disable Rainbow.
 >
 > Is there some reason why activities need to write to their (or to other
 > activities') bundle directories?
 >

 I would argue that activities should not be allowed to write to their
 bundle directories, and that Rainbow is enforcing the correct requirement.
 I am calling this a bug because Rainbow should achieve this without an
 assertion failure.  According to my software engineering professors, a
 program should always handle any input data without an assertion failure.
 Assertions are for catching bugs in internal invariants.  Therefore, any
 time an assertion failure is reached, it represents a bug.

 If Rainbow wants to disallow this, it should raise a specific exception.

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



More information about the Bugs mailing list