Skip to content

Reference component may cause OutOfMemoryError #163

@reggie7

Description

@reggie7

One can easily break the page with the Reference component.

Steps to Reproduce

  1. Add new page,
  2. Add Reference component,
  3. Point it to the same page.

Expected Result: no big deal, system handles it somehow.
Actual Result: java.lang.OutOfMemoryError:

Java heap space (500)
The requested URL /content/test/pages/index.html resulted in an error in /apps/pagerendervue/structure/page/page.html.

Exception:
java.lang.OutOfMemoryError: Java heap space
	at java.base/java.util.Arrays.copyOfRange(Arrays.java:4030)
	at java.base/java.lang.StringLatin1.newString(StringLatin1.java:715)
	at java.base/java.lang.StringBuilder.toString(StringBuilder.java:448)
	at ch.qos.logback.classic.pattern.ThrowableProxyConverter.throwableProxyToString(ThrowableProxyConverter.java:153)
	at ch.qos.logback.classic.pattern.ThrowableProxyConverter.convert(ThrowableProxyConverter.java:145)
	at ch.qos.logback.classic.pattern.ThrowableProxyConverter.convert(ThrowableProxyConverter.java:35)
	at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:36)
	at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:115)
	at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:141)
	at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:39)
	at org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.encode(LoggerSpecificEncoder.java:43)
	at org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.encode(LoggerSpecificEncoder.java:33)
	at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:230)
	at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:235)
	at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
	at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
	at ch.qos.logback.classic.Logger.error(Logger.java:538)
	at org.apache.sling.scripting.sightly.render.ObjectModel.invokeBeanMethod(ObjectModel.java:420)
	at org.apache.sling.scripting.sightly.render.ObjectModel.resolveProperty(ObjectModel.java:128)
	at org.apache.sling.scripting.sightly.render.AbstractRuntimeObjectModel.getProperty(AbstractRuntimeObjectModel.java:138)
	at org.apache.sling.scripting.sightly.impl.engine.runtime.SlingRuntimeObjectModel.getProperty(SlingRuntimeObjectModel.java:32)
	at org.apache.sling.scripting.sightly.render.AbstractRuntimeObjectModel.resolveProperty(AbstractRuntimeObjectModel.java:74)
	at org.apache.sling.scripting.sightly.apps.pagerendervue.structure.page.page__002e__html.render(page__002e__html.java:760)
	at org.apache.sling.scripting.sightly.render.RenderUnit.render(RenderUnit.java:53)
	at org.apache.sling.scripting.sightly.impl.engine.SightlyCompiledScript.eval(SightlyCompiledScript.java:60)
	at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:386)
	at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:184)
Request Progress:
      0 TIMER_START{Request Processing}
      2 COMMENT timer_end format is {<elapsed microseconds>,<timer name>} <optional message>
      9 LOG Method=GET, PathInfo=null
     10 TIMER_START{handleSecurity}
   1812 TIMER_END{1800,handleSecurity} authenticator org.apache.sling.auth.core.impl.SlingAuthenticator@386a8414 returns true
   6237 TIMER_START{ResourceResolution}
   6462 TIMER_END{223,ResourceResolution} URI=/content/test/pages/index.html resolves to Resource=JcrNodeResource, type=per:Page, superType=null, path=/content/test/pages/index
   6469 LOG Resource Path Info: SlingRequestPathInfo: path='/content/test/pages/index', selectorString='null', extension='html', suffix='null'
   6469 TIMER_START{ServletResolution}
   6473 TIMER_START{resolveServlet(/content/test/pages/index)}
   6491 TIMER_END{17,resolveServlet(/content/test/pages/index)} Using servlet /apps/per/Page/Page.html
   6493 TIMER_END{23,ServletResolution} URI=/content/test/pages/index.html handled by Servlet=/apps/per/Page/Page.html
   6496 LOG Applying Requestfilters
   6503 LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
   6507 LOG Calling filter: org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
   6521 LOG Applying Componentfilters
   6528 TIMER_START{/apps/per/Page/Page.html#0}
   7205 LOG Including resource JcrNodeResource, type=themecleanflex/components/page, superType=null, path=/content/test/pages/index/jcr:content (SlingRequestPathInfo: path='/content/test/pages/index/jcr:content', selectorString='null', extension='html', suffix='null')
   7212 TIMER_START{resolveServlet(/content/test/pages/index/jcr:content)}
   7234 TIMER_END{20,resolveServlet(/content/test/pages/index/jcr:content)} Using servlet /apps/pagerendervue/structure/page/page.html
   7238 LOG Applying Includefilters
   7247 TIMER_START{/apps/pagerendervue/structure/page/page.html#1}
5559711 TIMER_END{5552459,/apps/pagerendervue/structure/page/page.html#1}
5560230 TIMER_END{5553699,/apps/per/Page/Page.html#0}
5561356 LOG Filter timing: filter=org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter, inner=5,554, total=5,554, outer=0
5561369 LOG Filter timing: filter=org.apache.sling.i18n.impl.I18NFilter, inner=5,554, total=5,554, outer=0
5563728 LOG Applying Error filters
5563742 LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
5563829 TIMER_START{handleError:throwable=java.lang.OutOfMemoryError}
5565001 TIMER_END{1171,handleError:throwable=java.lang.OutOfMemoryError} Using handler org.apache.sling.servlets.resolver.internal.defaults.DefaultErrorHandlerServlet
5567801 TIMER_END{5567799,Request Processing} Dumping SlingRequestProgressTracker Entries
ApacheSling/2.7 (jetty/9.4.28.v20200408, OpenJDK 64-Bit Server VM 11.0.8, Linux 4.19.76-linuxkit amd64)

outofmemoryerror

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions