Hi, Thanks a lot! I found an additional problem (creating and dropping temporary database objects was not correctly synchronized). I will fix this problem for the next release.
Regards, Thomas On Tue, Jul 21, 2009 at 5:27 PM, Thomas Mueller<[email protected]> wrote: > Hi, > > I'm sorry for the delay... I will have a look in one week (I'm on > vacation for one week). > > Regards, > Thomas > > > On Tue, Jun 30, 2009 at 7:25 AM, Eric Faulhaber<[email protected]> > wrote: >> Hello Thomas, >> >> During testing of a project which uses H2 v1.1.113 in embedded, >> multi-threaded mode for temporary table support, we hit a >> ConcurrentModificationException in DiskFile.java. A colleague found that >> unsynchronized access to the potentiallyFreePages set in that class was the >> cause. >> >> I have attached his test case which illustrates the problem (at least on my >> dual core Ubuntu box using the Sun Linux JVM v1.6.0_05). The attached zip >> file also contains a patch which resolves the issue (note the patch is made >> against h2_head revision 1583 for convenience, but I have only tested the >> fix with v1.1.113). >> >> The fix synchronizes access to the potentiallyFreePages object using the >> object itself as the monitor, even though the reference to that object may >> be reset with a new HashSet instance in DiskFile.reset(). I did this to >> avoid adding another instance variable to the class as a lock object, >> because it seems like reset() is only called at well known times, such that >> I presume this to be a safe approach. If this presumption is incorrect (I >> could not determine this definitively by reviewing the code), it would be >> better to synchronize on a separate lock object. >> >> Please consider including this fix into the project. >> >> Best regards, >> Eric Faulhaber >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/h2-database?hl=en -~----------~----~----~----~------~----~------~--~---
