Re: java.util.ConcurrentModificationException inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
Interesting. I wonder if this error occurs when page components are being modified by Ajax while being serialized, e.g. page.addOrReplace(). If so, this is kind of an ugly bug. What I don't know yet is how harmful this bug is, i.e. does this error leave Wicket in a horribly inconsistent state? Xhelas wrote: Same symptoms using wocket 1.4-rc1. Regards Alexandre leok wrote: I was poking through some logs, and I noticed a few rare instances of this exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376) at java.util.HashSet.writeObject(HashSet.java:254) at sun.reflect.GeneratedMethodAccessor3239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at java.util.HashMap.writeObject(HashMap.java:1328) at sun.reflect.GeneratedMethodAccessor3234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) [..snip..] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:303) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:278) at org.apache.wicket.Page.writeReplace(Page.java:1299) at sun.reflect.GeneratedMethodAccessor6627.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1004) [..snip..] at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) I'm using Wicket 1.3.5. It seems there might be some strange racing happening while pages are being serialized. EDIT: I actually posted before completing my message. I meant to add - where would there be non thread-safe modifications to the serialized page? I presume that the there must be some sort of lock on the object when it's being serialized. More importantly - how harmful is this exception? -- View this message in context: http://www.nabble.com/java.util.ConcurrentModificationException-inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore%24SecondLevelCachePageMap.put-tp21062585p21072905.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: java.util.ConcurrentModificationException inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
This really looks like page being accessed from multiple threads, but it's quite weird. The serialization is done in request thread and pagemap is locked during request. -Matej On Thu, Dec 18, 2008 at 2:35 PM, leok leo...@gmail.com wrote: Interesting. I wonder if this error occurs when page components are being modified by Ajax while being serialized, e.g. page.addOrReplace(). If so, this is kind of an ugly bug. What I don't know yet is how harmful this bug is, i.e. does this error leave Wicket in a horribly inconsistent state? Xhelas wrote: Same symptoms using wocket 1.4-rc1. Regards Alexandre leok wrote: I was poking through some logs, and I noticed a few rare instances of this exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376) at java.util.HashSet.writeObject(HashSet.java:254) at sun.reflect.GeneratedMethodAccessor3239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at java.util.HashMap.writeObject(HashMap.java:1328) at sun.reflect.GeneratedMethodAccessor3234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) [..snip..] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:303) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:278) at org.apache.wicket.Page.writeReplace(Page.java:1299) at sun.reflect.GeneratedMethodAccessor6627.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1004) [..snip..] at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) I'm using Wicket 1.3.5. It seems there might be some strange racing happening while pages are being serialized. EDIT: I actually posted before completing my message. I meant to add - where would there be non thread-safe modifications to the serialized page? I presume that the there must be some sort of lock on the object when it's being serialized. More importantly - how harmful is this exception? -- View this message in context: http://www.nabble.com/java.util.ConcurrentModificationException-inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore%24SecondLevelCachePageMap.put-tp21062585p21072905.html Sent from the Wicket - User mailing list archive at Nabble.com. - 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:
Re: java.util.ConcurrentModificationException inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
Forgive my lack of understanding of Wicket internals, but do requests for Ajax components on a particular page block when that page is being serialized? Matej Knopp-2 wrote: This really looks like page being accessed from multiple threads, but it's quite weird. The serialization is done in request thread and pagemap is locked during request. -Matej On Thu, Dec 18, 2008 at 2:35 PM, leok leo...@gmail.com wrote: Interesting. I wonder if this error occurs when page components are being modified by Ajax while being serialized, e.g. page.addOrReplace(). If so, this is kind of an ugly bug. What I don't know yet is how harmful this bug is, i.e. does this error leave Wicket in a horribly inconsistent state? Xhelas wrote: Same symptoms using wocket 1.4-rc1. Regards Alexandre leok wrote: I was poking through some logs, and I noticed a few rare instances of this exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376) at java.util.HashSet.writeObject(HashSet.java:254) at sun.reflect.GeneratedMethodAccessor3239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at java.util.HashMap.writeObject(HashMap.java:1328) at sun.reflect.GeneratedMethodAccessor3234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) [..snip..] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:303) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:278) at org.apache.wicket.Page.writeReplace(Page.java:1299) at sun.reflect.GeneratedMethodAccessor6627.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1004) [..snip..] at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) I'm using Wicket 1.3.5. It seems there might be some strange racing happening while pages are being serialized. EDIT: I actually posted before completing my message. I meant to add - where would there be non thread-safe modifications to the serialized page? I presume that the there must be some sort of lock on the object when it's being serialized. More importantly - how harmful is this exception? -- View this message in context: http://www.nabble.com/java.util.ConcurrentModificationException-inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore%24SecondLevelCachePageMap.put-tp21062585p21072905.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail:
java.util.ConcurrentModificationException inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
I was poking through some logs, and I noticed a few rare instances of this exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376) at java.util.HashSet.writeObject(HashSet.java:254) at sun.reflect.GeneratedMethodAccessor3239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at java.util.HashMap.writeObject(HashMap.java:1328) at sun.reflect.GeneratedMethodAccessor3234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) [..snip..] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:303) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:278) at org.apache.wicket.Page.writeReplace(Page.java:1299) at sun.reflect.GeneratedMethodAccessor6627.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1004) [..snip..] at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) I'm using Wicket 1.3.5. It seems there might be some strange racing happening while pages are being serialized. -- View this message in context: http://www.nabble.com/java.util.ConcurrentModificationException-inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore%24SecondLevelCachePageMap.put-tp21062585p21062585.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: java.util.ConcurrentModificationException inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put
Same symptoms using wocket 1.4-rc1. Regards Alexandre leok wrote: I was poking through some logs, and I noticed a few rare instances of this exception: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365) at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376) at java.util.HashSet.writeObject(HashSet.java:254) at sun.reflect.GeneratedMethodAccessor3239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1380) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1352) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1295) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1084) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at java.util.HashMap.writeObject(HashMap.java:1328) at sun.reflect.GeneratedMethodAccessor3234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1344) [..snip..] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:307) at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:303) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageSerializer.getPageReplacementObject(AbstractPageStore.java:278) at org.apache.wicket.Page.writeReplace(Page.java:1299) at sun.reflect.GeneratedMethodAccessor6627.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1004) [..snip..] at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1091) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:811) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) I'm using Wicket 1.3.5. It seems there might be some strange racing happening while pages are being serialized. EDIT: I actually posted before completing my message. I meant to add - where would there be non thread-safe modifications to the serialized page? I presume that the there must be some sort of lock on the object when it's being serialized. More importantly - how harmful is this exception? -- View this message in context: http://www.nabble.com/java.util.ConcurrentModificationException-inorg.apache.wicket.protocol.http.SecondLevelCacheSessionStore%24SecondLevelCachePageMap.put-tp21062585p21065024.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org