When a jdk1.2 plugin/applet is launched with Internet Explorer v 4 or 5
under NT4.0 sp3, IE will crash with a null pointer exception, or some
memory corruption will occur, resulting in IE not exiting from memory (
as seen by the NT Task Manager ), and the plugin console.
Prior to the crash, assuming my applet class is MyApplet.class, there
is a search for the MyAppletBeanInfo.class, even though there is
nothing in the code that should require it. For the same plugin
applet, under netscape, there is no attempt to load the
MyAppletBeanInfo.class.
DESCRIPTIONEND
TESTCASEBEGIN
Following is:
1) java console output
2) stack trace from postmortem debugger
3) Applet java code
4) HTML file
5) Workaround ...BeanInfo source
***************** OUTPUT here is the java console log:
Java(TM) Plug-in
Using JRE version 1.2
User home directory = C:\WINNT\Profiles\kishor
Proxy Configuration: no proxy
JAR cache enabled.
Opening http://199.190.198.7/iecrash/com/digit/autolead/testMain.class no proxy
No holding
CacheHandler trying caching. http://199.190.198.7/iecrash/com/digit/autolead/testMain.class
CacheHandler file name: C:\WINNT\Profiles\kishor\Temporary Internet Files\Content.IE5\STW9UNCF\testMain[1].class
Got cached copy
All done
Opening http://199.190.198.7/iecrash/com/digit/autolead/testMainBeanInfo.class no proxy
No holding
CacheHandler trying caching. http://199.190.198.7/iecrash/com/digit/autolead/testMainBeanInfo.class
CacheHandler file name: null
No cache available, using remote copy
Opening http://199.190.198.7/iecrash/com/digit/autolead/testMainBeanInfo.class no proxy
*********** ------> crash or corruption occurs here *****************
from the Visual C++ postmortem debugger ****************************
JVM! 5043ac67()
PACKAGER! 50374bcf()
021e7438()
testMain.java *******************************************************
//package com.digit.autolead;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class testMain extends JApplet {
public void init()
{
}
}
HTML file ****************************************************************
<!--"CONVERTED_APPLET"-->
<!-- CONVERTER VERSION 1.0 -->
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = 200 HEIGHT = 200 codebase="http://java.sun.com/products/plugin/1.2/jinstall-11-win32.cab#Version=1,1,0,0">
<PARAM NAME = CODE VALUE = "testMain.class" >
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2">
<PARAM NAME = "AutoPLAN_Proxy_Port" VALUE ="8852">
<PARAM NAME = "AutoPLAN_Server_Port" VALUE ="6894">
<PARAM NAME = "Timings" VALUE ="Y">
<PARAM NAME = "Pims Url" VALUE ="http://www.digit.com">
<PARAM NAME = "AtWeb Url" VALUE ="http://intranet.digit.com">
<PARAM NAME = "Action/Issue Url" VALUE ="http://playin">
<COMMENT>
<EMBED type="application/x-java-applet;version=1.2" java_CODE = "testMain.class" WIDTH = 200 HEIGHT = 200 AutoPLAN_Proxy_Port = "8852" AutoPLAN_Server_Port = "6894" Timings = "Y" Pims = AtWeb = Action/Issue = pluginspage="http://java.sun.com/products/plugin/1.2/plugin-install.html"><NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!--
<APPLET CODE = "testMain.class" WIDTH = 200 HEIGHT = 200 >
<PARAM NAME = "AutoPLAN_Proxy_Port" VALUE ="8852">
<PARAM NAME = "AutoPLAN_Server_Port" VALUE ="6894">
<PARAM NAME = "Timings" VALUE ="y">
<PARAM NAME = "Pims Url" VALUE ="http://www.digit.com">
<PARAM NAME = "AtWeb Url" VALUE ="http://intranet.digit.com">
<PARAM NAME = "Action/Issue Url" VALUE ="http://playin">
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
</HTML>
testMainBeanInfo.java (workaround )******************************************************
public class testMainBeanInfo extends java.beans.SimpleBeanInfo
{
public class testMainBeanInfo()
{
super();
}
}
TESTCASEEND