[ 
https://issues.apache.org/jira/browse/WICKET-5898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14647382#comment-14647382
 ] 

Andrea Del Bene commented on WICKET-5898:
-----------------------------------------

[~vitiate] Thank you for your fast reply.  The last commits (cherry picks from 
7.x) you see above solve the problem with your quickstart. You can see it using 
version 6.21.0-SNAPSHOT. I will try to further improve the fix for 6.x to cover 
more potential problems as the 7.x already does. 

> 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, 6.21.0
>
>         Attachments: NestedTransparentContainer.zip
>
>
> 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)

Reply via email to