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.
Log in to post a comment.