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. =