Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5709

When clicking IndicatingAjaxButton: java.lang.StackOverflowError at org.apache.wicket.util.visit.Visits.visitChildren

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Incomplete
    • 6.17.0
    • None
    • wicket
    • None
    • Tomcat 7, Spring 4.0.7, Oracle JDK 8u20 64-bit, Ubuntu 14.04 64-bit

    Description

      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.

      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]
      

      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:

      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]
      

      Attachments

        Issue Links

          Activity

            People

              jesselong Jesse Long
              rudi Rudi Wijaya
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: