Troubleshooting


This section includes the following topics:

General Troubleshooting Issues

Q: How do get Nescape find my plugin when I've downloaded and installed the J2SE including the Plugin?

A: Just set the NPX_PLUGIN_PATH envirronement variable to the location of the Java Plug-in (the directory in which the javaplugin.so file is located):

NPX_PLUGIN_PATH=$JAVAHOME/jre/plugin/sparc/ns4 for Netscape 4
NPX_PLUGIN_PATH=$JAVAHOME/jre/plugin/sparc/ns6 for Netscape 6

Q: I can't get Java Plug-in software to install via an intranet by placing it on our Netscape Enterprise 3.0 SuiteSpot web server. Why not?

A: We've got reports that the Netscape Enterprise 3.0 SuiteSpot Webserver is unable, at least in some circumstances, to serve up .exe files. One workaround that has seemed to work is to configure the HTML so that the Java Plug-in product is installed by a Visigenic Orb Gatekeeper, which also functions as a web server.

Q: I'm having trouble debugging with Java Plug-in Software. Do you have any tips?

A: In some circumstances, Java Plug-in Software will use a different debug connection address than expected. This occurs when Java Plug-in Software is loaded into the Explorer.exe process running in one of the following configurations:

Java Plug-in Software is loaded into the Explorer.exe process when an HTML page containing the OBJECT tag is viewed in the following ways:

This can cause problems when debugging Java applets, since no two processes should use the same debug connection address (found on the Advanced tab of the Java Plug-in Software control panel under Debug Settings). If the Explorer.exe process has already claimed the debug connection address, and the Netscape.exe or Iexplorer.exe tries to use it, debugging problems may result.

Java Plug-in Software avoids this complication when loaded into the Explorer.exe process by prepending the debug connection address specified in the control panel witht he string Explorer.

For example, if the default connection address set at the time of Java Plug-in Software installation is 2502, when running under Explorer.exe it is actually set to Explorer:2502.

When running JDB from the Java 2 SDK, you should specify

jdb -attach Explorer:2502

to attach to the JVM loaded into the Explorer.exe process.

Q: My applet is no longer scriptable in Internet Explorer with Java Plug-in Software. Why?

A: With Java Plug-in Software 1.3 a scriptable tag must be included and given a value of "true" in order for an applet to be scriptable. See the Using OBJECT, EMBED and APPLET Tags in Java Plug-in for more information.

Q: Why am I having problems using some standard extensions/optional packages?

A: Only extensions installed in the <jre>\lib\ext directory will be added to the classpath. Extensions installed in directories pointed to by the java.ext.dirs system property will not be added.

Q: Java Plug-in Software used to work with my Navigator 4.0.x browser. But when I upgraded to Navigator 4.5 and re-installed Java Plug-in Software, it does not work with Navigator 4.5. Why?

A: It has been reported that Navigator 4.5 may not install the user profile properly during installation. As a result, Java Plug-in Software may not read the correct user profile setting. To make sure the user profile setting is correct, please check the following:

Please make sure that these two registry keys exist and the <DirRoot> points to an existing user profile. If any of the registry keys are missing or incomplete, please use the User Profile Manager tool to recreate your profile.

Q: We are trying to use Java 3D with Java Plug-in Software, but it doesn't work at all. Why?

A: Java 3D comes with various packages. Installing it incorrectly may inadvertently disable Java Plug-in Software or cause it to fail. Follow these general instructions for using Java 3D and Java Plug-in Software:

  1. Install Java Plug-in Software first.
  2. Install Java 3D in a new directory. Do not install it over the existing Java 2 SDK, Standard Edition/JRE. See this page for installation instructions.
  3. In the Java Plug-in Software control panel, switch the JRE to the one that came with Java 3D.
  4. Download the HTML Converter 1.3 and convert the Java 3D demo pages.
The Java 3D demos should now run within Java Plug-in Software.

Q: Some web/proxy server require users to login for authentication. When I used the browser to access this server with Java Plug-in Software, two login dialog boxes appeared. Why?

A: Normally Java Plug-in Software will download the applets using its own connection. If the web/proxy server requires a login, the browser will first encounter the request and bring up a login dialog box. After the HTML page is downloaded, Java Plug-in Software will try to download the class or jar files for the applet. However, since Java Plug-in Software has no access to the login information that the browser previously obtained, it will bring up its own login dialog box.

