Details
-
Type:
Bug
-
Status: CLOSED
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 19.6, 20.2, 21.0 [Tentative], 22.0 [Tentative]
-
Fix Version/s: 19.6, 20.2, 21.0 [Tentative], 22.0 [Tentative]
-
Component/s: Tests & Quizzes (Samigo)
-
Labels:None
-
Environment:nightly servers, Win10: Chrome, FF, Edge
-
21 Status:Verified
-
20 status:Verified
-
19 status:Verified
-
Test Plan:
Description
There is a similar stacktrace on 19x, but the actions to get it are different than 20x-22x. In 19x, just clicking to add a question to a pool and then cancelling causes the stacktrace.
This also seems to be almost the same as SAK-40395, and if fixing that one solves the problem for this one, then please close this one.
I get the stacktrace if I click on Question Pools > a question pool > Add a question, and then click on the drop-down for the question type but don't select anything, then clicking Cancel on adding a question and then clicking to Add an assessment and on the questions page click to select from the Question Pool.
I tried different deviations in different courses:
- Add a quiz and select questions from Question Pool (no errors)
- Click on Question Pools > a pool > Add a question and actually add a question, then create a quiz using questions from the Question Pool (no errors)
- Click on Question Pools > a pool > Add a question, click Cancel, then create a quiz using questions from the Question Pool (no errors)
The error only seems to happen if I look at the question type drop-down in Question Pools > Add a question and then Cancel. Is it possible this is related to SAK-42874?
___
Console error:
19:20:41.522 POSThttps://qa20-mysql.nightly.sakaiproject.org/portal/site/adfa10d3-a663-4b31-842e-256408633e86/tool/1dad7399-2331-4469-8ed0-6f96693699f4/jsf/author/editAssessment19:20:41.522 POSThttps://qa20-mysql.nightly.sakaiproject.org/portal/site/adfa10d3-a663-4b31-842e-256408633e86/tool/1dad7399-2331-4469-8ed0-6f96693699f4/jsf/author/editAssessment[HTTP/2 500 Internal Server Error 326ms] POST https://qa20-mysql.nightly.sakaiproject.org/portal/site/adfa10d3-a663-4b31-842e-256408633e86/tool/1dad7399-2331-4469-8ed0-6f96693699f4/jsf/author/editAssessmentStatus500Internal Server ErrorVersionHTTP/2Transferred80.04 KB (79.46 KB size)
cache-control no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0 cache-control no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0 content-language en-US content-type text/html;charset=UTF-8 date Mon, 14 Sep 2020 23:20:42 GMT expires Sun, 15 Sep 2019 23:20:42 GMT expires Sun, 15 Sep 2019 23:20:42 GMT last-modified Mon, 14 Sep 2020 23:20:42 GMT last-modified Mon, 14 Sep 2020 23:20:42 GMT pragma no-cache pragma no-cache server nginx/1.17.10 (Ubuntu) X-Firefox-Spdy h2 x-sakai-session a1b1847e-d989-4987-8dc0-50e6e8cef094 Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 Accept-Encoding gzip, deflate, br Accept-Language en-US,en;q=0.5 Connection keep-alive Content-Length 80576 Content-Type application/x-www-form-urlencoded Cookie SAKAIID=a63f061b-f855-44a9-b589-4a119b8941d7.ip-172-31-7-189; _ga=GA1.4.2039190305.1600124200; _gid=GA1.4.1186699482.1600124200; pasystem_timezone_ok=true; _gat=1 Host qa20-mysql.nightly.sakaiproject.org Origin https://qa20-mysql.nightly.sakaiproject.org Referer https://qa20-mysql.nightly.sakaiproject.org/portal/site/adfa10d3-a663-4b31-842e-256408633e86/tool/1dad7399-2331-4469-8ed0-6f96693699f4/jsf/author/createAssessment_title TE Trailers Upgrade-Insecure-Requests 1 User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0
Server error:
14-Sep-2020 19:20:42.637 WARN [http-nio-20020-exec-9] org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent Failed to buffer content.14-Sep-2020 19:20:42.637 WARN [http-nio-20020-exec-9] org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent Failed to buffer content.
org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: /jsf/questionpool/poolTreeTable.jsp(48,0) 'tier#{questionpool.tree.currentLevel}' Error reading [currentLevel] on type [org.sakaiproject.tool.assessment.business.questionpool.QuestionPoolTreeImpl]
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:520)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1500)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1254)
at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1088)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:499)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:275)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:163)
at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1173)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:475)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.servlet.ServletException: /jsf/questionpool/poolTreeTable.jsp(48,0) 'tier#{questionpool.tree.currentLevel}' Error reading [currentLevel] on type [org.sakaiproject.tool.assessment.business.questionpool.QuestionPoolTreeImpl]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:683)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:426)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:360)
at org.sakaiproject.jsf2.util.JsfTool.doPost(JsfTool.java:250)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:352)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:508)
... 35 more
Caused by: org.apache.jasper.el.JspELException: /jsf/questionpool/poolTreeTable.jsp(48,0) 'tier#{questionpool.tree.currentLevel}' Error reading [currentLevel] on type [org.sakaiproject.tool.assessment.business.questionpool.QuestionPoolTreeImpl]
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:123)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:200)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:187)
at javax.faces.component.html.HtmlPanelGroup.getStyleClass(HtmlPanelGroup.java:370)
at sun.reflect.GeneratedMethodAccessor909.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2467)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeBegin(GroupRenderer.java:76)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:892)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:307)
at com.sun.faces.renderkit.html_basic.TableRenderer.renderRow(TableRenderer.java:398)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:161)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:918)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:918)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1905)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:918)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:918)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1905)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908)
at com.sun.faces.application.view.JspViewHandlingStrategy.doRenderView(JspViewHandlingStrategy.java:446)
at com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:201)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:194)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:151)
at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)
at org.sakaiproject.jsf2.app.SakaiViewHandlerWrapper.renderView(SakaiViewHandlerWrapper.java:161)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:151)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
... 58 more
Caused by: java.lang.NullPointerException
at org.sakaiproject.tool.assessment.business.questionpool.QuestionPoolTreeImpl.getCurrentObject(QuestionPoolTreeImpl.java:198)
at org.sakaiproject.tool.assessment.business.questionpool.QuestionPoolTreeImpl.getCurrentLevel(QuestionPoolTreeImpl.java:285)
at sun.reflect.GeneratedMethodAccessor1003.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:94)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:180)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:208)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:43)
at org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:49)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:115)
... 93 more