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

Java Plugin Proxy Auto Configuration failing using internet explorer

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • 9
    • 5.0u6, 6
    • deploy
    • x86
    • windows_xp

      FULL PRODUCT VERSION :
      JDK 1.5.0 1.5.0_1 1.5.0_6 1.5.0_7
      Mustang Beta/JDK 6 Beta 2

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows XP [Version 5.1.2600]

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Internet Explorer Version 6.0.2900.2180.xpsp_sp2_gdr.050301-1519 configured to use a Proxy Server (ISA as well as Squid) with direct connections being blocked by a firewall
      All connections to the site with the applet are made using https
      The applet is compiled with JDK 1.4 compatibility

      A DESCRIPTION OF THE PROBLEM :
      The proxy auto configuration script (HandCoded Pac file or ISA auto generated) is loaded by the java plugin in Internet Explorer but intermittently (1/4th of the attempts on average) the plugin is unable to parse the file. Subsequently the plugin falls back to a Direct connection (which fails as only proxied outbound connections are allowed in the environment)

      One aspect of the problem is the problem frequency increases dramatically if multiple applets are being loaded or the same applet is being loaded in separate Internet Explorer windows.

      I'm including a URL to 2 static pages which load applets but are failing intermittently.
      https://www.emap.terralign.com/data/focus_error.htm
      https://www.emap.terralign.com/data/map_error.htm

      I modified the pages to only load one applet from an external javascript file thereby minimizing the problem, these can be viewed at

      https://www.emap.terralign.com/data/focus.htm
      https://www.emap.terralign.com/data/map.htm

      Also the problem doesnt occur with the 1.4 JRE series. My assumption is that the new JRE parses the PAC javascript internally causing problems

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Recreate an environment where outbound http/https connections are blocked unless proxied
      Proxy configuration is done via a Proxy Auto Configuration Script (PAC) , which is setup to be retrieved by Internet Explorer (Plugin inherits settings from the browser)
      Fire up sequential multiple instances of Internet Explorer with the following HTTPS URLs (or others with multiple applet loads)
      https://www.emap.terralign.com/data/focus_error.htm
      https://www.emap.terralign.com/data/map_error.htm

      The plugin fails to parse the configuration file giving the error
      network: Unable to determine proxy setting from evaluation - fallback to DIRECT
      This DIRECT connection fails due to being blocked.

      Stack Trace information attached seperatly.


      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      The particular error message is below
      network: Unable to determine proxy setting from evaluation - fallback to DIRECT

      The DIRECT should fail which it does throwing exceptions already detailed

      REPRODUCIBILITY :
      This bug can be reproduced often.

      ---------- BEGIN SOURCE ----------
      Not including java source code since the problem occurs prior to the applet actually loading

      The following javascript is loaded from an external file (for Internet Explorer)

      document.write(
      '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase="https://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0" codetype="application/java" standby="Loading of applet in progress..." height="' + getMapHeight() + '" width="'+ getMapWidth() + '">');
      document.write('<PARAM NAME = DATA_FILE VALUE = ' + getDatFile() + '> ');

      document.write('<param name="archive" value="eMapApplet.jar" />');
      document.write('<PARAM NAME = "CODEBASE" VALUE = "/applets" /> ');
      document.write('<param name="code" value="com.terralign.emap.applet.eMapApplet.class">');


      The main page javascript / applet loading code , this include reference to the external file pulling in above referenced code

      <script src="/js/applet.js"></script>

      <!--[if !IE]>
      Mozilla 1.x, Firefox 1.x, Netscape 7+ and others will use the inner
      object, the nested object
      -->
      <script>
      document.writeln(
      ' <object classid="java:com.terralign.emap.applet.eMapApplet.class" standby="Loading of applet in progress..." height="' + getMapHeight() + '" width="' + getMapWidth() + '" archive="eMapApplet.jar" >');

      document.writeln('<PARAM NAME = DATA_FILE VALUE = ' + getDatFile() + '> ');
      document.writeln('<PARAM NAME = "image" VALUE = "/images/animatedSplash.gif"> ');
      </script>
           <PARAM NAME = "CODEBASE" VALUE = "/applets" />
           <p>Your browser does not seem to have java support enabled
           or it does not have a Java Plug-in.<br>

           <a href="http://www.java.com/en/download/manual.jsp">You can download
           the latest Java Plug-in here. (free download; 15MB)</a></p>
           </object>
      <!--<![endif]-->
      </object>


      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Only loading a single applet or referencing a single applet in a page. I altered the code from referencing two applets for Mozilla / Internet Explorer to load only one dependant on the browser check which reduced the incidence of the problem significantly

            cbensen Chris Bensen (Inactive)
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: