Error page when the URL requested is /portal

Description

When you request the /portal URL you get an error page.

For example, doing this requests:

  • localhost:8080/portal -> You get an error page.

  • localhost:8080/portal/ -> It works!

  • localhost:8080/portal/site/!gateway -> It also works.

If you were logged in, the stack trace shown on error page is:

org.sakaiproject.portal.api.PortalHandlerException: java.lang.NullPointerException at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:901) caused by: java.lang.NullPointerException at org.sakaiproject.portal.util.ToolUtils.isInlineRequest(ToolUtils.java:59) at org.sakaiproject.portal.charon.SkinnableCharonPortal.includeTool(SkinnableCharonPortal.java:618) at org.sakaiproject.portal.charon.handlers.PageHandler.includePage(PageHandler.java:239) at org.sakaiproject.portal.charon.handlers.WorksiteHandler.includeWorksite(WorksiteHandler.java:207) at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:485) at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:181) at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:901) at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:455) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)

Attachments

1
  • 18 Feb 2016, 05:04 PM

Activity

Show:

Juan Arcadio Martinez Carceles June 17, 2016 at 7:52 AM

In the current SNAPSHOT of Sakai 11, I cannot reproduce this bug. I tested on apache-tomcat-8.0.29 and it works fine.

Matthew Jones February 18, 2016 at 5:04 PM

This patch looks like it works for 10.x, going to apply it.

Matthew Jones February 18, 2016 at 4:42 PM
Edited

I think this problem is surfaced by Tomcat, but the actual fix for this is now part of https://sakaiproject.atlassian.net/browse/SAK-28146#icft=SAK-28146

So I think we're going to have to get that fix into 10.7 or else nobody on 10 can run a tomcat > 7.0.65.

I'm bumping this up to a blocker at the moment.

Matthew Jones February 18, 2016 at 12:53 PM

I updated nightly today to tomcat

8.0.32 and 7.0.68

The change log says "Restore the default for mapperContextRootRedirectEnabled to true"

I'm currently seeing no problems with 8.0.32 and trunk but it still seems to be causing a problem on 7.0.68.

Earle Nietzel January 7, 2016 at 8:47 AM

Yeah that was my understanding as well. They reverted it in the very next release!

Fixed

Details

Priority

Affects versions

Fix versions

Components

Assignee

Reporter

Environment

apache-tomcat-7.0.66+ jdk1.7.0_80

Created December 30, 2015 at 12:34 PM
Updated June 17, 2016 at 7:53 AM
Resolved February 18, 2016 at 5:05 PM