Q: When I tried to deploy Java Plug-in Software in the intranet and put the binaries in the internal web server, IE doesn't download and install Java Plug-in Software when it encounters the converted page. What's going on? 

A: You may want to check that the CODEBASE in the OBJECT tag actually has the correct URL for the Java Plug-in Software. Also, turning off execute privileges on the directory in which you put the Java Plug-in Software executable may help.

Q: I am experiencing problems getting an applet to render using Java Plug-in Software. What is the cause of this?

A: While this may be due to a variety of circumstances unique to your operating environment, a frequent cause of this problem is a security exception.

  Q: I changed my browser setting while Java Plug-in Software was running, but it still uses the old settings after the change. Why?

A: The browser settings are read in by Java Plug-in Software when it is started. These settings are valid throughout the lifetime of the browser session. To make Java Plug-in Software read in the new settings, simply restart your browser. If you running Active Desktop with Java Plug-in Software, you need to restart the machine.

Q: When I loaded my applet, it said "noninit" or "applet not initialized" in the browser's status bar. How can I identify the cause of the problem?

A: Follow these steps:

  1. Look at the error message in the Java Console.
  2. If you are accessing the applet through the network, make sure the proxy info shown in the Java Console is correct.
  3. Make sure all the class/JAR files are in the right directory.
  4. Make sure the converted HTML page is correct.
  5. Try the unconverted page with AppletViewer on the same machine. If it works, please recheck 3, 4, and 5 again.

Q: When using Java Plug-in Software 1.3 the HTML Converter on a Japanese version of Windows98, the system is unstable. Is there a solution?

A: This problem is caused by bugs in the Input Method Editor (IME) that comes with Windows98. Install the Input Method Editor Service Release 1 (IME-SR1) for Windows98 from Microsoft before running Java Plug-in Software or the HTML Converter.

Q: When I try to use the AppletClassLoader with Java Plug-in Software, it crashes with a null pointer exception in IE4, but works fine in Netscape. Why does this happen? Is there a way to make it work correctly in IE4?

A: Java Plug-in Software in IE4 tries to load <YourAppletName>BeanInfo.class even if your applet is not a bean. There is a bug in Java 2 SDK, Standard Edition v 1.3 in the AppletClassLoader that occurs when trying to load nonexistent classes. To prevent this problem, create an empty <YourAppletName>BeanInfo.class.

Q: Why does Java Plug-in Software sometimes crash Internet Explorer, but not Netscape Navigator?

A: In certain circumstances, bad HTML will cause the browser to crash. One example is the absence of an </XMP> tag. Please make sure your HTML is correct.

Another possibility is that the plug-in was disabled using the control panel before you accessed a plug-in enabled page. Please check your settings to make sure the plug-in is enabled.

Q: My applet used to create a top level frame that would remain visible through page switches. When I upgraded to Java Plug-in Software this no longer occurs. Why?

A: In Java Plug-in Software, applets are stopped and destroyed during page switches. All the visible components should be destroyed as well. There has been an enhancement in Java 2 SDK that makes sure that all of the resources of the applet are properly released, including the top level frame.
 


Troubleshooting Installation Issues

Q: When I unzip the HTML Converter, all the files are 0 bytes. What is going on?

A: Unzipping the HTML Converter requires the latest version of Winzip (6.2 or later). Using earlier versions of Winzip may not unzip the Converter properly.

Q: I cannot unzip the HTML Converter zip file. Why not?

A: This file is actually a jar file. To uncompress the file type jar -xvf zip file at the command line. If you want to use a compression program, we recommend the latest version of WinZip.

If your experience problems unzipping the files, make sure you have the most recent version of your compression utility. Older versions may not be able to handle long filenames.

Q: I am trying to install the Java Plug-in Software in a network drive. However, it doesn't install. Why? 

A: If your network drive is protected or read-only, you will not be able to install the Java Plug-in Software. Please contact your system administrator for more details.

Q: I am trying to install Java Plug-in Software. However, whenever the install program tries to install the Java Plug-in Software for Netscape Navigator, it displays an error. My Navigator is on a network drive. Is there a way to fix this? 

