Kevin, The fix looks good for me, but please add a comment explaining the problem we are solving here.
-Dmitry On 2015-03-03 16:15, Kevin Walls wrote: > Hi, > > This is a review request for a way to make the SA tools protect > themselves from infinite loops during initialisation. > > Attaching jmap (for example) to a JVM can fail, infinitely writing an > error - and filling a disk if being logged to a file. This reproduces > on a Solaris package based install, but not with other distribution > bundles. In those packages, there's a link JDK/jre/lib/sparc/libjvm -> > client/libjvm.so. If a server/libjvm.so is loaded and running, we see > libverify.so pull in client/libjvm.so, as it finds the symlink in its > $ORIGIN, in preference to finding the already loaded libjvm.so. > > Symbol lookup in the SA is fooled by having multiple libjvm.so loaded. > There are various things wrong with that. Protection against zero > strides through the type arrays and a maximum count for duplicated types > will protect us from a few possible problems. > > I'll also work a bug for the "install" repo where we create that > symlink, but the tools need to protect themselves from this kind of > problem. > > Testing was manual. > > bug > https://bugs.openjdk.java.net/browse/JDK-8073688 > > webrev > http://cr.openjdk.java.net/~kevinw/8073688/webrev.00/ > > Thanks > Kevin -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources.