sdedic opened a new pull request, #5842: URL: https://github.com/apache/netbeans/pull/5842
= Description = This PR fixes several code loading bugs that manifested in Maven/Gradle proxy support **not working** if NB IDE (or vscode extension) runs on a recent GraalVM JDKs. The IDE was not able to load JS interpreter and failed to process PAC to discover the proxy. The reason was that because subtle changes in implementation over the time, GraalVM JDK implementation uses `ServiceLoader` to discover even parts of itself - but intentionally restricts classloaders to GraalVM JDK modules. So once Polyglot SDK class loads from the GraalVM JDK, the polyglot implementation may not access NB-distributed GraalJS implementation, although it is formally registered as a polyglot language. Some time ago, GraalVM stopped to ship `js` with the JDK, and must be installed. Until that change, it was OK (for the purpose of JS processing in NB) that the Polyglot engine + JS implementation loaded from the JDK. After that change, it isn't OK: as classloaders in NB delegate first to the parent (ultimately to the bootstrap classloader), it would load classes from Polyglot API and parts loaded by name through `ServiceLoader` from the JDK instead of NB, and bypass shipped Javascript, although the JDK does not contain `js` implementation at all. (tbc) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
