[ https://issues.apache.org/jira/browse/WICKET-5898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14532963#comment-14532963 ]
Andrea Del Bene commented on WICKET-5898: ----------------------------------------- This last test case fails also with Wicket 6.x. See quickstart. I guess in your application you have transparent container automatically added by Wicket (like <img src='foo/bar/pic.png'>) and not explicitly added via code as it is in the last test case. If this is the case we can avoid to search in transparent components if the searched component is an autocomponent (i.e. isAuto returns true). I will do more tests to explore this possible solution. > StackOverflowError after form submit with a validation error > ------------------------------------------------------------ > > Key: WICKET-5898 > URL: https://issues.apache.org/jira/browse/WICKET-5898 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 7.0.0-M5 > Reporter: Vojtěch Krása > Assignee: Andrea Del Bene > Fix For: 7.0.0-M6 > > > I was not able to find a cause or make a small quickstart, but it has > something to do with a form validation, my workaround was to > setDefaultFormProcessing(false) or not use required TextFields. > It can be reproduced on > https://github.com/krasa/DevSupportApp/tree/stackOverflow > 1) run StartVojtitkoDummy > 2) go to > http://localhost:8765/wicket/bookmarkable/krasa.release.frontend.TokenizationPage > 3) click on "Generate Release json" button > - instead of SOE, it should give a validation error, probably even on fields > which I would not want to validate, but that's just because I've made the > page badly... > > {code} > java.lang.StackOverflowError: null > ... > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:81) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:74) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) > at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:862) > at > org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:99) > at org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:453) > at org.apache.wicket.Component.getMarkup(Component.java:755) > at org.apache.wicket.Component.internalRender(Component.java:2344) > at org.apache.wicket.Component.render(Component.java:2307) > at > org.apache.wicket.ajax.XmlAjaxResponse.writeComponent(XmlAjaxResponse.java:128) > at > org.apache.wicket.ajax.AbstractAjaxResponse.writeComponents(AbstractAjaxResponse.java:218) > at > org.apache.wicket.ajax.AbstractAjaxResponse.writeTo(AbstractAjaxResponse.java:150) > at > org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:359) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:865) > at > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) > at > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:97) > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) > at > org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:59) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:497) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.ru > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)