Legacy Knowledge Base
Published Jul. 2, 2025

'IllegalStateException' Errors When 'layout.parallel.render.enable' is Set to 'true' in Liferay Portal 6.2 on Tomcat

Written By

Justin Choi

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

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

This article documents a known issue for users on Apache Tomcat 6.0.44, 7.0.69 or newer (including Tomcat 8) after Apache has issued a bug fix on those versions.

When layout.parallel.render.enable=truehas been set, users might see the following errors in the console logs on Liferay Portal 6.2:

SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap
        at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:164)
        at java.util.HashMap.putAll(HashMap.java:643)
        at org.apache.catalina.util.ParameterMap.putAll(ParameterMap.java:186)
        at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(ApplicationHttpRequest.java:739)
        at org.apache.catalina.core.ApplicationHttpRequest.getParameter(ApplicationHttpRequest.java:376)
        at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
        at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
        at com.liferay.portlet.SecurityPortletContainerWrapper.hasAccessPermission(SecurityPortletContainerWrapper.java:337)
        at com.liferay.portlet.SecurityPortletContainerWrapper.check(SecurityPortletContainerWrapper.java:209)
        at com.liferay.portlet.SecurityPortletContainerWrapper.checkRender(SecurityPortletContainerWrapper.java:243)
        at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:139)
        at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
        at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156)
        at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:125)
        at com.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107)
        at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:180)
        at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1)
        at com.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
        at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
        at java.lang.Thread.run(Thread.java:745)

 

27-Oct-2017 06:54:45.570 SEVERE [RuntimePageImpl-3] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception
 java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:889)
	at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)
	at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:575)
...
27-Oct-2017 06:54:45.584 SEVERE [RuntimePageImpl-4] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet jsp threw exception
 java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
	at org.apache.catalina.connector.RequestFacade.getAttribute(RequestFacade.java:279)
	at org.apache.catalina.c

The second one might occur when the following JVM argument is set in CATALINA_OPTS:

org.apache.catalina.connector.RECYCLE_FACADES=true

Resolution

The solution is to set layout.parallel.render.enable= to false in the portal-ext.properties. This property has already been deprecated and set to false by default as of DXP 7.0.

Additional Information

See this article for more information from Apache.

Did this article resolve your issue ?

Legacy Knowledge Base