[MGNLREST-187] StackOverflowError when reading nodes with reference to itself & parent Created: 10/Apr/18 Updated: 10/Apr/18 |
|
| Status: | Open |
| Project: | Magnolia REST Framework |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Neutral |
| Reporter: | Oanh Thai Hoang | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
| Date of First Response: |
| Description |
class: info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpointDefinition nodeTypes: - mgnl:composition includeSystemProperties: true bypassWorkspaceAcls: false limit: 50 workspace: stories references: - name: tours propertyName: tours referenceResolver: class: info.magnolia.rest.reference.jcr.JcrReferenceResolverDefinition targetWorkspace: tours - name: stories propertyName: stories referenceResolver: class: info.magnolia.rest.reference.jcr.JcrReferenceResolverDefinition targetWorkspace: stories
Error log: java.lang.RuntimeException: java.lang.StackOverflowErrorjava.lang.RuntimeException: java.lang.StackOverflowError info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:234) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:89) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:77) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.AddHeadersFilter.doFilter(AddHeadersFilter.java:57) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.multisite.filters.CrossSiteSecurityFilter.doFilter(CrossSiteSecurityFilter.java:104) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:84) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:120) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:64) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.UnicodeNormalizationFilter.doFilter(UnicodeNormalizationFilter.java:89) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:111) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96)</pre> <p> <b>root cause</b> </p> <pre>java.lang.StackOverflowError java.io.UnixFileSystem.getBooleanAttributes0(Native Method) java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:242) java.io.File.exists(File.java:819) sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:1245) sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:1212) sun.misc.URLClassPath$1.next(URLClassPath.java:240) sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:250) java.net.URLClassLoader$3$1.run(URLClassLoader.java:601) java.net.URLClassLoader$3$1.run(URLClassLoader.java:599) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader$3.next(URLClassLoader.java:598) java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:623) sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45) sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54) sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45) sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54) java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:354) java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393) java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474) javax.json.spi.JsonProvider.provider(JsonProvider.java:89) javax.json.Json.createArrayBuilder(Json.java:257) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:150) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) info.magnolia.rest.delivery.jcr.NodeWriter.writeProperty(NodeWriter.java:198) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:144) info.magnolia.rest.delivery.jcr.NodeWriter.writeNode(NodeWriter.java:153) info.magnolia.rest.delivery.jcr.NodeWriter.writeResolvedReference(NodeWriter.java:254) |
| Comments |
| Comment by Mikaël Geljić [ 10/Apr/18 ] |
|
oanh.thai what is so special about this story? How about attaching the stack trace in plain text too? |