RFR 8187222 : ClassLoader.getSystemClassLoader not clear if recursive initialization leads to ISE or unspecified error (original) (raw)
mandy chung mandy.chung at oracle.com
Fri Dec 1 16:33:28 UTC 2017
- Previous message: RFR 8187222 : ClassLoader.getSystemClassLoader not clear if recursive initialization leads to ISE or unspecified error
- Next message: RFR 8187222 : ClassLoader.getSystemClassLoader not clear if recursive initialization leads to ISE or unspecified error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 12/1/17 2:32 AM, Alan Bateman wrote:
On 30/11/2017 22:57, mandy chung wrote:
:
This is indeed a bug that should throw ISE when ClassLoader.getSystemClassLoader is called during the initialization of the system class loader, as the spec states. line 1921: I suggest to revise the message to make it clearer: "getSystemClassLoader cannot be called during the system class loader instantiation" In ClassLoader::initSystemClassLoader (line 1971), when the exception is thrown via Constructor::newInstance, it would be good to the cause of an InvocationTargetException like: + Throwable t = e; + if (e instanceof InvocationTargetException) { + t = e.getCause(); + } + throw new Error(t.getMessage(), t); Better still might be for initSystemClassLoader to re-throw the cause so that it appears immediately after the "Error occurred during initialization of VM" message that the VM will fail with.
Yes that would be better.
Mandy
- Previous message: RFR 8187222 : ClassLoader.getSystemClassLoader not clear if recursive initialization leads to ISE or unspecified error
- Next message: RFR 8187222 : ClassLoader.getSystemClassLoader not clear if recursive initialization leads to ISE or unspecified error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]