[Building Sakai] Student getting NPE on Samigo Timed Test

Omer A Piperdi omer at rice.edu
Tue Sep 23 21:54:08 PDT 2014


We've had several students receive a null pointer exception error when trying to take an assessment in Samigo.  It looks like the error is due to the combination of the assessment being a timed assessment and the professor entering in a grade for the student (in this instance a 0).  To replicate the error:

Create a timed assessment
Give a score of 0 to one of the students
Login as the student and attempt to take the assessment
A null pointer exception is displayed

It looks like there is a partial record created in the database when the score is entered for the student. I can see a record in sam_assessmentgrading_t and student can take the assessment again after I delete that row from database..

Has anyone seen this before? This is on Sakai 10.x. Stack trace looks like below..

Thanks
Omer

-----

stack trace:

org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException
     at org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:75)
caused by: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException
     at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1535)
caused by: javax.servlet.ServletException
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
caused by: java.lang.NullPointerException
     at org.sakaiproject.tool.assessment.ui.bean.delivery.DeliveryBean.getTimeBeforeRetract(DeliveryBean.java:3662)
     at org.sakaiproject.tool.assessment.ui.bean.delivery.DeliveryBean.getTimeBeforeDueRetract(DeliveryBean.java:3629)

     at
org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener.setTimedAssessment(BeginDeliveryActionListener.java:405)

     at
org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener.populateDelivery(BeginDeliveryActionListener.java:321)

     at
org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener.populateBeanFromPub(BeginDeliveryActionListener.java:196)

     at
org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener.processAction(BeginDeliveryActionListener.java:164)
     at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
     at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:669)
     at javax.faces.component.UICommand.broadcast(UICommand.java:317)
     at javax.faces.component.UIData.broadcast(UIData.java:677)
     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
     at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
     at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)



More information about the sakai-dev mailing list