Brian Goetz wrote:
While on the subject of serialization deadlocks in core libraries, Amy Williams and Mike Ernst did a paper (also became Amy's masters thesis) back when Mike was at MIT on static detection of deadlocks and they built a tools which found several deadlocks in the JDK collections. Does anyone recall any bugs from this source being fixed?
I don't have history in this area but I see her M.Sc. is online and sure enough, in section 6.1.1 "As an example, consider java.util.Hashtable. This class can be deadlocked by creating two Hashtable objects and adding each as an element of the other, i.e., by forming a cyclic relationship between the instances." and further on, "all synchronized Collections and combinations of such Collections (e.g., a Vector in a cyclic relationship with a Hashtable) can be dead- locked in a similar fashion". Looks like she was running with JDK 1.4 but I don't think legacy Hashtable or Vector have changed much since then. I see someone actually ran into this with j.u.Properties:
 6582568: (coll) Concurrent Hashtable.equals deadlock

-Alan.

Reply via email to