The failure:
java.lang.NoClassDefFoundError exception is caught in "Loading Thread #1": custom/A1
java.lang.NoClassDefFoundError: custom/A1
...
Caused by: java.io.FileNotFoundException: /net/sqenfs-1.sfbay/export1/comp/vm/testbase/sqe/vm/7/build/execution/vm/bin/classes/runtime/ParallelClassLoading/shared/hierarchies/static-load/independent/custom/A1.class (Too many open files)
-------
I can easy reproduce it with latest jdk7b117 (with both product and fastdebug) and -XX:+UseG1GC.
No errors in case G1 is not used.
Errors seem to occur only on Linux. Test passes when run manually on sparc/solaris.
It looks like the error started to appear from hs20b02/jdk7b115.
At least the above test works fine with hs20b01/jdk7b114.
-------
Increasing the perm gen size has no effect on failure.
Conjecture: It is possible that the failure is because of slow (or missing)
finalization leaving many open file descriptors. G1's young collections,
the only ones that happen here, do not process reference objects.
Since there is no backpressure from the exploding file descriptor
counts back to the GC to ask it to collect the entire heap and
process reference objects, these file descriptors proliferate until
we run out of them. It is not clear why it was not happening prior to 7b114,
though, so we need to investigate that angle a bit.