JDK-4223255 : java plugin 1.2 causes null pointer exception 0x0000000 in IE
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 1.2.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 1999-03-23
  • Updated: 1999-05-04
  • Resolved: 1999-05-04
Related Reports
Duplicate :  
Description

Name: vi73552			Date: 03/23/99


This is a resubmit of bug 4186995.

The java plugin 1.2 has a problem handling 404 error messages from 
certian web servers.   The problem occurs when loading a jar file.
See the description below from the bug page for 4186995

              Fri Feb 19 06:57:08 PST 1999
                                 yankeejason
                                 Well, another update, since sun isn't moving on this one. Please note I only get the crash
                                 in IE4. NS browser works ok. 

                                 If I hit a demo applet on sun's site (see my comments above for url), it works fine. If I
                                 copy the same applet and html page to my web server and browse it from there, it
                                 crashes IE. Same if recompile the applet or just use the .class file straight off the demo
                                 page.

                                 So, I started tracking down the bug. Watching the java console, I saw that the crash
                                 happened right after the applet tried to load the <appletclass>BeanInfo classes, which
                                 don't exist (the vm will generate on the fly). Betting that the only difference between the
                                 plugin getting a "not found" from sun's server and a "not found" from my server would be
                                 the http header, I wrote a http message tracer in java.

                                 What I found was that when the applet would request the beaninfo class from Sun's
                                 server (running Apache 1.3.3), the server sent a simple 404 Not Found with a few
                                 standard header lines: content-type, content-length, Server, and a no-cache pragma. When
                                 I pulled the same applet from my dev web server (running MS IIS4.0) the 404 included an
                                 extra header entry, content-length.

                                 After reviewing the latest http1.1 draft, I see no reason why a server should not include a
                                 content length entry with a 404, to indicate the length of the html body being sent with the
                                 user friendly explanation of the not found.

                                 So, I modified my trace program to strip content-length headers out of 404 responses,
                                 which cured the problem. For production, I wrote an IIS ISAPI filter which strips
                                 content-length entries from 404 response headers.

                                 I should point out that this problem can (and most likely does) affect other servers beside
                                 IIS; any server returning content-length in a 404 should cause the problem. I'm planning to
                                 open a new bug report with sun on this with further documentation; the correct long term
                                 solution is for the IE version of the plugin to not barf when seeing a 404 with
                                 content-length while retreiving a .class file. Meanwhile, I am looking into setting up a
                                 small personal web site to publish my http trace program and the Isapi filter.


In our experience it is not the content-length causing the problem
but something else in the text of the 404 error coming back. We
are running the domino server and have no filter control over 
the messages returned to the user.  


To recreate the bug.  Follow the instructions above.  By downloading 
and serving  one
 of Sun's demo apps on a domino or IISS server will enable you to 
recreate the problem every time.
(Review ID: 55964) 
======================================================================

Comments
WORK AROUND Name: vi73552 Date: 03/23/99 With IISS ISAPI filtering can be used but with domino the only solution is to setup a filtering perl httpd server inbetween the customer and the server. ======================================================================
11-06-2004