Re: java.util.ConcurrentModificationException on app.addRepository

Burghard Britzke <[email protected]> Thu, 17 Jul 2008 13:34:49 +0200
Newsgroups gmane.comp.java.helma.general
Message-ID <[email protected]>
Am 17.07.2008 um 13:22 schrieb Hannes Wallnoefer:

> 2008/7/17 Bernhard Fr=F6hlich <[email protected]>:
>>> Hello list,
>>>
>>> we load our widgets on helma start with app.addRepository and  =

>>> sometimes we
>>> get the following error code:
>>>
>>> ...
>>> [2008/07/17 11:19:23] [ERROR] null:
>>> java.util.ConcurrentModificationException
>>> ...
>>> the error is reproduceable on some machines (windows, linux) under
>>> helma1.6.0 and helma 1.6.2, java1.6.0_01 and java1.6.0_06. it  =

>>> seems to be
>>> a
>>> racing condition?
>>
>>
>> I am not familiar with the Helma code but as far as i can tell  =

>> there seems
>> to be a missing synchronisation in  =

>> TypeManager.java:checkRepositories()
>> because the Iterator is not protected from getting invalid.
>>
>> So it seems like an helma bug - would you mind creating an bugreport?
>
> Yes, it's definitely a helma bug, so please file a bug report.
>
> I'm not sure just adding synchronization would help, as it could be
> the same thread inserting into the prototype map, or synchronization
> could result in  a deadlock. It's probably worth a try, though.
>
> hannes
>
>> Bernhard Fr=F6hlich

ConcurrentModificationExceptions can be preventet by adding proper  =

synchronization
deadlocks can be prevented by accessing the resources in the same  =

sequence for each thread.
sincerely,
burghard. =