[Building Sakai] profile2 1.2 profile and connection link throw RuntimeException

Qu, Yuanhua yq12 at txstate.edu
Thu Jul 23 07:27:54 PDT 2009


Here is more info that I just found:

If I deleted the record of user in SAKAI_PERSON_T table, he can load the profile page without error, everything seems fine.  My guess would be something handling with SAKAI_PERSON_T data in the java code for getting the person's data might throw NullPointerException?

- Qu


On 7/23/09 7:31 AM, "Qu, Yuanhua" <yq12 at txstate.edu> wrote:

I did have two versions in there.  I removed the sakai-profile2-api-1.1.jar. Restarted the server.  Problem still exist.

I don't have problem when pointing to newly created sakai db but have problem with existing db.  Could it be possible that some field in SAKAI_PERSON_T table give null value?

- Qu


On 7/23/09 4:48 AM, "Steve Swinsburg" <steve.swinsburg at gmail.com> wrote:

Ok I think I know the issue, check shared/lib and make sure you don't have two versions of the sakai-profile2-api-XXX.jar in there.

cheers,
Steve



On 23/07/2009, at 1:31 AM, Qu, Yuanhua wrote:

Since it was throwing NullPointerException, I figured that the "Privacy" UI shows "Internal Error" might caused by the new added Academic_info column in privacy table.  I did forget to run 1.1 to 1.2 mysql conversion, therefore, there were records with NULL value in the academic_info field.  After I ran the profile2-conversion-1.1-1.2-mysql.sql,  the "Privacy" page shows right.  Yay!

 Still, when I click on reset Profile,  the UI shows "Internal Error",  when I click again on My Profile link, the My Profile page UI shows "Unexpected RuntimeException";   with the messages that I attached earlier, still related to NullPonterException.   Didn't see t Didn't see this error in profile1.1 though.

 Please take a look at the log file I attached and see what went wrong and how could I fix it.  Thanks.

 Here is in the web.xml file close to the bottom:

     <!-- Wicket likes to have a url-pattern mapping even though Sakai doesn't use it. -->    <servlet-mapping>        <servlet-name>sakai.profile2</servlet-name>        <url-pattern>/sakai-profile2/*</url-pattern>            </servlet-mapping>         <context-param>        <param-name>configuration</param-name>        <!-- <param-value>development</param-value> -->        <param-value>deployment</param-value>    </context-param>


 - Qu




 On 7/22/09 6:49 PM, "Steve Swinsburg" <steve.swinsburg at gmail.com> wrote:


Interesting,

 What happens in the logs, can you also send me a schema of your PROFILE_PRIVACY_T table. Did you upgrade the table with the upgrade script?

 Also, does this error throw in the UI? It should be catching this exception in a Wicket handler as I thought it was set to deployment mode. Can you check the web.xml for a parameter near the bottom that says deployment/development?



 cheers,
 Steve

On 22/07/2009, at 11:17 PM, Qu, Yuanhua wrote:


Correction.  It was My Profile and Privacy link in profile2 that have this NullPointerException Error.   Other links are fine.  This happened when I point to our existing database with ddl on; everything works fine if I point to a newly created database.

  - Qu


  ------ Forwarded Message
  From: "Qu, Yuanhua" <yq12 at txstate.edu>
  Date: Wed, 22 Jul 2009 13:40:16 -0500
  To: Steve Swinsburg <s.swinsburg at lancaster.ac.uk>, Sakai-Dev <sakai-dev at collab.sakaiproject.org>
  Subject: [Building Sakai] profile2 1.2 profile and connection link throw RuntimeException

  I've just upgraded profile2 from 1.1 to the newest release 1.2.

  I ran into "Unexpected RuntimeException" when I click My Profile and Connection links, other like Privacy, Preferences and Search seems loading the right page.  Any idea?   Attach the error message below.  Any help will appreciated.   Thanks.

  - Qu

  WicketMessage: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = myProfileLink]] threw an exception

  Root cause:

  java.lang.NullPointerException
  at org.sakaiproject.profile2.tool.pages.MyProfile.<init>(MyProfile.java:112)
  at org.sakaiproject.profile2.tool.pages.BasePage$1.onClick(BasePage.java:44)
  at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:214)
  at java.lang.reflect.Method.invoke(Method.java:585)
  at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
  at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
  at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
  at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
  at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
  at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
  at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
  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:679)
  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
  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:1343)
  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:891)
  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 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: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:174)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
  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:689)
  at java.lang.Thread.run(Thread.java:595)

  Complete stack:

  org.apache.wicket.WicketRuntimeException: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = myProfileLink]] threw an exception
  at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:194)
  at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
  at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
  at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
  at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
  at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)

  java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at java.lang.reflect.Method.invoke(Method.java:585)
  at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
  at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
  at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
  at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
  at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
  at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)



  ------ End of Forwarded Message

   <ATT00001.txt>





  <profile2Error.log>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090723/1abfb830/attachment.html 


More information about the sakai-dev mailing list