A: If your Navigator is installed on a network drive, you may not have the permission to install the plugin DLL into the Navigator Plugins directory. Please contact your system administrator for more details.

Q: I'm having trouble installing the Java Plug-in Software on my Win32 machine. I see the error: "An application error has occurred and an application error log is being generated. Exception: access violation ..." What might be the problem? 

A: The Win32 installation (using Installshield's installer) may not work if you have Quarterdeck's Cleansweep product running in the background.

Q: When I reboot after I uninstalling Java Plug-in software, I get a dialog box warning that a .cpl file has been removed. What is this?

A: If the control panel is open while you are uninstalling the plug-in, plugincpl.cpl will not be removed as it is locked when the control panel folder is open.

Q: When I uninstall Java Plug-in Software, the Win32 plugin seems to stay in the machine. How can I remove that? 

A: Delete the NPJava32.dll from the Plugin directory.


Troubleshooting Security Issues

Q: I have some security related issues in my applet. How do I debug it?

A: You can enable the java.security.debug property to enable trace messages from the security system. Please see java.security.debug Property in the chapter called Debugging Support for more information.

Q: When downloading applets from the Internet, an AccessControlExcpetion is thrown. However, when the applet is located on the intranet, it works. Why?

A: To prevent DNS spoofing, a security check in Java Plug-in requires the host name to be resolved into an IP address, before any connection is made from the applet. However, the side-effect of this security check is to require the intranet DNS server to be able to resolve any external host name from the Internet. For some customers, this is not the way their DNS servers are setup within the enterprise, and it causes Java Plug-in to fail. To resolve this issue, there are several options:

  1. Modify the HTML page of the applet, so the codebase and document base of the applet contains IP addresses instead of host names. This will avoid Java Plug-in performing a DNS lookup for the host name.
  2. Set trustProxy to true in Java Plug-in. By setting this property, Java Plug-in will trust the proxy to perform a proper DNS lookup and return materials to Java Plug-in from trusted hosts. For intranet customers whose proxy servers are setup internally and can be trusted, this property may be used. This property may be specified as -DtrustProxy=true in the Java Plug-in Control Panel.

    Notice that this property should be set by administrator, as setting this property improperly with an untrusted proxy server may expose the client machines to DNS spoofing. This property is similar to the security.lower_java_network_security_by_trusting_proxies property supported by Netscape Navigator's JVM.

Q: I keep getting a ClassFormatError exception when my webpage is loaded with HTTPS in Netscape Navigator. Why?

A: This is caused by an applet specifying a nonexistent .jar or .class file in the EMBED tag. Due to limitation of what information can be returned via HTTPS in Navigator, the web server's "File Not Found" HTML page is returned instead of the appropriate status. This HTML page is treated as a .class file which causes the exception.

Q: I tried to run an RSA signed applet with Java Plug-in, but it is being treated as an untrusted applet. What is the problem?

A: There are several possibilities:

Please see our How to Sign Applets Using RSA-Signed Certificatesocumentation for details.

Q: Why do I get a yellow banner across my applet frame when using Java Plug-in Software?

A: When an applet creates a free-standing Frame, Java Plug-in Software adds a yellow warning banner so users will realize they are dealing with an untrusted applet window.

Q: Can I disable the yellow warning banner on frames? 

A: The yellow warning banner is an important security feature. It cannot be disabled by untrusted applets.

If you use a signed applet, where the signing key is trusted by the end user, then the warning banner will not be shown.

Q: How do I prevent the warning banner covering my GUI state? 

A: You should use the getInsets() method to find the size of your frame's decorative border. This includes the warning banner. For example, if you create a Frame with size 100x100, you might find it has insets [top=42,left=5,bottom=5,right=6] giving you a drawable area of 89x53. You need to position your work within the drawable area.

If you need to create a drawable area of a particular size, first create and show the Frame, then use getInsets to find the insets' sizes, then figure out the desired frame size by adding your desired size to the insets, then use frame.setSize() to set your frame to that size.

Q: Why does InetAddress.getLocalHost().getHostName() return "localhost"?

A: This is a deliberate security feature in the Java 2 platform. Untrusted applets will not be given the real host name.

Trusted applets (such as signed applets) will be given the real host name.