Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-33115

Returning TA error - mixed permissions causing stacktrace error

    XMLWordPrintable

    Details

    • Previous Issue Keys:
      GIT2-2647
    • Previous GIT issue:

      Description

      A TA error has resurfaced.

      When mixed permissions are created (e.g., view access for all categories for one section, but grading permissions for a single category for another section), you end up with a stacktrace error.

      Permissions setup:

      Stacktrace error:

      org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor 'public org.sakaiproject.gradebookng.tool.pages.GradebookPage()'. An exception has been thrown during construction!
      at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
      at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
      at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
      at org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
      at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
      at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
      at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:117)
      at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:229)
      at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
      at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
      at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
      at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
      at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
      at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
      at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
      at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
      at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:418)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:358)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
      at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1458)
      at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1169)
      at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1025)
      at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:499)
      at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:271)
      at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:152)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:834)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:467)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.GeneratedConstructorAccessor344.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
      at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175)
      ... 61 more
      Caused by: java.lang.SecurityException: User 75db295d-f7bd-4e6b-92c5-c9e1724ef55b attempted to access grade information for student ae81cdd7-4758-4a43-856a-e8e936083089 without permission in gb b0401bbe-e121-4a1f-a270-3d69a1ace120 using gradebookService.getGradesForStudentsForItem
      at org.sakaiproject.component.gradebook.GradebookServiceHibernateImpl.getGradesForStudentsForItem(GradebookServiceHibernateImpl.java:1748)
      at sun.reflect.GeneratedMethodAccessor794.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      at com.sun.proxy.$Proxy43.getGradesForStudentsForItem(Unknown Source)
      at org.sakaiproject.gradebookng.business.GradebookNgBusinessService.buildGradeMatrix(GradebookNgBusinessService.java:709)
      at org.sakaiproject.gradebookng.business.GradebookNgBusinessService.buildGradeMatrix(GradebookNgBusinessService.java:550)
      at WICKET_org.sakaiproject.gradebookng.business.GradebookNgBusinessService$$FastClassByCGLIB$$86be4ca5.invoke(<generated>)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
      at org.apache.wicket.proxy.LazyInitProxyFactory$CGLibInterceptor.intercept(LazyInitProxyFactory.java:333)
      at WICKET_org.sakaiproject.gradebookng.business.GradebookNgBusinessService$$EnhancerByCGLIB$$f8dc0d7f.buildGradeMatrix(<generated>)
      at org.sakaiproject.gradebookng.tool.pages.GradebookPage.<init>(GradebookPage.java:187)
      ... 65 more

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  kyleblythe kyleblythe (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code