[Building Sakai] Forums tool - was Re: Lessons Tool NullPointerException

Neal Caidin neal.caidin at apereo.org
Thu Jan 9 06:18:48 PST 2014


Well, it's a start. Maybe this line is a clue :

 >An exception occurred processing JSP page 
/jsp/dfReviseTopicSettingsAttach.jsp at line 89

Perhaps something setting up a Topic in a Forum triggers the bug. 
Without the exact steps though, it may be hard to find, unless we get 
lucky during Sakai 10 qa testing. Is this a bug on Sakai 2.9? Or some 
other version.

For future reference, you might want to let your client know, in a nice 
and understanding way of course, that the more information he can 
provide, the easier it is to track down problems, especially a 
step-by-step on how to reproduce the issue. Browser and OS used can be 
helpful to know too (does the issue only occur on Windows/ IE , for 
example?). For local support issues, from my past experience, even the 
time of day of the error can be helpful (though that generally is not 
helpful for Sakai core debugging, more for glitches and network issues 
in local environments).

The next time he runs into a bug, he might want to stop, think about 
what he has just done prior to the bug, and report that. Even better, if 
he can reproduce the problem again, then we are in great shape to 
identify the source of the problem.

As an aside to the community, anybody have time to test the Forums tool 
for QA ? ;-)  .

Cheers,
Neal


