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

Reply via email to