Infinite redirects when a user logs in for the first time in a site with a custom theme
How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!
While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.
legacy-article
learn-legacy-article-disclaimer-text
Issue
- When a user logs in for the first time in a site with a custom theme applied, an infinite set of redirections happens and the following warning message appears in logs:
[code_jsp:161] {code="500", msg="", uri=/c}
javax.servlet.ServletException: java.lang.NullPointerException
at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:399) ~[portal-impl.jar:?]
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:142) ~[portal-impl.jar:?]
at com.liferay.portal.internal.servlet.MainServlet.doGet(MainServlet.java:189) ~[portal-impl.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) ~[servlet-api.jar:4.0.FR]
at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:589) ~[portal-impl.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) ~[servlet-api.jar:4.0.FR]
at com.liferay.shielded.container.internal.proxy.ServletWrapper.service(ServletWrapper.java:103) ~[com.liferay.shielded.container.impl.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.80]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-websocket.jar:9.0.80]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.80]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:115) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:138) ~[portal-kernel.jar:?]
at com.liferay.change.tracking.internal.servlet.filter.CTCollectionPreviewFilter.processFilter(CTCollectionPreviewFilter.java:56) ~[?:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:47) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.servlet.filters.lockout.LockoutFilter.processFilter(LockoutFilter.java:49) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:138) ~[portal-kernel.jar:?]
at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:330) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:138) ~[portal-kernel.jar:?]
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:236) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:138) ~[portal-kernel.jar:?]
at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:116) ~[?:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:90) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:90) ~[portal-kernel.jar:?]
at com.liferay.saml.internal.servlet.filter.SpSessionTerminationSamlPortalFilter.doProcessFilter(SpSessionTerminationSamlPortalFilter.java:82) ~[?:?]
at com.liferay.saml.internal.servlet.filter.BaseSamlPortalFilter.processFilter(BaseSamlPortalFilter.java:38) ~[?:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) ~[?:?]
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) ~[?:?]
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) ~[?:?]
at com.liferay.portal.url.rewrite.filter.internal.URLRewriteFilter.processFilter(URLRewriteFilter.java:86) ~[?:?]
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:40) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:107) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:166) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:90) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:166) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:90) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:90) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:95) ~[portal-kernel.jar:?]
at com.liferay.shielded.container.internal.proxy.FilterWrapper.doFilter(FilterWrapper.java:69) ~[com.liferay.shielded.container.impl.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[catalina.jar:9.0.80]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) ~[catalina.jar:9.0.80]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [catalina.jar:9.0.80]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [catalina.jar:9.0.80]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) [catalina.jar:9.0.80]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.80]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.80]
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:422) [tomcat-coyote.jar:9.0.80]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:9.0.80]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) [tomcat-coyote.jar:9.0.80]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1790) [tomcat-coyote.jar:9.0.80]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:9.0.80]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.80]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.80]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.80]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NullPointerException
at com.liferay.layout.utility.page.terms.of.use.internal.struts.TermsOfUseStrutsAction.execute(TermsOfUseStrutsAction.java:78) ~[?:?]
at com.liferay.portal.struts.ActionAdapter.execute(ActionAdapter.java:31) ~[portal-impl.jar:?]
at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:386) ~[portal-impl.jar:?]
... 84 more
Environment
- Quarterly Releases: 2024.Q3, 2024.Q2, 2024.Q1, 2023.Q4, 2023.Q3
- Liferay DXP 7.4 Update 31+
Resolution
- The custom theme used does not contain an HTML tag with an id equals to "content".
- In order to avoid this situation, make sure that your custom theme's portal_normal.ftl file keeps this structural tag from the related parent theme.
did-this-article-resolve-your-issue