<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Embedded portlet in theme throwing an</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119467990" />
  <subtitle>Embedded portlet in theme throwing an</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119467990</id>
  <updated>2026-04-07T02:00:39Z</updated>
  <dc:date>2026-04-07T02:00:39Z</dc:date>
  <entry>
    <title>RE: Embedded portlet in theme throwing an</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119474332" />
    <author>
      <name>Olaf Kock</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119474332</id>
    <updated>2020-06-24T09:23:59Z</updated>
    <published>2020-06-24T09:23:59Z</published>
    <summary type="html">&lt;div class="quote-title"&gt;Siva Yedida:&lt;/div&gt;&lt;blockquote&gt;&lt;br /&gt;Hi Dominik,&lt;br /&gt;I don&amp;#39;t see any errors in my local or dev environment with that code, I only see this error in PROD , that too not every time.Adding the server log,&lt;br /&gt;&lt;blockquote&gt;...&lt;br /&gt;Caused by: javax.servlet.jsp.JspException: com.liferay.portal.kernel.portlet.PortletContainerException: java.lang.IllegalStateException: UT010006: Cannot call getWriter(), getOutputStream() already called&lt;br /&gt;    at com.liferay.taglib.portletext.RuntimeTag.doEndTag(RuntimeTag.java:353)&lt;br /&gt;    at freemarker.ext.jsp.TagTransformModel$TagWriter.endEvaluation(TagTransformModel.java:400)&lt;br /&gt;    at freemarker.ext.jsp.TagTransformModel$TagWriter.onStart(TagTransformModel.java:344)&lt;br /&gt;    ... 99 more&lt;br /&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;It&amp;#39;s a good guess that this is the root cause for your problem: It&amp;#39;s also an explanation why it doesn&amp;#39;t appear every single time.&lt;br /&gt;One possibility is that your custom implementation tries to mock with the output stream, e.g. add a header, or wrap the stream, while some data has already been written to it and potentially processed or sent to the browser. &lt;br /&gt;This often is environment dependent, e.g. caches are flushed based on available memory, OS parameters, or other circumstances. Thus they only appear once the environment changes (in load, OS, or configuration). &lt;br /&gt;Not 100% sure, but these circumstances have bitten me ages ago. Does the portlet that you embed do any trickery with the output stream? &lt;br /&gt;Also: Does your stacktrace continue with another &amp;#34;Caused by&amp;#34; clause? Because it seems that the exception reported here is another one further down the stream, that&amp;#39;s just wrapped by RuntimeTag.doEndTag().&lt;br /&gt;Which (exact) version are you using? Because line 353 doesn&amp;#39;t match the source code that I looked up the tag&amp;#39;s implementation</summary>
    <dc:creator>Olaf Kock</dc:creator>
    <dc:date>2020-06-24T09:23:59Z</dc:date>
  </entry>
  <entry>
    <title>RE: Embedded portlet in theme throwing an</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119471498" />
    <author>
      <name>DBS USER</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119471498</id>
    <updated>2025-01-22T03:35:47Z</updated>
    <published>2020-06-23T16:25:19Z</published>
    <summary type="html">Hi Dominik,&lt;br /&gt;I don&amp;#39;t see any errors in my local or dev environment with that code, I only see this error in PROD , that too not every time.Adding the server log,&lt;br /&gt;&lt;blockquote&gt;FreeMarker template error:&lt;br /&gt;Error while invoking the &amp;#34;runtime&amp;#34; JSP custom tag; see cause exception----&lt;br /&gt;FTL stack trace (&amp;#34;~&amp;#34; means nesting-related):&lt;br /&gt;    - Failed at: @liferay_portlet[&amp;#34;runtime&amp;#34;] defaultPr...  [in template &amp;#34;my-theme_SERVLET_CONTEXT_/templates/portal_normal.ftl&amp;#34; at line 228, column 41]&lt;br /&gt;----Java stack trace (for programmers):&lt;br /&gt;----&lt;br /&gt;freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]&lt;br /&gt;    at freemarker.ext.jsp.JspTagModelBase.toTemplateModelExceptionOrRethrow(JspTagModelBase.java:154)&lt;br /&gt;    at freemarker.ext.jsp.TagTransformModel$TagWriter.onStart(TagTransformModel.java:367)&lt;br /&gt;    at freemarker.core.Environment.visitAndTransform(Environment.java:422)&lt;br /&gt;    at freemarker.core.UnifiedCall.accept(UnifiedCall.java:107)&lt;br /&gt;    at freemarker.core.Environment.visit(Environment.java:324)&lt;br /&gt;    at freemarker.core.MixedContent.accept(MixedContent.java:54)&lt;br /&gt;    at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)&lt;br /&gt;    at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)&lt;br /&gt;    at freemarker.core.Environment.visitByHiddingParent(Environment.java:345)&lt;br /&gt;    at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)&lt;br /&gt;    at freemarker.core.Environment.visit(Environment.java:324)&lt;br /&gt;    at freemarker.core.MixedContent.accept(MixedContent.java:54)&lt;br /&gt;    at freemarker.core.Environment.visit(Environment.java:324)&lt;br /&gt;    at freemarker.core.Environment.process(Environment.java:302)&lt;br /&gt;    at freemarker.template.Template.process(Template.java:325)&lt;br /&gt;    at com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:123)&lt;br /&gt;    at com.liferay.portal.template.AbstractSingleResourceTemplate.processTemplate(AbstractSingleResourceTemplate.java:78)&lt;br /&gt;    at com.liferay.taglib.util.ThemeUtil.doIncludeFTL(ThemeUtil.java:280)&lt;br /&gt;    at com.liferay.taglib.util.ThemeUtil.doDispatch(ThemeUtil.java:158)&lt;br /&gt;    at com.liferay.taglib.util.ThemeUtil.includeFTL(ThemeUtil.java:97)&lt;br /&gt;    at com.liferay.taglib.util.ThemeUtil.include(ThemeUtil.java:82)&lt;br /&gt;    at com.liferay.taglib.theme.IncludeTag.doEndTag(IncludeTag.java:34)&lt;br /&gt;    at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:713)&lt;br /&gt;    at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:650)&lt;br /&gt;    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)&lt;br /&gt;    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)&lt;br /&gt;    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)&lt;br /&gt;    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:402)&lt;br /&gt;    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:346)&lt;br /&gt;    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)&lt;br /&gt;    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)&lt;br /&gt;    at com.liferay.frontend.compatibility.ie.servlet.filter.IEMimeTypeCompatibilityFilter.processFilter(IEMimeTypeCompatibilityFilter.java:56)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)&lt;br /&gt;    at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:58)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)&lt;br /&gt;    at com.liferay.saml.runtime.internal.servlet.filter.SamlSpSsoFilter.doProcessFilter(SamlSpSsoFilter.java:143)&lt;br /&gt;    at com.liferay.saml.runtime.internal.servlet.filter.BaseSamlPortalFilter.processFilter(BaseSamlPortalFilter.java:47)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)&lt;br /&gt;    at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:377)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)&lt;br /&gt;    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)&lt;br /&gt;    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)&lt;br /&gt;    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)&lt;br /&gt;    at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:65)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)&lt;br /&gt;    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:101)&lt;br /&gt;    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)&lt;br /&gt;    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)&lt;br /&gt;    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)&lt;br /&gt;    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)&lt;br /&gt;    at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)&lt;br /&gt;    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)&lt;br /&gt;    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)&lt;br /&gt;    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)&lt;br /&gt;    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)&lt;br /&gt;    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)&lt;br /&gt;    at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)&lt;br /&gt;    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)&lt;br /&gt;    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)&lt;br /&gt;    at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)&lt;br /&gt;    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)&lt;br /&gt;    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)&lt;br /&gt;    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)&lt;br /&gt;    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)&lt;br /&gt;    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)&lt;br /&gt;    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)&lt;br /&gt;    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)&lt;br /&gt;    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)&lt;br /&gt;    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)&lt;br /&gt;    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:324)&lt;br /&gt;    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:803)&lt;br /&gt;    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;br /&gt;    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;br /&gt;    at java.lang.Thread.run(Thread.java:748)&lt;br /&gt;Caused by: javax.servlet.jsp.JspException: com.liferay.portal.kernel.portlet.PortletContainerException: java.lang.IllegalStateException: UT010006: Cannot call getWriter(), getOutputStream() already called&lt;br /&gt;    at com.liferay.taglib.portletext.RuntimeTag.doEndTag(RuntimeTag.java:353)&lt;br /&gt;    at freemarker.ext.jsp.TagTransformModel$TagWriter.endEvaluation(TagTransformModel.java:400)&lt;br /&gt;    at freemarker.ext.jsp.TagTransformModel$TagWriter.onStart(TagTransformModel.java:344)&lt;br /&gt;    ... 99 more&lt;/blockquote&gt;</summary>
    <dc:creator>DBS USER</dc:creator>
    <dc:date>2020-06-23T16:25:19Z</dc:date>
  </entry>
  <entry>
    <title>RE: Embedded portlet in theme throwing an</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119468755" />
    <author>
      <name>Dominik Marks</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119468755</id>
    <updated>2020-06-23T13:54:54Z</updated>
    <published>2020-06-23T13:54:54Z</published>
    <summary type="html">There is an error while executing the RuntimeTag. The server log would be helpful to see what is really causing the issue.</summary>
    <dc:creator>Dominik Marks</dc:creator>
    <dc:date>2020-06-23T13:54:54Z</dc:date>
  </entry>
  <entry>
    <title>Embedded portlet in theme throwing an</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119467989" />
    <author>
      <name>DBS USER</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119467989</id>
    <updated>2025-01-22T03:35:47Z</updated>
    <published>2020-06-23T12:55:48Z</published>
    <summary type="html">We embedded our custom portlet in our theme. It worked without any issues/errors in dev environment. But in PROD, we&amp;#39;re seeing the following error lot many times&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Error executing FreeMarker template&lt;br /&gt;FreeMarker template error:&lt;br /&gt;Error while invoking the &amp;#34;runtime&amp;#34; JSP custom tag; see cause exception----&lt;br /&gt;FTL stack trace (&amp;#34;~&amp;#34; means nesting-related):&lt;br /&gt;    - Failed at: @liferay_portlet[&amp;#34;runtime&amp;#34;] defaultPr...  [in template &amp;#34;my-theme_SERVLET_CONTEXT_/templates/portal_normal.ftl&amp;#34; at line 228, column 41]&lt;br /&gt;&lt;br /&gt;So, at line 228 I embedded my portlet with the following code,&lt;br /&gt;&lt;blockquote&gt;&amp;lt;#assign preferences = freeMarkerPortletPreferences.setValue(&amp;#34;portletSetupPortletDecoratorId&amp;#34;, &amp;#34;barebone&amp;#34;)&amp;gt;&lt;br /&gt;                    &amp;lt;@liferay_portlet[&amp;#34;runtime&amp;#34;]&lt;br /&gt;                    defaultPreferences=&amp;#34;${preferences}&amp;#34;&lt;br /&gt;                    portletProviderAction=portletProviderAction.VIEW&lt;br /&gt;                    instanceId=&amp;#34;myportletInstanceId&amp;#34;&lt;br /&gt;                    portletName=&amp;#34;myportlet&amp;#34; /&amp;gt;&lt;br /&gt;                    ${freeMarkerPortletPreferences.reset()}&lt;br /&gt;&lt;/blockquote&gt;I do not understand what is the issue, I&amp;#39;ve checked in so many liferay forums, what I did is correct. Can someone point out what could be the issue.&lt;br /&gt;Thank you</summary>
    <dc:creator>DBS USER</dc:creator>
    <dc:date>2020-06-23T12:55:48Z</dc:date>
  </entry>
</feed>
