On 28/02/2018 03:02, Martin Buchholz wrote:
I should probably do more testing than usual when touching classloading...
We have a jdi test that does this (hg blame finds duke as only author):
public static ClassLoader classLoaderValue;
{
try {
urls[0] = new URL("hi there");
} catch (java.net.MalformedURLException ee) {
}
classLoaderValue = new URLClassLoader(urls);
}
:
Can we get jdi team to fix their dodgy tests?
I checked pre OpenJDK history but I'm none the wiser. I assume the
original author of this test assumed that urls[0] would be set to
placeholder URL, it's just the MalformedURLException (which is must
catch because it's a checked exception) masked the test bug.
java.net.URLClassLoader and its implementation in URLClassPath
implementation haven't had a lot of TLC which probably explains why the
null issue didn't surface before. We also need to change the one-arg
constructor to use varargs to avoid needing to create an explicit array
for the common case that you want to create it with a single URL.
-Alan