You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/05/29 19:12:19 UTC

[jira] [Commented] (WICKET-5916) StackOverflowError when calling getObject() from load() in LDM

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

ASF subversion and git services commented on WICKET-5916:
---------------------------------------------------------

Commit def03addf20259d294db09b9b8a9ffa5b114565a in wicket's branch refs/heads/master from [~dashorst]
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=def03ad ]

WICKET-5916 StackOverflowError in LoadableDetachableModel

This fixes a circular calling issue with LoadableDetachableModel where
getObject() is called from the context of a load(). By tracking the
state of the LoadableDetachableModel more closely, we can short-circuit
the call chain and break out of the infinite calling loop.

I've opted to use an enum instead of adding a new flag to keep the
amount of flags to a minimum and to keep the memory requirements
low (instead of 2 flags, just one enum is referenced). The external
public and protected interfaces are still the same, so I don't
expect any problems within user applications, unless they are
manipulating the attached flag using reflection.

Fixes WICKET-5916


> StackOverflowError when calling getObject() from load() in LDM
> --------------------------------------------------------------
>
>                 Key: WICKET-5916
>                 URL: https://issues.apache.org/jira/browse/WICKET-5916
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.0.0-M5
>            Reporter: Martijn Dashorst
>             Fix For: 7.0.0-M6
>
>
> The fix for WICKET-5772 caused an infinite loop when calling getObject() from inside load() in LoadableDetachableModel. While of course unwise to do so and nobody in their right mind would do so directly, such a cycle can be triggered through a series of unrelated calls emanating from load().



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