[Portfolio] Null pointer errors

Sander Steeman sander at portfolio4u.nl
Wed Mar 25 02:48:16 PDT 2009


Dear all,
We have been able to reproduce the stack trace below in our own production
environment (Sakai 2.5.2) and on nightly build (Maintenance Branch). Here is
the scenario:

- In Matrices/Wizard click on a link to fill out a form
(reflection/feedback/evaluation)
- Start filling out the form
- Click the browser's "Back" button (presumably because the user wants to
check something on the previous page -i.e. matrix cell/wizard page)
- Click again on the link to fill out the form > Stack trace :

caused by: java.lang.NumberFormatException: null
    at java.lang.Integer.parseInt(Integer.java:415)
    at java.lang.Integer.parseInt(Integer.java:497)
    at
org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(ReviewHelperController.java:130)
    at
org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(ViewControllerImpl.java:78)
    at org.springframework.
web.servlet.mvc.AbstractCommandController.handleRequestInternal
(AbstractCommandController.java:84)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest
(AbstractController.java:153)
    at org.springframework.
web.servlet.mvc.SimpleControllerHandlerAdapter.handle
(SimpleControllerHandlerAdapter.java:48)

I couldn't find a JIRA ticket for it. Is it there? Should I file one?

Regards,

Sander Steeman

product manager
Learning4u (Portfolio4u b.v.)
Science Park 400
1098 XH Amsterdam
The Netherlands


On Wed, Dec 10, 2008 at 8:28 PM, Noah Botimer <botimer at umich.edu> wrote:

>  Hi Marc,
> There are a couple of exceptions that we have been seeing occasionally but
> haven't been able to track down yet.  This particular one doesn't look
> familiar, but here are some of the hotspots we're seeing (with a few lines
> of stack trace for each).
>
> Initial inspection points at session/helper stuff for each of these, but
> reproduction has proven elusive.  We'll be looking into these in more detail
> as time permits.  There are likely to be some JIRA tickets to track once we
> know more.
>
> Thanks,
> -Noah
>
>
> request-path:
> /portal/tool/6a9c3957-548e-4dd2-00c8-d3d6c6b8ea11/osp.wizard.page.contents.helper/sakai.metaobj.form.helper/formEditHelper
> caused by: java.lang.NullPointerException
>     at
> org.sakaiproject.metaobj.shared.control.EditXmlElementController.fillBackingObject(EditXmlElementController.java:114)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.servlet.FormControllerImpl.formBackingObject(FormControllerImpl.java:159)
>     at org.springframework.
> web.servlet.mvc.AbstractFormController.getErrorsForNewForm
> (AbstractFormController.java:343)
>     at org.springframework.
> web.servlet.mvc.AbstractFormController.showNewForm
> (AbstractFormController.java:323)
>
> request-path:
> /portal/tool/ffdbaa61-8404-458b-be4e-784eeecf36d1/osp.wizard.page.contents.helper/sakai.metaobj.form.helper/formEditHelper
> caused by: java.lang.NullPointerException
>     at
> org.sakaiproject.metaobj.shared.model.ElementBean.getType(ElementBean.java:354)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.MapWrapper.setPropertyValue(MapWrapper.java:116)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.MapWrapper.setPropertyValue(MapWrapper.java:136)
>     at
> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
>     at
> org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:532)
>     at
> org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
>
> request-path:
> /portal/tool/ffdbaa61-8404-458b-be4e-784eeecf36d1/osp.wizard.page.contents.helper/sakai.metaobj.form.helper/formCreateHelper.osp
> caused by: java.lang.NullPointerException
>     at
> org.sakaiproject.metaobj.shared.mgt.home.StructuredArtifactDefinition.<init>(StructuredArtifactDefinition.java:101)
>     at
> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.createHome(DbXmlHomeFactoryImpl.java:82)
>     at
> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.getHome(DbXmlHomeFactoryImpl.java:58)
>     at
> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.handlesType(DbXmlHomeFactoryImpl.java:46)
>     at
> org.sakaiproject.metaobj.shared.mgt.HomeFactoryImpl.getHome(HomeFactoryImpl.java:64)
>     at
> org.sakaiproject.metaobj.shared.control.XmlControllerBase.getSchema(XmlControllerBase.java:219)
>
> request-path:
> /portal/tool/49a87eaa-3e88-4803-bc6b-6da5a1b12321/osp.review.processor.helper/reviewHelper.osp
> caused by: java.lang.NullPointerException
>     at
> org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(ReviewHelperController.java:145)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(ViewControllerImpl.java:78)
>     at org.springframework.
> web.servlet.mvc.AbstractCommandController.handleRequestInternal
> (AbstractCommandController.java:84)
>     at org.springframework.
> web.servlet.mvc.AbstractController.handleRequest
> (AbstractController.java:153)
>     at org.springframework.
> web.servlet.mvc.SimpleControllerHandlerAdapter.handle
> (SimpleControllerHandlerAdapter.java:48)
>
> [somewhere in the review helper process]
> caused by: java.lang.NumberFormatException: null
>     at java.lang.Integer.parseInt(Integer.java:415)
>     at java.lang.Integer.parseInt(Integer.java:497)
>     at
> org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(ReviewHelperController.java:130)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(ViewControllerImpl.java:78)
>     at org.springframework.
> web.servlet.mvc.AbstractCommandController.handleRequestInternal
> (AbstractCommandController.java:84)
>     at org.springframework.
> web.servlet.mvc.AbstractController.handleRequest
> (AbstractController.java:153)
>     at org.springframework.
> web.servlet.mvc.SimpleControllerHandlerAdapter.handle
> (SimpleControllerHandlerAdapter.java:48)
>
> On Dec 10, 2008, at 2:02 PM, Marc Zaldivar wrote:
>
> All,
>
> We received a bunch of errors last night that were essentially null pointer
> errors.  It looks like a majority of them (though not all) came from users
> using the Matrix and Portfolio tools from their My Workspace area.  I’m
> copying a typical error below.  This one points at the “viewmatrix.osp”
> tool, but the most frequent errors came from the
> “sakai.metaobj.form.helper/formEditHelper” or the “.../formCreateHelper”
>  tools.  We can’t seem to duplicate the issue on our test machines.  It
> seems to affect Mac users, Vista users, and XP users, and we got reports
> from users using Firefox 3, IE7, Chrome, and Safari (even though we don’t
> support the last two browsers).
>
> My questions:
>
>    1. Has there been a known issue with the Matrix/Portfolio tool use from
>    the My Workspace (filling out forms in a matrix, viewing a matrix, creating
>    a portfolio, viewing a portfolio)?
>    2. Have any of you seen these regular null pointer errors originating
>    from OSP forms? I didn’t see anything in the Sakai Jira referencing these.
>    3. Does anyone see anything in the report below indicating what the
>    issue is?
>
>
> Thanks!
>
> Marc Zaldivar
> ====================================
> usage-session: 051e9554-06bc-426d-b5b1-ef2e2f420211
> stack-trace-digest: 30739E2B5592E037F0B64B56330FFE8610B9E8D2
> sakai-version: 2.5.0
> service-version: 2.5
> app-server: ketchup
> user-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4)
> Gecko/2008102920 Firefox/3.0.4
> browser-id: Win-Mozilla
> IP: 127.0.0.1
> request-path:
> /xsl-portal/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/viewMatrix.osp
> time: Dec 10, 2008 05:56:55
>
>
> stack trace:
>
> org.sakaiproject.portal.api.PortalHandlerException:
> org.sakaiproject.tool.api.ToolException: Request processing failed; nested
> exception is java.lang.NullPointerException
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:892)
> caused by: org.sakaiproject.tool.api.ToolException: Request processing
> failed; nested exception is java.lang.NullPointerException
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1344)
> caused by: org.springframework.web.util.NestedServletException: Request
> processing failed; nested exception is java.lang.NullPointerException
>     at org.springframework.web.servlet.FrameworkServlet.doGet
> (FrameworkServlet.java:430)
> caused by: java.lang.NullPointerException
>     at
> org.theospi.portfolio.matrix.control.ViewMatrixController.referenceData(ViewMatrixController.java:219)
>     at
> org.sakaiproject.metaobj.utils.mvc.impl.servlet.FormControllerImpl.referenceData(FormControllerImpl.java:115)
>     at org.springframework.web.servlet.mvc.AbstractFormController.showForm
> (AbstractFormController.java:559)
>     at org.springframework.web.servlet.mvc.SimpleFormController.showForm
> (SimpleFormController.java:198)
>     at org.springframework.web.servlet.mvc.SimpleFormController.showForm
> (SimpleFormController.java:175)
>     at org.springframework.
> web.servlet.mvc.AbstractFormController.showNewForm
> (AbstractFormController.java:323)
>     at org.springframework.
> web.servlet.mvc.AbstractFormController.handleRequestInternal
> (AbstractFormController.java:263)
>     at org.springframework.
> web.servlet.mvc.AbstractController.handleRequest
> (AbstractController.java:153)
>     at org.springframework.
> web.servlet.mvc.SimpleControllerHandlerAdapter.handle
> (SimpleControllerHandlerAdapter.java:48)
>     at org.springframework.web.servlet.DispatcherServlet.doDispatch
> (DispatcherServlet.java:857)
>     at org.springframework.web.servlet.DispatcherServlet.doService
> (DispatcherServlet.java:792)
>     at org.springframework.web.servlet.FrameworkServlet.processRequest
> (FrameworkServlet.java:475)
>     at org.springframework.web.servlet.FrameworkServlet.doGet
> (FrameworkServlet.java:430)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>     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:691)
>     at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
>     at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
>     at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>     at
> org.sakaiproject.spring.util.SpringTool.dispatch(SpringTool.java:231)
>     at org.sakaiproject.spring.util.SpringTool.doGet(SpringTool.java:294)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>     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:555)
>     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:691)
>     at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
>     at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
>     at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
>     at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:459)
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1344)
>     at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:163)
>     at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:86)
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:892)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>     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:592)
>     at
> com.rsmart.sakai.kernel.request.BrandRequestFilter.doFilter(BrandRequestFilter.java:79)
>     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:210)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>     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:151)
>     at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>     at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>     at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>     at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>     at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>     at java.lang.Thread.run(Thread.java:595)
>
>
> Tool Placement:
> No Placement
>
>
> Request:
> :    AuthType:null
> :    CharEncoding:UTF-8
> :    ContentLength:-1
> :    ContentType:null
> :    ContextPath:/xsl-portal
> :    LocalAddress:127.0.0.1
> :    LocalName:localhost
> :    LocalPort:8080
> :    Method:GET
> :    PathInfo:/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/viewMatrix.osp
> :    Protocol:HTTP/1.1
> :    QueryString:page_id=30FA0EA54C504429C834B7C3AD2A8A34
> :    RemoteAddress:127.0.0.1
> :    RemoteHost:127.0.0.1
> :    RemotePort:59636
> :    Requested URL:
> https://scholar.vt.edu/xsl-portal/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/viewMatrix.osp
> :    Scheme:https
> :    ServerName:scholar.vt.edu
> :    Headers:
> :        Header:host:localhost:8080
> :        Header:user-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
> rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
> :
>        Header:accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> :        Header:accept-language:en-us,en;q=0.5
> :        Header:accept-encoding:gzip,deflate
> :        Header:accept-charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
> :        Header:referer:
> https://scholar.vt.edu/xsl-portal/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/osp.wizard.page.contents.helper/sakai.metaobj.form.helper/formEditHelper
> :        Header:cookie:---censored---
> :        Header:x-forwarded-for:204.119.253.226
> :        Header:x-forwarded-host:scholar.vt.edu
> :        Header:x-forwarded-server:ketchup
> :        Header:connection:Keep-Alive
> :    Parameters:
> :        Parameter:page_id:0:30FA0EA54C504429C834B7C3AD2A8A34
> :    Attributes:
> :
>        Attribute:tool.url.manager:org.sakaiproject.portal.util.ToolURLManagerImpl at 3f08a36c
> :
>        Attribute:sakai.session:org.sakaiproject.tool.impl.SessionComponent$MySession at 26242c7e
> :        Attribute:sakai.html.head.css.base:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
>
> :
>        Attribute:sakai.character.encoding.done:sakai.character.encoding.done
> :        Attribute:sakai.html.head.js:<script type="text/javascript"
> language="JavaScript" src="/library/js/headscripts.js"></script>
>
> :        Attribute:sakai.html.head:<link href="/library/skin/tool_base.css"
> type="text/css" rel="stylesheet" media="all" />
> <link href="/library/skin/Virginia-Tech/tool.css" type="text/css"
> rel="stylesheet" media="all" />
> <script type="text/javascript" language="JavaScript"
> src="/library/js/headscripts.js"></script>
>
> :        Attribute:sakai.request.native.url:sakai.request.native.url
> :
>        Attribute:sakai.html.body.onload:setMainFrameHeight('Main909437e5x8cdex44a3x8c5fx2c1389421dcf');setFocus(focus_path);
> :        Attribute:sakai.filtered:sakai.filtered
> :        Attribute:sakai.html.head.css.skin:<link
> href="/library/skin/Virginia-Tech/tool.css" type="text/css" rel="stylesheet"
> media="all" />
>
> :        Attribute:sakai.html.head.css:<link
> href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
> media="all" />
> <link href="/library/skin/Virginia-Tech/tool.css" type="text/css"
> rel="stylesheet" media="all" />
>
> Session:
> :    Created:1228892326942
> :    LastAccess:1228906615479
> :    MaxInactive:3600
> :    Attributes:
> :        Attribute:portalskin:defaultskin
>
> ------------------------------
>
> This automatic notification message was sent by Sakai Collab (
> https://collab.sakaiproject.org//portal) from the Project: Portfolio site.
> You can modify how you receive notifications at My Workspace > Preferences.
>
>
>
> ------------------------------
>
> This automatic notification message was sent by Sakai Collab (
> https://collab.sakaiproject.org//portal) from the Project: Portfolio site.
> You can modify how you receive notifications at My Workspace > Preferences.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/portfolio/attachments/20090325/d5ca419d/attachment-0001.html 


More information about the portfolio mailing list