Duplicate :
|
FULL PRODUCT VERSION : java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode, sharing) Java(TM) Web Start 11.0.2.132-fcs ADDITIONAL OS VERSION INFORMATION : Windows 7 64 bit Microsoft Windows [Version 6.1.7601] A DESCRIPTION OF THE PROBLEM : When using a PAC-Script for Proxy-Auto-Configuration Parsing the Scipt fails with the following Exception: javax.script.ScriptException: TypeError: com.sun.deploy.net.proxy.SunAutoProxyHandler@c972aa has no such function "dnsResolve" in <eval> at line number 34 at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:564) at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:514) at jdk.nashorn.api.scripting.NashornScriptEngine.invokeFunction(NashornScriptEngine.java:229) at com.sun.deploy.net.proxy.SunAutoProxyHandler.getProxyInfo(Unknown Source) at com.sun.deploy.net.proxy.DynamicProxyManager.getProxyList(Unknown Source) at com.sun.deploy.net.proxy.DeployProxySelector.select(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1097) at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:987) at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:985) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:713) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:984) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:931) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1511) at sun.net.www.protocol.http.HttpURLConnection.access$200(HttpURLConnection.java:90) at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1431) at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1429) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:713) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1428) at gui.communication.HttpCommunicator.doGetRequest(HttpCommunicator.java:58) at gui.communication.ZASConnection.login(ZASConnection.java:123) at gui.communication.ZASCommunication.<init>(ZASCommunication.java:43) at gui.mainpanels.Administration.main(Administration.java:191) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.javaws.Launcher.executeApplication(Unknown Source) at com.sun.javaws.Launcher.executeMainClass(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) at com.sun.javaws.Launcher.run(Unknown Source) at java.lang.Thread.run(Thread.java:744) Caused by: <eval>:34 TypeError: com.sun.deploy.net.proxy.SunAutoProxyHandler@c972aa has no such function "dnsResolve" at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:56) at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:212) at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:184) at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:171) at jdk.nashorn.internal.runtime.linker.NashornBottomLinker.linkBean(NashornBottomLinker.java:118) at jdk.nashorn.internal.runtime.linker.NashornBottomLinker.getGuardedInvocation(NashornBottomLinker.java:73) at jdk.internal.dynalink.support.CompositeGuardingDynamicLinker.getGuardedInvocation(CompositeGuardingDynamicLinker.java:124) at jdk.internal.dynalink.support.LinkerServicesImpl.getGuardedInvocation(LinkerServicesImpl.java:144) at jdk.internal.dynalink.DynamicLinker.relink(DynamicLinker.java:232) at jdk.nashorn.internal.scripts.Script$\^eval\_.dnsResolve(<eval>:34) at jdk.nashorn.internal.scripts.Script$\^eval\_.DnsResolve(<eval>:188) at jdk.nashorn.internal.scripts.Script$\^eval\_$2.ImplementFindProxyForURL(<eval>:188) at jdk.nashorn.internal.scripts.Script$\^eval\_.FindProxyForURL(<eval>:188) at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:502) at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:206) at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:378) at jdk.nashorn.api.scripting.ScriptObjectMirror.callMember(ScriptObjectMirror.java:179) at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:508) ... 31 more and PROXY=DIRECT is used. The Exception occurs always when using RMI and sometimes when using "normal" HTTP-Conenctions REGRESSION. Last worked in version 7u51 STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : - Configure Java Web Start to use a Proxy Auto Detection Script. - Start an application using RMI using Java Web Start. EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - No Exception, Proxy is used according to script ACTUAL - Exception, PROXY=DIRECT ERROR MESSAGES/STACK TRACES THAT OCCUR : see above REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- Main-class: package test; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import javax.swing.JOptionPane; public class Main { /** * @param args */ public static void main(String[] args) throws Exception { Registry reg = LocateRegistry.getRegistry("rmihost",1099); String[] entries = reg.list(); JOptionPane.showMessageDialog(null,entries[0]); } } _____________________________________ jnlp-file: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="file://localhost/H:/WebstartTest/signed"> <information> <title>WebstartTest</title> <vendor>just me</vendor> </information> <security> <all-permissions/> </security> <resources> <j2se version="1.8+" href="http://java.sun.com/products/autodl/j2se" max-heap-size="64m"/> <jar href="WebstartTest-1.0.0-SNAPSHOT.jar" main="true" download="eager"/> </resources> <application-desc main-class="test.Main"/> </jnlp> ---------- END SOURCE ---------- CUSTOMER SUBMITTED WORKAROUND : Use manual Proxy-Configuration