stack trace error when any user clicks profile under 'My Workspace' tab

Description

Any time a registered user tries to view their own profile, an error occurs, with the following stack trace:

org.sakaiproject.portal.api.PortalHandlerException: org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor public org.sakaiproject.profile2.tool.Dispatcher()
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
caused by: org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor public org.sakaiproject.profile2.tool.Dispatcher()
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:97)
caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
caused by: class org.sakaiproject.profile2.exception.ProfileNotDefinedException: Couldn't create a SakaiPerson for f2143238-e4c8-47a4-a52e-975996bfca6f
at org.sakaiproject.profile2.tool.pages.MyProfile.renderMyProfile(MyProfile.java:136)
at org.sakaiproject.profile2.tool.pages.MyProfile.<init>(MyProfile.java:83)
at org.sakaiproject.profile2.tool.Dispatcher.<init>(Dispatcher.java:27)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:192)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:97)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:305)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:320)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
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:598)
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:659)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1429)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:862)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
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:659)
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:172)
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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:662)

Attachments

1

Activity

Show:

Steve Swinsburg September 29, 2011 at 11:15 PM

I don't think the table would have been created at all so you won't be able to adjust it. I've attached to this issue the SQL you can use to create the table. Cheers.

Brian Armstrong September 29, 2011 at 11:04 PM

OK, I double checked, since I didn't think I would be using an unsupported DB, and I am running 5.1, not 5.5. So I just need to adjust the table? Is there a script I can run to do that?

Steve Swinsburg September 29, 2011 at 10:55 PM

You could manually create the table. is the Jira that has fixed the issue. You'll need to get the SQL that creates the table and adjust it so it is mediumtext.

It should be in Sakai 2.8.1.

Just bear in mind that MySQL 5.5 isn't supported across any of Sakai yet so there might be other issues.

Brian Armstrong September 29, 2011 at 10:44 PM

So excuse my ignorance, but if that is the problem, what is the fix? Upgrade MySQL? Modify the table? Add a patch? Any instructions on this would be greatly appreciated.

Steve Swinsburg September 29, 2011 at 10:09 PM
Edited

It's still relevant, it is the actual issue. MySQL 5.5 isn't supported and will cause this problem. The issue is that it chooses the incorrect column type when creating the columns, and their sizes add up to be larger than 64k. This has been fixed in trunk.

Fixed

Details

Priority

Affects versions

Fix versions

Components

Assignee

Reporter

Environment

Windows Server 2008 R2, MySQL DB, Tomcat 5.5
Created September 29, 2011 at 2:25 PM
Updated July 15, 2014 at 7:12 AM
Resolved September 30, 2011 at 3:43 PM