[Building Sakai] samigo error

Kevin Chan kkc at berkeley.edu
Tue Nov 12 16:49:31 PST 2013


Hi Karen,

Thanks for providing the SQL to address this issue. I tested it on our
DEV/QA environments and then applied it to our production environment - and
it fixed the issue.

Unfortunately, even with a direct interview with the users of the Sakai
site, we are unable to determine what led to the problem. We do know the
following:

* The user created 2 copies of the assessment; in both instance she was
trying to allow a specific Ad Hoc group (created in Site Info) to take the
assessment

* The user thought she messed up copy #1 and thought she deleted copy #1
before she created copy #2

* However, the state of the SAMIGO tables showed:

- Copy #1 was still live and associated with the group; the group members
took the assessment successfully
- Copy #2 was also still live, but without association with the group; no
one took this assessment

* The stacktrace error only came up for administrators of the assessments;
students were able to take the assessments without any issues while this
problem was in place

After "repairing" Copy #2, the issue was fixed and all users are now able
to access SAMIGO on this site. I even went ahead and deleted Copy #2 and
that was successful.

Given that I cannot tell you how to reproduce this issue, it is probably
not proper to open up a Jira ticket; hopefully, the info above will help
you (or someone else that runs into this problem) figure out how to
reproduce this problem.

Thanks,

  Kevin Chan

  Operations Team
  Educational Technology Services
  UC Berkeley



On Tue, Nov 12, 2013 at 3:30 PM, Karen Tsao <ktsao at stanford.edu> wrote:

> Hi Kevin,
>
> If you want to fix this by releasing the assessment to the entire site,
> you can run the following queries:
>
> insert into SAM_AUTHZDATA_T values (:SAM_AUTHZDATA_S.nextval,  0,
> :site_id, 'TAKE_PUBLISHED_ASSESSMENT', :published_assessment_id,null, null,
> :user_id, sysdate, null)
> update sam_publishedaccesscontrol_t set releaseto =:site_id where
> assessmentid = :published_assessment_id
>
> Please test this in a QA environment first. And let me know if these don't
> work for you.
>
> Does this happen to only one assessment or more? I really want to know
> what cause this issue. Why the record in SAM_AUTHZDATA_T got deleted, or it
> didn't get created successfully at the first place? If you have further
> findings, please let me know.
>
> I don't think this issue has been entered in JIRA. Please log one if you
> want. I need to discuss with our group to figure out the fix.
>
> Thanks,
> Karen
>
>
>
>
> On Tue, Nov 12, 2013 at 2:19 PM, Kevin Chan <kkc at berkeley.edu> wrote:
>
>>  Hi Karen,
>>
>> FYI, we are seeing a similar problem (in our case, all instructors and
>> Sakai administrators get the stacktrace) in our stock SAMigo 2.9.2.
>>
>> We are still trying to trace the exact actions that the end user took to
>> (possibly) cause this issue.
>>
>> Executing the query you listed in your email on 11/4 reveals that one of
>> the last published assessment indeed does not have any associated results
>> associating the published assessment ID with any authzdata rows.
>>
>> You mentioned that you got a similar report from U of Florida, so some
>> questions:
>>
>> 1. Is there a Sakai Jira for that documents this or similar issues?
>> 2. What is the workaround or fix for this issue?
>>
>> Please let me know if you think we should file a Jira or if you need more
>> information about this problem.
>>
>> Thanks,
>>
>>   Kevin Chan
>>
>>   Operations Team
>>   Educational Technology Services
>>   UC Berkeley
>>
>> PS - stacktrace for this error:
>>
>> Stacktrace:
>>     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
>> caused by: java.lang.NullPointerException
>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.isActive(AuthorActionListener.java:321)
>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.getTakeableList(AuthorActionListener.java:256)
>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAllPublishedAssessmentsList(AuthorActionListener.java:201)
>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAssessmentsList(AuthorActionListener.java:159)
>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.processAction(AuthorActionListener.java:122)
>>     at org.apache.jsp.jsf.index.mainIndex_jsp._jspService(mainIndex_jsp.java:116)
>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>
>>
>>
>> On 11/4/13 11:15 AM, Karen Tsao wrote:
>>
>>  Hi Neil,
>>
>> From the code, it looks like something related to the groups/sections in
>> that site. Does this assessment release to groups/sections? If yes, can
>> you check if these groups/sections are still valid? Or have them been
>> removed and recreated?
>>
>> Can you run the following query:
>>
>> select * from SAM_AUTHZDATA_T where FUNCTIONID='TAKE_PUBLISHED_
>> ASSESSMENT' and QUALIFIERID=:published_assessment_id
>>
>>  Do you get any result back?
>>
>>  What Samigo version do you use? The same error just reported a while
>> back by U of Florida. I am curious to know the cause.
>>
>> Thanks,
>>  Karen
>>
>>
>>
>> On Mon, Nov 4, 2013 at 12:51 AM, NeilCrazy <daiyuechuan at hotmail.com>wrote:
>>
>>>  Hi, all
>>>
>>>  One of our teacher can not open his samigo tool.  This  just happenned
>>> on one teacher but not others.
>>>
>>>  We try several ways to fix this but seems not work. Is there any idea?
>>> Thanks!
>>>
>>>  Neil
>>>
>>>  Here is the log:
>>>
>>>  org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: org.apache.jasper.JasperException: java.lang.NullPointerException
>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
>>> caused by: org.sakaiproject.tool.api.ToolException: org.apache.jasper.JasperException: java.lang.NullPointerException
>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
>>> caused by: org.apache.jasper.JasperException: java.lang.NullPointerException
>>>     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
>>> caused by: java.lang.NullPointerException
>>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.isActive(AuthorActionListener.java:321)
>>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.getTakeableList(AuthorActionListener.java:256)
>>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAllPublishedAssessmentsList(AuthorActionListener.java:201)
>>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAssessmentsList(AuthorActionListener.java:159)
>>>     at org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.processAction(AuthorActionListener.java:122)
>>>     at org.apache.jsp.jsf.index.mainIndex_jsp._jspService(mainIndex_jsp.java:117)
>>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
>>>     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
>>>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>>     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
>>>     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>>     at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
>>>     at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
>>>     at org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:159)
>>>     at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
>>>     at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
>>>     at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
>>>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>>     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
>>>     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>>     at org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:301)
>>>     at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>>     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>>>     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>>     at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
>>>     at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>>>     at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:695)
>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>>>     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>>     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
>>>     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>     at java.lang.Thread.run(Thread.java:724)
>>>
>>>
>>> 用户: 950ce64c-2b13-4340-a029-33b67d37f514
>>>
>>> usage-session: acff97c9-d08b-46e6-a8c0-0012e0ca7d23
>>>
>>> 时间: 2013-11-4 16:43:48
>>>
>>>
>>>
>>> _______________________________________________
>>> sakai-dev mailing list
>>> sakai-dev at collab.sakaiproject.org
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>
>>> TO UNSUBSCRIBE: send email to
>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>> "unsubscribe"
>>>
>>
>>
>>
>> _______________________________________________
>> sakai-dev mailing listsakai-dev at collab.sakaiproject.orghttp://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20131112/8dc734df/attachment.html 


More information about the sakai-dev mailing list