buildbot success in on wicket-branch-8.x
The Buildbot has detected a restored build on builder wicket-branch-8.x while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-branch-8.x/builds/205 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-branch-8.x-commit' triggered this build Build Source Stamp: [branch wicket-8.x] 2a622da42068429ac950eb6d8e0b3ee4c424cfde Blamelist: Martin Tzvetanov Grigorov Build succeeded! Sincerely, -The Buildbot
buildbot success in on wicket-master
The Buildbot has detected a restored build on builder wicket-master while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master/builds/1382 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-commit' triggered this build Build Source Stamp: [branch master] ad2dcd6b18c3792298f3b11947f79a7426f648de Blamelist: Martin Tzvetanov Grigorov Build succeeded! Sincerely, -The Buildbot
[jira] [Commented] (WICKET-6842) onRender calls onBeforeRender
[ https://issues.apache.org/jira/browse/WICKET-6842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17217038#comment-17217038 ] Martin Tzvetanov Grigorov commented on WICKET-6842: --- Can you move the call of setDefaultModel() to onConfigure() instead of onBeforeRender() ? It is not allowed to modify the models during rendering. > onRender calls onBeforeRender > - > > Key: WICKET-6842 > URL: https://issues.apache.org/jira/browse/WICKET-6842 > Project: Wicket > Issue Type: Bug >Affects Versions: 8.7.0 >Reporter: Johannes Renoth >Priority: Major > Attachments: image-2020-10-15-18-22-55-532.png, > image-2020-10-15-18-24-23-028.png, image-2020-10-15-18-25-02-102.png, > image-2020-10-15-18-25-44-692.png > > > I am not 100% sure if this is a bug in Wicket but i have the following > stacktrace from our application: > {code:java} > org.apache.wicket.WicketRuntimeException: Cannot modify component hierarchy > after render phase has started (page version cant change then anymore) > at org.apache.wicket.Component.checkHierarchyChange(Component.java:3553) > at org.apache.wicket.Page.dirty(Page.java:270) > at org.apache.wicket.markup.html.WebPage.dirty(WebPage.java:317) > at org.apache.wicket.Page.dirty(Page.java:249) at > org.apache.wicket.Page.componentModelChanging(Page.java:883) > at org.apache.wicket.Component.modelChanging(Component.java:2150) > at org.apache.wicket.Component.setDefaultModel(Component.java:2926) > ... > at xyz.onBeforeRender(XYZ2.java:571) > at xyz.onBeforeRender(XYZ1.java:52) > at xyz.onBeforeRender(XYZ.java:89) > at org.apache.wicket.Component.beforeRender(Component.java:939) > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737) > at org.apache.wicket.Component.onBeforeRender(Component.java:3808) > at org.apache.wicket.Component.beforeRender(Component.java:939) > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737) > at org.apache.wicket.Component.onBeforeRender(Component.java:3808) > at org.apache.wicket.Component.beforeRender(Component.java:939) > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737) > at org.apache.wicket.Component.onBeforeRender(Component.java:3808) > at org.apache.wicket.Component.beforeRender(Component.java:939) > at > org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737) > at org.apache.wicket.Component.onBeforeRender(Component.java:3808) > at org.apache.wicket.Component.beforeRender(Component.java:939) > at > org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1029) > at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:240) > at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:313) > at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1426) > at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1637) > at > org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1612) > at > org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1570) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70) > > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70) > > at org.apache.wicket.Component.internalRenderComponent(Component.java:2491) > at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1576) > at org.apache.wicket.Component.internalRender(Component.java:2296) > {code} > I have a Form component inside a Border inside a Form (if that is relevant) > I dont think onbeforeRender should be called in the render phase of another > component (which ultimately leads to this error). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (WICKET-6843) Using WicketMessageTagHandler on non-components prevents Ajax behaviors
[ https://issues.apache.org/jira/browse/WICKET-6843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17217032#comment-17217032 ] Martin Tzvetanov Grigorov commented on WICKET-6843: --- Please attach a quickstart/demo application that uses a newer version of Wicket, like 8.10.0 or 9.1.0. Thank you! > Using WicketMessageTagHandler on non-components prevents Ajax behaviors > --- > > Key: WICKET-6843 > URL: https://issues.apache.org/jira/browse/WICKET-6843 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 8.0.0 >Reporter: Peter Franza >Priority: Major > > Inclusion of the wicket:message attribute on non-component markup prevents > any children that have ajax behaviors to not get bound in after render. > In the code below the markup will render correctly, however there will not be > any click event bound to the link. If the `wicket:message` tag is removed > from the div everything will work correctly. Additionally if the a > `wicket:id` is added to the div, and the div is treated as a component, then > everything will also work. > *Example code* > Source: > {code:java} > public class TestPage extends WebPage { > public TestPage(PageParameters p) { > super(p); > queue(new AjaxLink("link") { > @Override > public void onClick(AjaxRequestTarget target) { > target.appendJavaScript("alert('click');"); > } > }); > } > } > {code} > Markup: > {code:java} > > > > > > > > Click Me > > > > {code} > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (WICKET-6844) Add support for MethodMismatchResponse for Ajax behaviors
[ https://issues.apache.org/jira/browse/WICKET-6844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Tzvetanov Grigorov resolved WICKET-6844. --- Fix Version/s: 9.2.0 8.11.0 Resolution: Fixed > Add support for MethodMismatchResponse for Ajax behaviors > - > > Key: WICKET-6844 > URL: https://issues.apache.org/jira/browse/WICKET-6844 > Project: Wicket > Issue Type: Improvement > Components: wicket >Affects Versions: 9.1.0, 8.10.0 >Reporter: Martin Tzvetanov Grigorov >Assignee: Martin Tzvetanov Grigorov >Priority: Minor > Fix For: 8.11.0, 9.2.0 > > > Suggested at users@ : [https://markmail.org/message/gqkoktwsfcnsknpr] > > Ajax behaviors should be able to abort the processing of the request if the > request's method is different than the configured one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (WICKET-6844) Add support for MethodMismatchResponse for Ajax behaviors
[ https://issues.apache.org/jira/browse/WICKET-6844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17217029#comment-17217029 ] ASF subversion and git services commented on WICKET-6844: - Commit 2a622da42068429ac950eb6d8e0b3ee4c424cfde in wicket's branch refs/heads/wicket-8.x from Martin Tzvetanov Grigorov [ https://gitbox.apache.org/repos/asf?p=wicket.git;h=2a622da ] WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors (cherry picked from commit ad2dcd6b18c3792298f3b11947f79a7426f648de) > Add support for MethodMismatchResponse for Ajax behaviors > - > > Key: WICKET-6844 > URL: https://issues.apache.org/jira/browse/WICKET-6844 > Project: Wicket > Issue Type: Improvement > Components: wicket >Affects Versions: 9.1.0, 8.10.0 >Reporter: Martin Tzvetanov Grigorov >Assignee: Martin Tzvetanov Grigorov >Priority: Minor > > Suggested at users@ : [https://markmail.org/message/gqkoktwsfcnsknpr] > > Ajax behaviors should be able to abort the processing of the request if the > request's method is different than the configured one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[wicket] branch wicket-8.x updated: WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors
This is an automated email from the ASF dual-hosted git repository. mgrigorov pushed a commit to branch wicket-8.x in repository https://gitbox.apache.org/repos/asf/wicket.git The following commit(s) were added to refs/heads/wicket-8.x by this push: new 2a622da WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors 2a622da is described below commit 2a622da42068429ac950eb6d8e0b3ee4c424cfde Author: Martin Tzvetanov Grigorov AuthorDate: Mon Oct 19 21:54:59 2020 +0300 WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors (cherry picked from commit ad2dcd6b18c3792298f3b11947f79a7426f648de) --- .../wicket/ajax/AbstractDefaultAjaxBehavior.java | 33 +- .../form/AjaxFormComponentUpdatingBehavior.java| 13 +-- .../ajax/AbstractDefaultAjaxBehaviorTest.java | 118 - 3 files changed, 149 insertions(+), 15 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java index 1a4fd74..60d8b24 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java @@ -36,6 +36,7 @@ import org.apache.wicket.behavior.AbstractAjaxBehavior; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.markup.html.IComponentAwareHeaderContributor; +import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.request.Url; import org.apache.wicket.request.cycle.RequestCycle; @@ -44,6 +45,10 @@ import org.apache.wicket.request.resource.ResourceReference; import org.apache.wicket.resource.CoreLibrariesContributor; import org.apache.wicket.util.string.Strings; import org.apache.wicket.util.time.Duration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; /** * The base class for Wicket's default AJAX implementation. @@ -55,9 +60,10 @@ import org.apache.wicket.util.time.Duration; */ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior { - private static final long serialVersionUID = 1L; + private static final Logger LOG = LoggerFactory.getLogger(AbstractDefaultAjaxBehavior.class); + /** reference to the default indicator gif file. */ public static final ResourceReference INDICATOR = new PackageResourceReference( AbstractDefaultAjaxBehavior.class, "indicator.gif"); @@ -156,6 +162,17 @@ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior } /** +* This method decides whether to continue processing or to abort the Ajax request when the method +* is different than the {@link AjaxRequestAttributes#getMethod()}'s method. +* +* @return response that can either abort or continue the processing of the Ajax request +*/ + protected Form.MethodMismatchResponse onMethodMismatch() + { + return Form.MethodMismatchResponse.CONTINUE; + } + + /** * Gives a chance to the specializations to modify the attributes. * * @param attributes @@ -591,6 +608,20 @@ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior @Override public final void onRequest() { + Form.MethodMismatchResponse methodMismatch = onMethodMismatch(); + if (methodMismatch == Form.MethodMismatchResponse.ABORT) + { + AjaxRequestAttributes attrs = getAttributes(); + String desiredMethod = attrs.getMethod().toString(); + String actualMethod = ((HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest()).getMethod(); + if (!desiredMethod.equalsIgnoreCase(actualMethod)) + { + LOG.debug("Ignoring the Ajax request because its method '{}' is different than the expected one '{}", + actualMethod, desiredMethod); + return; + } + } + WebApplication app = (WebApplication)getComponent().getApplication(); AjaxRequestTarget target = app.newAjaxRequestTarget(getComponent().getPage()); diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java index 7d6eeab..e162048 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java +++
[jira] [Commented] (WICKET-6844) Add support for MethodMismatchResponse for Ajax behaviors
[ https://issues.apache.org/jira/browse/WICKET-6844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17217028#comment-17217028 ] ASF subversion and git services commented on WICKET-6844: - Commit ad2dcd6b18c3792298f3b11947f79a7426f648de in wicket's branch refs/heads/master from Martin Tzvetanov Grigorov [ https://gitbox.apache.org/repos/asf?p=wicket.git;h=ad2dcd6 ] WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors > Add support for MethodMismatchResponse for Ajax behaviors > - > > Key: WICKET-6844 > URL: https://issues.apache.org/jira/browse/WICKET-6844 > Project: Wicket > Issue Type: Improvement > Components: wicket >Affects Versions: 9.1.0, 8.10.0 >Reporter: Martin Tzvetanov Grigorov >Assignee: Martin Tzvetanov Grigorov >Priority: Minor > > Suggested at users@ : [https://markmail.org/message/gqkoktwsfcnsknpr] > > Ajax behaviors should be able to abort the processing of the request if the > request's method is different than the configured one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[wicket] branch master updated: WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors
This is an automated email from the ASF dual-hosted git repository. mgrigorov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/wicket.git The following commit(s) were added to refs/heads/master by this push: new ad2dcd6 WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors ad2dcd6 is described below commit ad2dcd6b18c3792298f3b11947f79a7426f648de Author: Martin Tzvetanov Grigorov AuthorDate: Mon Oct 19 21:54:59 2020 +0300 WICKET-6844 Add support for MethodMismatchResponse for Ajax behaviors --- .../wicket/ajax/AbstractDefaultAjaxBehavior.java | 33 +- .../form/AjaxFormComponentUpdatingBehavior.java| 13 +-- .../ajax/AbstractDefaultAjaxBehaviorTest.java | 119 - 3 files changed, 151 insertions(+), 14 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java index 7da491b..2bad06b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java @@ -33,6 +33,7 @@ import org.apache.wicket.behavior.AbstractAjaxBehavior; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.markup.html.IComponentAwareHeaderContributor; +import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.request.Url; import org.apache.wicket.request.cycle.RequestCycle; @@ -43,6 +44,10 @@ import org.apache.wicket.util.string.Strings; import com.github.openjson.JSONArray; import com.github.openjson.JSONException; import com.github.openjson.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; /** * The base class for Wicket's default AJAX implementation. @@ -54,9 +59,10 @@ import com.github.openjson.JSONObject; */ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior { - private static final long serialVersionUID = 1L; + private static final Logger LOG = LoggerFactory.getLogger(AbstractDefaultAjaxBehavior.class); + /** reference to the default indicator gif file. */ public static final ResourceReference INDICATOR = new PackageResourceReference( AbstractDefaultAjaxBehavior.class, "indicator.gif"); @@ -155,6 +161,17 @@ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior } /** +* This method decides whether to continue processing or to abort the Ajax request when the method +* is different than the {@link AjaxRequestAttributes#getMethod()}'s method. +* +* @return response that can either abort or continue the processing of the Ajax request +*/ + protected Form.MethodMismatchResponse onMethodMismatch() + { + return Form.MethodMismatchResponse.CONTINUE; + } + + /** * Gives a chance to the specializations to modify the attributes. * * @param attributes @@ -590,6 +607,20 @@ public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior @Override public final void onRequest() { + Form.MethodMismatchResponse methodMismatch = onMethodMismatch(); + if (methodMismatch == Form.MethodMismatchResponse.ABORT) + { + AjaxRequestAttributes attrs = getAttributes(); + String desiredMethod = attrs.getMethod().toString(); + String actualMethod = ((HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest()).getMethod(); + if (!desiredMethod.equalsIgnoreCase(actualMethod)) + { + LOG.debug("Ignoring the Ajax request because its method '{}' is different than the expected one '{}", + actualMethod, desiredMethod); + return; + } + } + WebApplication app = (WebApplication)getComponent().getApplication(); AjaxRequestTarget target = app.newAjaxRequestTarget(getComponent().getPage()); diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java index 7d6eeab..e162048 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java @@ -55,9 +55,6 @@ public abstract class AjaxFormComponentUpdatingBehavior
[jira] [Created] (WICKET-6844) Add support for MethodMismatchResponse for Ajax behaviors
Martin Tzvetanov Grigorov created WICKET-6844: - Summary: Add support for MethodMismatchResponse for Ajax behaviors Key: WICKET-6844 URL: https://issues.apache.org/jira/browse/WICKET-6844 Project: Wicket Issue Type: Improvement Components: wicket Affects Versions: 9.1.0, 8.10.0 Reporter: Martin Tzvetanov Grigorov Assignee: Martin Tzvetanov Grigorov Suggested at users@ : [https://markmail.org/message/gqkoktwsfcnsknpr] Ajax behaviors should be able to abort the processing of the request if the request's method is different than the configured one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (WICKET-6843) Using WicketMessageTagHandler on non-components prevents Ajax behaviors
Peter Franza created WICKET-6843: Summary: Using WicketMessageTagHandler on non-components prevents Ajax behaviors Key: WICKET-6843 URL: https://issues.apache.org/jira/browse/WICKET-6843 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 8.0.0 Reporter: Peter Franza Inclusion of the wicket:message attribute on non-component markup prevents any children that have ajax behaviors to not get bound in after render. In the code below the markup will render correctly, however there will not be any click event bound to the link. If the `wicket:message` tag is removed from the div everything will work correctly. Additionally if the a `wicket:id` is added to the div, and the div is treated as a component, then everything will also work. *Example code* Source: {code:java} public class TestPage extends WebPage { public TestPage(PageParameters p) { super(p); queue(new AjaxLink("link") { @Override public void onClick(AjaxRequestTarget target) { target.appendJavaScript("alert('click');"); } }); } } {code} Markup: {code:java} Click Me {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (WICKET-6832) CSP support in Java 8
[ https://issues.apache.org/jira/browse/WICKET-6832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17216697#comment-17216697 ] Emond Papegaaij commented on WICKET-6832: - I totally agree with Martin, Sven and Andrea here. The fact that JDK 8 still has support (read gets bug and security fixes), does not mean that a framework like Wicket needs to put effort in supporting new features on this old JDK. Wicket 8 probably will be supported (read gets bug and security fixes) for several years to come. For new features, you will have to upgrade your entire stack not just Wicket. The Wicket team has limited resources and we cannot afford to spend it on supporting many different platforms. There is nothing stopping you from forking the Wicket source code and either backport the features you need from Wicket 9 to Wicket 8 or downgrade the Java version in Wicket 9 though. > CSP support in Java 8 > - > > Key: WICKET-6832 > URL: https://issues.apache.org/jira/browse/WICKET-6832 > Project: Wicket > Issue Type: New Feature > Components: wicket >Affects Versions: 9.0.0, 8.9.0 >Reporter: Ashley Reed >Priority: Major > > Wicket needs Content-Security-Policy support in Java 8 as it is it the most > popular version of Java used in production. Wicket 9 has CSP support, but > requires Java 11. Wicket 8 runs on Java 8, but has no CSP support. Need to > either add Java 8 support to Wicket 9 or add CSP support to Wicket 8. > > Evidence that Java 8 is still very popular: > [https://blog.newrelic.com/technology/state-of-java/] > [https://www.jrebel.com/blog/2020-java-technology-report] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (WICKET-6702) AsynchronousPageStore with NotDetachedModelChecker - "Not detached model found" exception on several fast sequential Ajax calls
[ https://issues.apache.org/jira/browse/WICKET-6702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17216529#comment-17216529 ] Ernesto Reinaldo Barreiro commented on WICKET-6702: --- It appears consistently in our app logs while running tests... I might need some time to spot what situation is producing this case. > AsynchronousPageStore with NotDetachedModelChecker - "Not detached model > found" exception on several fast sequential Ajax calls > --- > > Key: WICKET-6702 > URL: https://issues.apache.org/jira/browse/WICKET-6702 > Project: Wicket > Issue Type: Bug > Components: wicket-core >Affects Versions: 8.5.0, 9.0.0 >Reporter: Sergei Tkachuk >Priority: Major > Fix For: 9.1.0, 8.10.0 > > Attachments: QuickStart.zip > > > Preconditions: Application uses AsynchronousPageStore (as it is by default). > When there are several fast sequential Ajax calls to a component, then a > component's LoadableDetachableModel gets attached and detached several times > before real async serialization takes place. And at times the serialization > is initiated when the model has been already attached once again by a > subsequent Ajax call, and not detached yet as the request is still in > progress. This causes NotDetachedModelChecker() to throw "Not detached model > found!" exception > Disabling async serialization fixes the problem. > A test-case and a log attached. -- This message was sent by Atlassian Jira (v8.3.4#803005)