Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MCP UI doesn't work because of StackOverflowError exception #1699

Closed
3 tasks
cylinder-y opened this issue Jan 16, 2019 · 5 comments
Closed
3 tasks

MCP UI doesn't work because of StackOverflowError exception #1699

cylinder-y opened this issue Jan 16, 2019 · 5 comments

Comments

@cylinder-y
Copy link
Contributor

Required Information

  • AEM Version, including Service Packs, Cumulative Fix Packs, etc: 6.4.2
  • ACS AEM Commons Version: 3.19.1
  • Reproducible on Latest? yes

Manage Controlled Process window doesn't work, we can't run Asset Url Ingestor and Asset Ingestor.

image

Steps to reproduce:

  1. Open /etc/acs-commons/manage-controlled-processes.html 
  2. Configure and run any process

Actual result:

  1. We can't see archived processes
  2. Triggered process doesn't displayed

Acceptance criteria:

  1. We could see archived processes
  2. We could see processes that are in progress

Something breaks it between the following commits : 875ce4e and a5d148d

Message from logs:

16.01.2019 16:20:44.372 ERROR [0:0:0:0:0:0:0:1 [1547644844116] GET /etc/acs-commons/manage-controlled-processes/jcr:content.list.json HTTP/1.1] com.day.cq.wcm.core.impl.WCMDebugFilter Error during include of SlingRequestPathInfo: path='/etc/acs-commons/manage-controlled-processes/jcr:content', selectorString='list', extension='json', suffix='null'
java.lang.StackOverflowError: null
at org.eclipse.jetty.util.BufferUtil.fill(BufferUtil.java:449) [org.apache.felix.http.jetty:4.0.2]
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:501) [org.apache.felix.http.jetty:4.0.2]
at java.io.ByteArrayOutputStream.writeTo(Unknown Source)
at org.eclipse.jetty.server.Iso88591HttpWriter.write(Iso88591HttpWriter.java:70) [org.apache.felix.http.jetty:4.0.2]
at org.eclipse.jetty.server.ResponseWriter.write(ResponseWriter.java:203) [org.apache.felix.http.jetty:4.0.2]
at java.io.PrintWriter.write(Unknown Source)
at org.apache.sling.engine.impl.log.RequestLoggerResponse$LoggerResponseWriter.write(RequestLoggerResponse.java:457) [org.apache.sling.engine:2.6.12]
at org.apache.sling.engine.impl.SlingHttpServletResponseImpl$1.write(SlingHttpServletResponseImpl.java:321) [org.apache.sling.engine:2.6.12]
at com.day.cq.rewriter.htmlparser.SAXWriter.characters(SAXWriter.java:186) [com.day.cq.cq-rewriter:5.11.24]
at com.day.cq.rewriter.processor.impl.SAXWriterFactory$1.characters(SAXWriterFactory.java:76) [com.day.cq.cq-rewriter:5.11.24]
at com.adobe.acs.commons.rewriter.AbstractTransformer.characters(AbstractTransformer.java:48) [com.adobe.acs.acs-aem-commons-bundle:3.19.1.SNAPSHOT]
at org.apache.cocoon.xml.sax.AbstractSAXPipe.characters(AbstractSAXPipe.java:126) [org.apache.cocoon.cocoon-xml:2.0.2]
at com.day.cq.wcm.contentsync.impl.rewriter.PathRewriterTransformer.characters(PathRewriterTransformer.java:154) [com.day.cq.wcm.cq-wcm-content-sync:5.11.2]
at org.apache.cocoon.xml.sax.AbstractSAXPipe.characters(AbstractSAXPipe.java:126) [org.apache.cocoon.cocoon-xml:2.0.2]
at org.apache.cocoon.xml.sax.AbstractSAXPipe.characters(AbstractSAXPipe.java:126) [org.apache.cocoon.cocoon-xml:2.0.2]
at org.apache.cocoon.xml.sax.AbstractSAXPipe.characters(AbstractSAXPipe.java:126) [org.apache.cocoon.cocoon-xml:2.0.2]
at org.apache.cocoon.xml.sax.AbstractSAXPipe.characters(AbstractSAXPipe.java:126) [org.apache.cocoon.cocoon-xml:2.0.2]
at com.day.cq.rewriter.htmlparser.DocumentHandlerToSAXAdapter.characters(DocumentHandlerToSAXAdapter.java:59) [com.day.cq.cq-rewriter:5.11.24]
at com.day.cq.rewriter.htmlparser.HtmlParser.update(HtmlParser.java:542) [com.day.cq.cq-rewriter:5.11.24]
at com.day.cq.rewriter.htmlparser.HtmlParser.write(HtmlParser.java:199) [com.day.cq.cq-rewriter:5.11.24]
at java.io.Writer.write(Unknown Source)
at java.io.PrintWriter.write(Unknown Source)
at com.google.gson.stream.JsonWriter.string(JsonWriter.java:591) [com.adobe.cq.gson:2.8.2]
at com.google.gson.stream.JsonWriter.writeDeferredName(JsonWriter.java:402) [com.adobe.cq.gson:2.8.2]
at com.google.gson.stream.JsonWriter.value(JsonWriter.java:480) [com.adobe.cq.gson:2.8.2]
at com.google.gson.internal.bind.TypeAdapters$3.write(TypeAdapters.java:147) [com.adobe.cq.gson:2.8.2]
at com.google.gson.internal.bind.TypeAdapters$3.write(TypeAdapters.java:133) [com.adobe.cq.gson:2.8.2]
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69) [com.adobe.cq.gson:2.8.2]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125) [com.adobe.cq.gson:2.8.2]

@badvision
Copy link
Contributor

I wonder what it was doing? It seems it was serializing content to JSON but hit an unfortunate snag and the buffer overflowed. Does this happen on one machine specifically or any?

@badvision
Copy link
Contributor

Also if you added any variables to any process classes (or subclasses) make sure you have declared them as transient, ESPECIALLY things like loggers.

@cylinder-y
Copy link
Contributor Author

cylinder-y commented Jan 17, 2019

Hi @badvision,

I have debugged code, and I see that ControlledProcessManagerServlet fails when it serializing List of ProcessInstance's

Issue is reproducible on several machines.
We didn't add any code between the following commits : 875ce4e and a5d148d.
I was able to view list of archived and active items when I have uploaded 875ce4e changes to AEM.
But when I have uploaded a5d148d commit, MCP UI wasn't work

--Yaraslau

@cylinder-y
Copy link
Contributor Author

Well there was non transient injected resource, see #1701

badvision pushed a commit that referenced this issue Jan 17, 2019
…eption (#1701)

* Make Resource field transient in Result class
@badvision
Copy link
Contributor

I'll also update the mcp servlet to not serialize resources as this could reoccur in the future.

badvision added a commit that referenced this issue Jan 17, 2019
badvision added a commit that referenced this issue Jan 17, 2019
* Fix for #1699 

* Added test coverage and also improved handling of multi-value parameters as arrays of strings
davidjgonzalez pushed a commit to davidjgonzalez/acs-aem-commons that referenced this issue Jan 27, 2019
justinedelson pushed a commit that referenced this issue Feb 6, 2019
…eption (#1701)

* Make Resource field transient in Result class
justinedelson pushed a commit that referenced this issue Feb 6, 2019
* Fix for #1699

* Added test coverage and also improved handling of multi-value parameters as arrays of strings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants