You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2014/11/05 16:53:33 UTC

[jira] [Comment Edited] (WICKET-5748) StackOverflowError while trying to get the Markup of WicketHeadContainer

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

Martin Grigorov edited comment on WICKET-5748 at 11/5/14 3:52 PM:
------------------------------------------------------------------

It turned out to be a problem in the test.
It uses tester.startComponentInPage(aLinkWithSomeId, Markup.of("<wicket:head></wicket:head><a wicket:id='wrongId'>Blah</a>"));

The <wicket:head> thingy is there to allow collecting the Ajax bindings (Wicket.Ajax.ajax()) and later assert on them. This causes the need of WicketHeadContainer.
But the problem goes away once fixing the 'wrongId' !
So Wicket confuses itself somehow due to the different id of the link and the one in the provided markup. If <wicket:head> is not there then Wicket properly reports "Cannot find a component with id 'wrongId'. Similar: ..." But when <wicket:head> is there it fails with StackOverflowError...

I'll try to isolate it in a small test case and attach it later.


was (Author: mgrigorov):
It turned out to be a problem in the test.
It uses tester.startComponentInPage(aLinkWithSomeId, Markup.of("<wicket:head</wicket:head><a wicket:id='wrongId'>Blah</a>"));

The <wicket:head> thingy is there to allow collecting the Ajax bindings (Wicket.Ajax.ajax()) and later assert on them. This causes the need of WicketHeadContainer.
But the problem goes away once fixing the 'wrongId' !
So Wicket confuses itself somehow due to the different id of the link and the one in the provided markup. If <wicket:head> is not there then Wicket properly reports "Cannot find a component with id 'wrongId'. Similar: ..." But when <wicket:head> is there it fails with StackOverflowError...

I'll try to isolate it in a small test case and attach it later.

> StackOverflowError while trying to get the Markup of WicketHeadContainer
> ------------------------------------------------------------------------
>
>                 Key: WICKET-5748
>                 URL: https://issues.apache.org/jira/browse/WICKET-5748
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.0.0-M4
>            Reporter: Martin Grigorov
>         Attachments: stackoverflow-getMarkup.png
>
>
> I'm migrating our main app to Wicket 7.x
> One of the tests fail with StackOverflowError.
> Attaching a debugger shows that there are multiple instances of HtmlHeaderResolver$WicketHeadContainer with the same id.
> See the attached screenshot.



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