I believe there are numerous such Maps, but what can be the cause of
concurrent modification? Wicket should be allowing only single thread
operating on the object?


**
Martin

2011/8/19 Dan Retzlaff <dretzl...@gmail.com>:
> I tend to agree that odds of a Wicket bug in this area are small. Can you
> think of a case in your application where a component has a HashMap of
> objects which have a TreeMap of objects? Maybe the source of this collection
> within your application is the problem.
>
> On Fri, Aug 19, 2011 at 8:50 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Hi!
>>
>> I don't know how to reproduce it... and I wonder, because there is
>> pagemap lock, what else can be modifying stuff during page
>> serialization?
>>
>> **
>> Martin
>>
>> 2011/8/19 Dan Retzlaff <dretzl...@gmail.com>:
>> > How reproducible is this? I don't know how the serialization process
>> itself
>> > would cause this, but if it's intermittent then maybe there's a threading
>> /
>> > synchronization bug somewhere.
>> >
>> > On Fri, Aug 19, 2011 at 1:59 AM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> Hi!
>> >>
>> >> What can be the cause of this error, how can there be concurrent
>> >> modification to a item on a page being serialized?
>> >>
>> >> **
>> >> Martin
>> >>
>> >>
>> >> java.util.ConcurrentModificationException
>> >>        at
>> >> java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>> >>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
>> >>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
>> >>        at java.util.TreeMap.writeObject(TreeMap.java:2250)
>> >>        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.HashMap.writeObject(HashMap.java:1001)
>> >>        at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
>> >>        at org.apache.wicket.Component.writeObject(Component.java:4702)
>> >>        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.LinkedList.writeObject(LinkedList.java:943)
>> >>        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.LinkedList.writeObject(LinkedList.java:943)
>> >>        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.LinkedList.writeObject(LinkedList.java:943)
>> >>        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.ArrayList.writeObject(ArrayList.java:570)
>> >>        at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
>> >>        at org.apache.wicket.Component.writeObject(Component.java:4702)
>> >>        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at
>> >>
>> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>> >>        at
>> >> org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1124)
>> >>        at
>> >>
>> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
>> >>        at
>> >>
>> org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840)
>> >>        at
>> >>
>> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
>> >>        at org.apache.wicket.Session.requestDetached(Session.java:1435)
>> >>        at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176)
>> >>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1462)
>> >>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>> >>        at
>> >>
>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
>> >>        at
>> >>
>> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
>> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>> >>        at wicket.quickstart.TakpServlet.service(TakpServlet.java:74)
>> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> >>        at
>> >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>> >>        at
>> >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
>> >>        at
>> >>
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> >>        at
>> >> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> >>        at
>> >> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> >>        at
>> >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>> >>        at
>> >>
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>> >>        at
>> >>
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> >>        at
>> >> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> >>        at org.mortbay.jetty.Server.handle(Server.java:326)
>> >>        at
>> >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>> >>        at
>> >>
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
>> >>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
>> >>        at
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>> >>        at
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>> >>        at
>> >>
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>> >>        at
>> >>
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to