Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8038984

Proxy Auto Configuration Script fails

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 8
    • deploy
    • x86_64
    • windows_7

      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

            dcherepanov Dmitry Cherepanov
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: