[Building Sakai] A site's samigo in broken state

Jean-Francois Leveque jean-francois.leveque at upmc.fr
Fri Sep 21 06:55:15 PDT 2012


Hi Karen,

I've found the ASSESSMENTID with:
select ASSESSMENTID from SAM_PUBLISHEDACCESSCONTROL_T where RELEASETO is 
null;

The update of RELEASETO fixed the issue.

SAM-1383 was already in-use because CLE 2.8.1 has Samigo 2.8.3.

SAM-1559 is a duplicate of https://jira.sakaiproject.org/browse/SAM-1398 
which has not been fixed in the 2.8.x branch yet.

Thanks,

J-F

On 20/09/2012 18:39, Karen Tsao wrote:
> Hi Jean-Francois,
>
> This might be due to import from another site or duplicate an
> assessment. If this is the case, I think you should have null ReleaseTo
> column in your db, and this can be fixed by updating that field. Can you
> run the following query:
>
> // the assessment causing problem
> SELECT * FROM sam_authzdata_t a, sakai_site s, sam_publishedassessment_t pa
> where a.agentid = s.site_id
> and functionid = 'GRADE_PUBLISHED_ASSESSMENT'
> and a.qualifierid = pa.id <http://pa.id/>
> and s.title = :site_title
> and pa.title = :assessment_title
>
> You can get the published assessment id from here. And use it for the
> following query.
>
> // the setting data of that assessment
> SELECT * FROM SAM_PUBLISHEDACCESSCONTROL_T S where assessmentid =
> :published_assessment_id
>
> If the ReleaseTo coulmn null, you can change it to "Anonymous Users" if
> the assessment releases to anonymous, change it to the site title if it
> releases to Site, or change it to "Selected Groups" if it releases to
> groups.
>
> Except SAM-1431, you might want to apply SAM-1383
> <https://jira.sakaiproject.org/browse/SAM-1383> and SAM-1559
> <https://jira.sakaiproject.org/browse/SAM-1559>.
>
> Thanks,
> Karen
>
> On Thu, Sep 20, 2012 at 6:48 AM, Jean-Francois Leveque
> <jean-francois.leveque at upmc.fr <mailto:jean-francois.leveque at upmc.fr>>
> wrote:
>
>     Hi all,
>
>     I'm currently supporting a Sakai CLE 2.8.1 install.
>
>     One of our users has been able to completely break samigo in his site
>     without being able to explain how.
>
>     When looking for similar issues from the trace I get accessing the
>     course's Samigo, I only found the following.
>
>     It should not be SAM-1376 because it has been fixed in Samigo 2.8.3
>     which is already part of CLE 2.8.1.
>
>     It could have been SAM-1431 but upgrading CLE 2.8.1's Samigo from 2.8.3
>     to 2.8.5 on a test server with restored production data does not fix the
>     issue.
>
>     Is it a different issue?
>
>     Is there something to do in the database?
>
>     The trace follows.
>
>     Cheers,
>
>     J-F
>
>     java.lang.NullPointerException
>               at
>     org.sakaiproject.tool.assessment.facade.PublishedAssessmentFacadeQueries.getBasicInfoOfAllPublishedAssessments2(PublishedAssessmentFacadeQueries.java:1506)
>               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>               at
>     sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>               at
>     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>               at java.lang.reflect.Method.invoke(Method.java:597)
>               at
>     org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
>               at
>     org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
>               at
>     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
>               at
>     org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
>               at
>     org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>               at
>     org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>               at $Proxy37.getBasicInfoOfAllPublishedAssessments2(Unknown
>     Source)
>               at
>     org.sakaiproject.tool.assessment.services.assessment.PublishedAssessmentService.getBasicInfoOfAllPublishedAssessments2(PublishedAssessmentService.java:92)
>               at
>     org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAllPublishedAssessmentsList(AuthorActionListener.java:132)
>               at
>     org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.prepareAssessmentsList(AuthorActionListener.java:128)
>               at
>     org.sakaiproject.tool.assessment.ui.listener.author.AuthorActionListener.processAction(AuthorActionListener.java:100)
>               at
>     org.apache.jsp.jsf.index.mainIndex_jsp._jspService(mainIndex_jsp.java:96)
>               at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
>               at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>               at
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
>               at
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
>               at
>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
>               at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>               at
>     com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
>               at
>     com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
>               at
>     org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:154)
>               at
>     com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
>               at
>     com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
>               at
>     com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
>               at
>     javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>               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:627)
>               at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
>               at
>     org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>               at
>     org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>               at
>     org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1429)
>               at
>     org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
>               at
>     org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>               at
>     org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
>               at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
>               at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:659)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>               at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>               at
>     org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>               at
>     org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>               at
>     org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>               at
>     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>               at
>     org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>               at
>     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>               at
>     org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
>               at
>     org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
>               at
>     org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
>               at
>     org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
>               at
>     org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
>               at
>     org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>               at java.lang.Thread.run(Thread.java:662)


More information about the sakai-dev mailing list