> Jaco Gillman <mailto:jaco at opencollab.co.za>
> January 9, 2014 at 8:43 AM
> Hi Neal
>
> Sorry... I noticed I had the wrong Tool name in the Subject - it is 
> suppose to be the Forums tool where this occurred.
>
> I asked our client what exactly he did and here is his reply: I was 
> busy creating forums, I am not sure if I went to click save or back 
> and the site froze up. I really can't give you any more info than 
> that. The bug was really just
> brief and after I sent the report and refreshed the page it went back 
> to normal and has been fine since then.
>
> Hope this helps :)
>
> Regards,
>
> *Jaco Gillman*
>
> Java Developer
>
> opencollab
>
> *Tel*: +27 21 970 4017  | *Fax*:**+27 21 914 3098
>
> *Email*: jaco at opencollab.co.za <mailto:jaco at opencollab.co.za>  | 
> *Skype*: gillmanjc
>
> *Web*: www.opencollab.co.za <http://www.opencollab.co.za/>
>
>
>
>
>
> ------------------------------------------------------------------------
> See OpenCollab email disclaimer at 
> http://www.opencollab.co.za/email-disclaimer 
> <http://www.opencollab.co.za/email-disclaimer>
> Neal Caidin <mailto:neal.caidin at apereo.org>
> January 9, 2014 at 8:08 AM
> Hi Jaco,
>
> How can the issue be reproduced?
>
> Thanks,
> Neal
>
>
>
> Jaco Gillman <mailto:jaco at opencollab.co.za>
> January 9, 2014 at 7:53 AM
> Hi all
>
> We have installed a new Sakai 2.9.3 version and came across the 
> NullPointerException exception below. Have someone else came across 
> the same issue?
>
>
>
> stack trace:
>
>
> org.sakaiproject.portal.api.PortalHandlerException: 
> org.sakaiproject.tool.api.ToolException: 
> org.apache.jasper.JasperException: An exception occurred processing 
> JSP page /jsp/dfReviseTopicSettingsAttach.jsp at line 89
>
> 86: </h:panelGrid>
> 87: <%-- //designNote: rendered attr below should resolve to false 
> only if there is no prior short description
> 88:                                     and if there is server 
> property (TBD) saying not to use it  - below just checking for 
> pre-existing short description--%>
> 89: <h:panelGrid columns="1"  columnClasses="longtext" 
> rendered="#{ForumTool.showTopicShortDescription}">
> 90: <h:panelGroup>
> 91: <h:outputLabel id="outputLabel1" for="topic_shortDescription" 
>  value="#{msgs.cdfm_shortDescription}" />
> 92:
>
>
> Stacktrace:
>     at 
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:894)
> caused by: org.sakaiproject.tool.api.ToolException: 
> org.apache.jasper.JasperException: An exception occurred processing 
> JSP page /jsp/dfReviseTopicSettingsAttach.jsp at line 89
>
> 86: </h:panelGrid>
> 87: <%-- //designNote: rendered attr below should resolve to false 
> only if there is no prior short description
> 88:                                     and if there is server 
> property (TBD) saying not to use it  - below just checking for 
> pre-existing short description--%>
> 89: <h:panelGrid columns="1"  columnClasses="longtext" 
> rendered="#{ForumTool.showTopicShortDescription}">
> 90: <h:panelGroup>
> 91: <h:outputLabel id="outputLabel1" for="topic_shortDescription" 
>  value="#{msgs.cdfm_shortDescription}" />
> 92:
>
>
> Stacktrace:
>     at 
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1483)
> caused by: org.apache.jasper.JasperException: An exception occurred 
> processing JSP page /jsp/dfReviseTopicSettingsAttach.jsp at line 89
>
> 86: </h:panelGrid>
> 87: <%-- //designNote: rendered attr below should resolve to false 
> only if there is no prior short description
> 88:                                     and if there is server 
> property (TBD) saying not to use it  - below just checking for 
> pre-existing short description--%>
> 89: <h:panelGrid columns="1"  columnClasses="longtext" 
> rendered="#{ForumTool.showTopicShortDescription}">
> 90: <h:panelGroup>
> 91: <h:outputLabel id="outputLabel1" for="topic_shortDescription" 
>  value="#{msgs.cdfm_shortDescription}" />
> 92:
>
>
> Stacktrace:
>     at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
> caused by: javax.servlet.ServletException: 
> javax.servlet.jsp.JspException: javax.faces.el.EvaluationException: 
> javax.faces.el.EvaluationException: Error getting property 
> 'showTopicShortDescription' from bean of type 
> org.sakaiproject.tool.messageforums.DiscussionForumTool: 
> java.lang.NullPointerException
>     at 
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
> caused by: javax.faces.el.EvaluationException: 
> javax.faces.el.EvaluationException: Error getting property 
> 'showTopicShortDescription' from bean of type 
> org.sakaiproject.tool.messageforums.DiscussionForumTool: 
> java.lang.NullPointerException
>     at 
> com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
> caused by: javax.faces.el.EvaluationException: Error getting property 
> 'showTopicShortDescription' from bean of type 
> org.sakaiproject.tool.messageforums.DiscussionForumTool: 
> java.lang.NullPointerException
>     at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
> caused by: java.lang.NullPointerException
>     at 
> org.sakaiproject.tool.messageforums.DiscussionForumTool.getShowTopicShortDescription(DiscussionForumTool.java:7789)
>     at sun.reflect.GeneratedMethodAccessor2287.invoke(null:-1)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at 
> com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:99)
>     at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
>     at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
>     at 
> com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
>     at 
> com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
>     at 
> com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
>     at 
> javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:335)
>     at 
> javax.faces.webapp.UIComponentTag.shouldBeSuppressed(UIComponentTag.java:1289)
>     at 
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:497)
>     at 
> com.sun.faces.taglib.html_basic.PanelGridTag.doStartTag(PanelGridTag.java:442)
>     at 
> org.apache.jsp.jsp.dfReviseTopicSettingsAttach_jsp._jspx_meth_h_005fpanelGrid_005f1(dfReviseTopicSettingsAttach_jsp.java:1502)
>     at 
> org.apache.jsp.jsp.dfReviseTopicSettingsAttach_jsp._jspService(dfReviseTopicSettingsAttach_jsp.java:451)
>     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.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.tool.messageforums.MessageForumsFilePickerServlet.dispatch(MessageForumsFilePickerServlet.java:166)
>     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.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: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:502)
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>     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.ajp.AjpProcessor.process(AjpProcessor.java:200)
>     at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
>     at org.apache.tomcat.util.net 
> <http://org.apache.tomcat.util.net>.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>     at java.lang.Thread.run(Thread.java:662)
>
>
> Regards,
>
> *Jaco Gillman*
>
> Java Developer
>
> opencollab
>
> *Tel*: +27 21 970 4017  | *Fax*:**+27 21 914 3098
>
> *Email*: jaco at opencollab.co.za <mailto:jaco at opencollab.co.za>  | 
> *Skype*: gillmanjc
>
> *Web*: www.opencollab.co.za <http://www.opencollab.co.za/>
>
>
> ------------------------------------------------------------------------
> See OpenCollab email disclaimer at 
> http://www.opencollab.co.za/email-disclaimer 
> <http://www.opencollab.co.za/email-disclaimer>
> _______________________________________________
> 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"

-- 
Neal Caidin
Sakai Community Coordinator
Apereo Foundation
neal.caidin at apereo.org
Skype me! (but let me know in advance for the first interaction) - nealkdin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140109/517de3a5/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compose-unknown-contact.jpg
Type: image/jpeg
Size: 770 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140109/517de3a5/attachment.jpg 


More information about the sakai-dev mailing list