Re: java.util.ConcurrentModificationException on app.addRepository
"Hannes Wallnoefer" <[email protected]> Thu, 17 Jul 2008 13:22:57 +0200
| Newsgroups | gmane.comp.java.helma.general |
|---|---|
| Message-ID | <[email protected]> |
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] [INFO] START INFO load widgets [Application >> twoday_w1_s2] >> [2008/07/17 11:19:23] [INFO] ---- adding repository >> C:\helma-1.6.2\apps\twoday_w1_1_1\core\widgets\amazon\code >> [2008/07/17 11:19:23] [ERROR] null: >> java.util.ConcurrentModificationException >> java.util.ConcurrentModificationException >> at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) >> at java.util.HashMap$ValueIterator.next(HashMap.java:821) >> at >> helma.framework.core.TypeManager.checkRepositories(TypeManager.java:204) >> at >> helma.framework.core.TypeManager.checkPrototypes(TypeManager.java:124) >> at >> helma.scripting.rhino.RhinoCore.updatePrototypes(RhinoCore.java:330) >> at >> helma.scripting.rhino.RhinoEngine.enterContext(RhinoEngine.java:174) >> at >> helma.framework.core.RequestEvaluator.run(RequestEvaluator.java:172) >> at java.lang.Thread.run(Thread.java:619) >> [2008/07/17 11:19:23] [INFO] ---- adding repository >> C:\helma-1.6.2\apps\twoday_w1_1_1\core\widgets\archive\code >> [2008/07/17 11:19:23] [INFO] ---- adding repository >> C:\helma-1.6.2\apps\twoday_w1_1_1\core\widgets\credits\code >> ... >> 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 > > > _______________________________________________ > Helma-user mailing list > [email protected] > http://helma.org/mailman/listinfo/helma-user >