How to resolve this java.util.ConcurrentModificationException

2013-07-15 Thread saty
Getting below error at times, looks like its coming from usage of apache common LRUMAa class, not sure where to start fixing this. 15 Jul 2013 11:03:42.099 [http-apr--exec-3] ERROR o.a.w.serialize.java.JavaSerializer - error writing object [Page class = com.abc.xyz.web.HomePage, id = 5, rende

Re: How to resolve this java.util.ConcurrentModificationException

2013-07-15 Thread Sven Meier
Hi, Wicket doesn't use commons collections - check which maps you pass into components or models. Sven On 07/15/2013 05:55 PM, saty wrote: Getting below error at times, looks like its coming from usage of apache common LRUMAa class, not sure where to start fixing this. 15 Jul 2013 11:03:42.

Re: How to resolve this java.util.ConcurrentModificationException

2013-07-16 Thread saty
Thanks, but could you please explain how wicket handles serialization of objects that could throw this error. I could be wrong but it appears to me wicket is iterating the data structure for its serialization efforts when its being modified by other threads as well and the iteration results in Con

Re: How to resolve this java.util.ConcurrentModificationException

2013-07-16 Thread Dan Retzlaff
Wicket serializes access to each page instance, but provides no further synchronization. Non-transient references to application data must be synchronized by you. On Tue, Jul 16, 2013 at 2:39 PM, saty wrote: > Thanks, but could you please explain how wicket handles serialization of > objects th

Re: How to resolve this java.util.ConcurrentModificationException

2013-07-16 Thread Francois Meillet
LRUMap is not synchronized and is not thread-safe, you must use appropriate synchronization. see http://commons.apache.org/proper/commons-collections//javadocs/api-3.2.1/org/apache/commons/collections/map/LRUMap.html François Meillet Formation Wicket - Développement Wicket Le 17 juil. 201

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread saty
I need to understand what and when Wicket tries to serialize stuff in a running wicket application. I am not able to fix this error and it keeps growing with more users starting to use the application. It does not affect the application usage but it keeps beaming error email. I am using LRU map to

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread Michael Mosmann
IMHO nothing in Application is serialized. But its far to easy to leak an instance of this LRU-Map into some components (anon classes). Can you provide some code or error message? Am 06.08.13 18:22, schrieb saty: I need to understand what and when Wicket tries to serialize stuff in a running w

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread Dan Retzlaff
I'd use a debugger to look for live references to the map. In Eclipse, if you right-click the variable line in the Variables view, there is an All References option. The trick is instantiating the offending Wicket component to create the reference. But once created it should stick around at least u

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread saty
Thanks Mike, This is the complete exception trace, thanks for your help. It does appear that this is thrown when wicket trying to serialize page. 06 Aug 2013 13:30:20.917 [http-apr--exec-3] ERROR o.a.w.serialize.java.JavaSerializer - Error serializing object class com.a.b.web.HomePage [objec

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread saty
Ok.. To explain the scenario, i have a singleton data-maanger java class that user a underlying LRUMAP to store most recently viewed data. various wicket panels use this data-manager to request data that they need to display/update etc. Access to data is well protected using various synchronizatio

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread Dan Retzlaff
There isn't much information in that stack. Why don't you subclass LRUMap with a custom writeObject() implementation? Then you can breakpoint it, log from it, and maybe throw NotSerializableException to trigger Wicket SerializableChecker which gives nicer output. That way it triggers every time the

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread Martin Grigorov
Hi, Wicket 6.x has org.apache.wicket.core.util.objects.checker.IObjectChecker. You may create your own one that doesn't allow serialization of LRUMap. When such object is passed to ObjectOutputStream it will throw an exception with nice message explaining the reference to this LRUMap. This way you

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-06 Thread saty
Ok, thank you all. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-resolve-this-java-util-ConcurrentModificationException-tp4660273p4660734.html Sent from the Users forum mailing list archive at Nabble.com.

Re: How to resolve this java.util.ConcurrentModificationException

2013-08-07 Thread Michael Mosmann
Am 06.08.13 20:03, schrieb saty: ...various wicket panels use this data-manager to request data that they need to display/update etc. I think it matters how you acces this data-manager from your panels. If you use something like this: Application.get().dataManager().doSomething(bla) you shoul