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

Rudi Wijaya commented on WICKET-5709:
-------------------------------------

Weird thing it only happens during *successful* processing of 
{{LoginButton.onSubmit(AjaxRequestTarget, Form)}} AJAX request. There's no 
error otherwise.

The button is a login button, which uses Shiro to set the authentication. If I 
input incorrect username/password, there's no error.

> When clicking IndicatingAjaxButton: java.lang.StackOverflowError at 
> org.apache.wicket.util.visit.Visits.visitChildren
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-5709
>                 URL: https://issues.apache.org/jira/browse/WICKET-5709
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.17.0
>         Environment: Tomcat 7, Spring 4.0.7, Oracle JDK 8u20 64-bit, Ubuntu 
> 14.04 64-bit
>            Reporter: Rudi Wijaya
>         Attachments: 
> wicket-stackoverflow-in-DedicatedLoginPage-loginvianavbar.pdf
>
>
> We have a page named {{DedicatedLoginPage}}, and when clicking a 
> {{LoginButton}} (which essentially is an {{IndicatingAjaxButton}}) with path 
> {{navbar:loginDropdown:loginForm:login}}, throws a {{StackOverflowError}} 
> without additional explanation.
> {code}
> java.lang.StackOverflowError
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:134) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:100)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.Component.getMarkup(Component.java:755) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:72)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
> ....
> repeats a couple hundred times
> ....
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:100)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.Component.getMarkup(Component.java:755) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:72)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:100)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.Component.getMarkup(Component.java:755) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
> {code}
> It's very confusing for me to diagnose this problem because the stacktrace 
> gives no information, also there are no additional information in the logs 
> before the exception.
> Unfortunately the page is already quite complex, see attached PDF.
> Tag [~ceefour]
> Internal note: Above trace happened on {{metros}} theme, when using {{demo}} 
> theme, still occurs with slightly different trace:
> {code}
> java.lang.StackOverflowError
>       at 
> org.soluvas.web.bootstrap.BootstrapPage.getMarkup(BootstrapPage.java:65532) 
> ~[classes/:na]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.Component.getMarkup(Component.java:755) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:72)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
> ...
> repeats a couple hundred times
> ...
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:100)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.Component.getMarkup(Component.java:755) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:82)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.getMarkup(MarkupContainer.java:451) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:72)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy$1.component(AbstractMarkupSourcingStrategy.java:66)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) 
> ~[wicket-util-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860) 
> ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.AbstractMarkupSourcingStrategy.searchMarkupInTransparentResolvers(AbstractMarkupSourcingStrategy.java:65)
>  ~[wicket-core-6.17.0.jar:6.17.0]
>       at 
> org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.getMarkup(DefaultMarkupSourcingStrategy.java:100)
>  ~[wicket-core-6.17.0.jar:6.17.0]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to