Review request for 6927486: Deadlock in legacy Hashtable writeObject()

Alan Bateman Alan.Bateman at
Wed Jan 5 13:36:41 UTC 2011

Neil Richards wrote:
> Please find attached a changeset to address the problem reported in
> bug 6927486, "Deadlock in legacy Hashtable writeObject()".
I've taken the liberty to generate a webrev from the changeset, just to 
make it a bit easier for folks to browse and review.

I don't see any issues with the changes to j.u.Hashtable. You might have 
seen Stuart Mark's changes go by recently where he changed some of the 
existing code (including java.util) to use diamond. You might want to 
use this in these changes to avoid needing to re-run the tools on this 
code. This would also fix a style issue where you've got a space between 
the type parameters in a few places.

In the tests you catch Exception (or IOException or 
ClassNotFoundException) and then re-throw a RuntimeException. You can 
probably remove this as jtreg will mark the test as failed if it 
completes with any exception.

I think Mike Duigou plans to review this too and help get the changes 
into the tl/jdk repo.

> The problem reported is similar to one found in java.util.Vector, for
> which a fix is also currently under review
> (
You might want to give this one a nudge by re-sending with a GPL header 
on the test. As I recall it was just the test that needed to be reviewed.
> PPS:
> I notice the API javadoc for PropertyPermission does not give its
> serialized form (and the "See Also:" section), even though it is
> Serializable, which strikes me as unusual.
> I suppose it has no serializable fields of its own (over that which
> BasicPermission has), but I'm sure I've seen other serializable
> classes with no fields having "serialized form" entries.
I assume it's the @serial exclude. You'll find some background in 
4288648 (from 11 years ago) but it would require further digging to find 
all the details.


More information about the core-libs-dev mailing list