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

Thorben Schmidt commented on WICKET-6702:
-----------------------------------------

I can confirm the statement of [~tobiashaupt]. I get the same exception, but 
from the class org.apache.commons.collections4.map.LinkedMap, because of the 
constant MAPIFY_THRESHOLD from the MarkupContainer.
I think because a web application is always multithreaded and this is 
especially true for ajax requests, the list or map should be threadsafe 
(concurrent / synchronized).

{noformat}
2020-04-05 09:44:02,442 - INFO  [main] org.eclipse.jetty.server.Server []: 
Started @25664ms
2020-04-05 11:33:01,939 - ERROR [Wicket-AsyncPageStore-PageSavingThread] 
org.apache.wicket.serialize.java.JavaSerializer []: error writing object [Page 
class = some.package.application.pages.SomePage, id = 21, render count = 1]: 
null
java.util.ConcurrentModificationException: null
        at 
org.apache.commons.collections4.map.AbstractLinkedMap$LinkIterator.nextEntry(AbstractLinkedMap.java:574)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.AbstractLinkedMap$LinkMapIterator.next(AbstractLinkedMap.java:369)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.AbstractHashedMap.doWriteObject(AbstractHashedMap.java:1245)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.LinkedMap.writeObject(LinkedMap.java:134) 
~[commons-collections4-4.4.jar:4.4]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_242]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_242]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at 
org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:368)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) 
~[?:1.8.0_242]
        at 
org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:82)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.AbstractPageStore.serializePage(AbstractPageStore.java:133)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.DefaultPageStore.createSerializedPage(DefaultPageStore.java:281)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:61)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.AsynchronousPageStore$PageSavingRunnable.run(AsynchronousPageStore.java:208)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
2020-04-05 11:33:01,939 - ERROR [Wicket-AsyncPageStore-PageSavingThread] 
org.apache.wicket.serialize.java.JavaSerializer []: Error serializing object 
class some.package.application.pages.SomePage [object=[Page class = 
some.package.application.pages.SomePage, id = 21, render count = 1]]
org.apache.wicket.WicketRuntimeException: 
java.util.ConcurrentModificationException
        at 
org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:402)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) 
~[?:1.8.0_242]
        at 
org.apache.wicket.serialize.java.JavaSerializer.serialize(JavaSerializer.java:82)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.AbstractPageStore.serializePage(AbstractPageStore.java:133)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.DefaultPageStore.createSerializedPage(DefaultPageStore.java:281)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.DefaultPageStore.storePage(DefaultPageStore.java:61)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at 
org.apache.wicket.pageStore.AsynchronousPageStore$PageSavingRunnable.run(AsynchronousPageStore.java:208)
 ~[wicket-core-8.7.0.jar:8.7.0]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.util.ConcurrentModificationException
        at 
org.apache.commons.collections4.map.AbstractLinkedMap$LinkIterator.nextEntry(AbstractLinkedMap.java:574)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.AbstractLinkedMap$LinkMapIterator.next(AbstractLinkedMap.java:369)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.AbstractHashedMap.doWriteObject(AbstractHashedMap.java:1245)
 ~[commons-collections4-4.4.jar:4.4]
        at 
org.apache.commons.collections4.map.LinkedMap.writeObject(LinkedMap.java:134) 
~[commons-collections4-4.4.jar:4.4]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_242]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_242]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at java.util.ArrayList.writeObject(ArrayList.java:766) ~[?:1.8.0_242]
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) ~[?:?]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_242]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1140) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
~[?:1.8.0_242]
        at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
~[?:1.8.0_242]
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
~[?:1.8.0_242]
        at 
org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:368)
 ~[wicket-core-8.7.0.jar:8.7.0]
        ... 7 more
2020-04-05 11:33:01,939 - WARN  [Wicket-AsyncPageStore-PageSavingThread] 
org.apache.wicket.pageStore.AbstractPageStore []: Page [Page class = 
some.package.application.pages.SomePage, id = 21, render count = 1] cannot be 
serialized. See previous logs for possible reasons.
2020-04-05 11:33:01,939 - WARN  [Wicket-AsyncPageStore-PageSavingThread] 
org.apache.wicket.pageStore.DefaultPageStore []: Page [Page class = 
some.package.application.pages.SomePage, id = 21, render count = 1] cannot be 
serialized. See previous logs for possible reasons.
 {noformat}

> 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
>            Reporter: Sergei Tkachuk
>            Priority: Major
>         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)

Reply via email to