[prev in list] [next in list] [prev in thread] [next in thread] 

List:       markus-dev
Subject:    Re: Error dump in MarkUs v0.7  (ssuh)
From:       Severin Gehwolf <severin.gehwolf () utoronto ! ca>
Date:       2010-09-20 15:25:32
Message-ID: 20100920112532.g00zxq4f4k8gwwos () webmail ! utoronto ! ca
[Download RAW message or body]

Hi,

Quoting Byron Weber Becker <bwbecker@cs.uwaterloo.ca>:

> Our tech support person is a little skittish about patching the   
> code.  We're wondering why this problem didn't show up last term   
> (we're using the same code base) and why it shows up this term for   
> some students and now others.  It also appears that other parts of   
> the code are patched as well.  Anything in those changes that might   
> affect us?

Those changes from 0.7.0 to 0.7.1 should not affect you. Other than  
fixing some bugs. All of 0.X releases should be compatible (i.e. there  
shouldn't have been any changes to the database, hence should work on  
any older version of 0.X as long as X stays the same). Usually micro  
releases are bug-fix releases only.

My theory as to why this is happening now is because of some  
invalid/broken/non-existing groupings in your database. The line (in  
group.rb)

assignment = assignments.first

is looking for all assignments of this Group object associated with it  
via a Grouping object. Apparently, this "assignment" reference is nil  
and then you have this !assignment.allow_web_submits call (which in  
turn is !nil.allow_web_submits for some students). This wasn't  
happening any earlier for you, because there weren't any broken  
groupings. I.e. there was always a reference to some assignment  
(although the logic is wrong in that code regardless).

I'd really encourage you to patch. You could try patching on a testing  
instance and point it to the production DB, see if everything seems  
right and then decide if you want to patch production instances...

Sorry about the inconvenience.

@markus-dev folks:
If anybody has thoughts on this, feel free to chime in.

Severin


> On 2010-09-17, at 8:04 PM, Severin Gehwolf wrote:
> 
> > Byron,
> > 
> > I only now realize that you are using 0.7.0. This version has a bug in
> > determining if Web submits should be allowed or not. On line 47-50 of
> > group.rb:
> > 
> > def repository_external_commits_only?
> > assignment = assignments.first
> > return !assignment.allow_web_submits
> > end
> > 
> > This is just wrong. I'd suggest to patch to 0.7.1 using the attached
> > markus-0.7.1 patch (please backup first). Apply by:
> > 
> > $ cd path/to/markus/instance/root
> > $ patch -p0 < markus-0.7.1
> > 
> > Then restart mongrels. After that the problem should go away. Let me
> > know how it goes. Alternatively use the markus-0.7.1 tarball here:
> > http://www.markusproject.org/download/markus-0.7.1.tar.gz
> > 
> > HTH,
> > Severin
> > 
> > On Fri, 2010-09-17 at 18:13 -0400, Byron Weber Becker wrote:
> > > Here's the dump from the second student I mentioned.  It's the same as
> > > the first one at the top level but is much shorter.  Don't understand
> > > why.
> > > 
> > > The previous case has an invalid group in "Groups & Graders", which I
> > > replaced (don't know yet if that worked).
> > > 
> > > This case is still on the "Students without a group" list on the
> > > "Groups & Graders" page.  Doesn't appear on the group list when I
> > > download the csv file.  So it seems like it's a different error.
> > > Suggestions?
> > > 
> > > Byron
> > > 
> > > 
> > > 
> > > NoMethodError in AssignmentsController#student_interface
> > > 
> > > undefined method `allow_web_submits' for nil:NilClass
> > > RAILS_ROOT: /home/markus/cs135-f10/markus-0.7.0
> > > 
> > > Application Trace | Framework Trace | Full Trace
> > > /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/whiny_nil.rb:52:in \
> > >  `method_missing'
> > > /home/markus/cs135-f10/markus-0.7.0/app/models/group.rb:49:in   
> > > `repository_external_commits_only?'
> > > /var/lib/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb:217:in \
> > >  `send'
> > > /var/lib/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb:217:in \
> > >  `method_missing'
> > > /home/markus/cs135-f10/markus-0.7.0/app/models/grouping.rb:449:in   
> > > `update_repository_permissions'
> > > /home/markus/cs135-f10/markus-0.7.0/app/models/student.rb:119:in   
> > > `create_group_for_working_alone_student'
> > > /home/markus/cs135-f10/markus-0.7.0/app/controllers/assignments_controller.rb:21:in \
> > >  `student_interface'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in   \
> > >  `send'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in   \
> > >  `perform_action_without_filters'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in \
> > >  `call_filters'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in \
> > >  `perform_action_without_benchmark'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in \
> > >  `perform_action_without_rescue'
> > > /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in \
> > >  `ms'
> > > /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in \
> > >  `ms'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in \
> > >  `perform_action_without_rescue'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:160:in  \
> > >  `perform_action_without_flash'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/flash.rb:146:in   \
> > >  `perform_action'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in   
> > > `send'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in   
> > > `process_without_filters'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:606:in \
> > >  `process'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:391:in   
> > > `process'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:386:in   
> > > `call'
> > > /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:437:in \
> > >  `call'
> > > 
> > > Request
> > > 
> > > Parameters:
> > > 
> > > {"id"=>"1"}
> > > Show session dump
> > > 
> > > Response
> > > 
> > > Headers:
> > > 
> > > {"Content-Type"=>"",
> > > "Cache-Control"=>"no-cache"}
> > > 
> > > 
> > > 
> > 
> > <markus-0.7.1.patch>
> 
> ---------------------------------------------------------
> Byron Weber Becker             Voice: 519-888-4567 x34661
> School of Computer Science       Fax: 519-885-1208
> University of Waterloo        Office: DC3105
> Waterloo, ON  N2L 3G1
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic