mayur_naik - 2005-10-10


I've been evaluating the effectiveness of a static race detection tool I've developed on open source Java programs.  I ran it on the jdbm source code and found races in it due to missing synchronization in methods getNamedObject and setNamedObject in class BaseRecordManager.  You can view the races here:

Shouldn't these two methods be synchronized on 'this', like the other public methods in BaseRecordManager?  There's a comment in this class which states that it is OK for multiple threads to use it.  Also, I note that these methods in class CacheRecordManager are synchronized.

-- Mayur