On 30/03/2015 21:01, Peter Levart wrote:

I think that java.lang.invoke infrastructure initialization should not need to have access to system class loader. All types it deals with are loadable by bootstrap class loader. I too have already encountered a problem because of that and my suggestion was to create an internal method similar to MethodType.fromMethodDescriptorString() that would treat null ClassLoader as bootstrap class loader and use this method for internal initialization instead of the public one:


With this patch, your A3 security manager using lambdas works normally.
Another one that has come once or twice is using method references in code that executes early in the startup. There are boxing cases that use TypeConvertingMethodAdapter.boxingDescriptor and hence the formatter code that tries to locate locale providers using the system class loader. This can lead to recursive initialization issues that pop out as BootstrapMethodError. So if we are making this area more robust then this might need to be looked at too.

mlvm-dev mailing list

Reply via email to