Hi, The stacktrace shows you that you are passing a LoadableDetachableModel to info.sls.GMapPanel which contains a non-serializable reference to info.sls.WicketApplication$3;
info.sls.WicketApplication$3 is an anonymous class inside your WicketApplication, which contains a reference to it’s owning class (WicketApplication). Can you show us the code where you initialize the GMapsPanel and it’s LoadableDetachableModel? That’s where we’ll probably find the culprit :-) Usually this is caused by code like this: MyServiceInsideApplication service = MyApplication.getService(); LoadableDetachableModel<X> ldm = new LoadableDetachableModel<X>() { X load() { return service.getX(); } }; The above code will attempt to serialize MyServiceInsideApplication. Code like this should be rewritten as follows: LoadableDetachableModel<X> ldm = new LoadableDetachableModel<X>() { X load() { MyServiceInsideApplication service = MyApplication.getService(); return service.getX(); } }; This way, there is no need to serialize the service, as it can be looked up just-in-time when it is needed. Met vriendelijke groet, Kind regards, Bas Gooren Op 21 december 2019 bij 07:03:18, ShengChe Hsiao (front...@gmail.com) schreef: Dear all I faced a strange exception, the error message: A problem occurred while checking object with type: info.sls.WicketApplication Field hierarchy is: 1 [class=info.sls.MapPage, path=1] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=java.util.ArrayList] private java.lang.Object org.apache.wicket.MarkupContainer.children[write:27][write:28] [class=org.apache.wicket.markup.html.form.StatelessForm, path=1:formGMapSelect] private java.lang.Object org.apache.wicket.MarkupContainer.children [class=java.util.ArrayList] private final java.lang.String org.apache.wicket.markup.html.form.ChoiceRenderer.idExpression[write:8][write:11] [class=org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink, path=1:formGMapSelect:btnSelect] final info.sls.GMapPanel info.sls.MapPage$1.val$gMapPanel [class=info.sls.GMapPanel, path=1:gmaps] java.lang.Object org.apache.wicket.Component.data [class=[Ljava.lang.Object;] java.lang.Object org.apache.wicket.Component.data[0] [class=org.apache.wicket.model.LoadableDetachableModel] final info.sls.WicketApplication info.sls.WicketApplication$3.this$0 [class=info.sls.WicketApplication] <----- field that is causing the problem I use transient with WicketApplication in my BasePage, but the issue continued..... private transient WicketApplication wicketApplication; Any suggestions? -------------------------------------------------------------------- -----------------------------------> To boldly go where no man has gone before. -------------------------------------------------------------------- -----------------------------------> We do this not because it is easy. We do this because it is hard. ----------------------------------------------------------------- --------------------------------------> If I have seen further it is by standing on the shoulders of giants. ---------------------------------------------------------- ---------------------------------------------> front...@gmail.com --------------------------------------------------------------------------------------------->