JDK-6635826 : New plug-in does not run on top of JDK 1.4.2 because of System.getenv() use and other reasons
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-11-30
  • Updated: 2010-09-08
  • Resolved: 2008-06-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b09Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
The new plug-in does not launch on top of JDK 1.4.2 because it calls System.getenv() to fetch debugging-related environment variables and getenv() was only "re-enabled" in JDK 1.5. There may be other reasons it doesn't work on top of JDK 1.4.2 such as 6609139 but this is the first and most obvious failure that needs to be fixed. It isn't essential that these environment variables actually be fetched correctly but it is essential that fetching them not break the plug-in.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6635826.0 testcase: http://web-east.east.sun.com/deployment/www/tests/1.6.0_10/6635826/

EVALUATION Attempting to make the new plug-in run on top of JDK 1.4.2 (on Windows) required the following changes: - Switched to -target 1.4 for all plugin classes - Avoiding the direct use of System.getenv(), which was broken on JDK versions before 5 - Guarded certain System.loadLibrary() and load() calls due to less robust System.load() implementation on 1.4.2 - Refactored progress listener support and guarded against lack of it on 1.4.2 - Guarded against lack of sun.net.www.ParseUtil.encodePath(String, boolean) on older 1.4.2 versions - Failed gracefully if the DeployCacheHandler, proxy and cookie initialization fail due to lack of dependent classes - Dealt with lack of Thread.getState() on JDK 1.4.2 - Loaded regutils DLL early on Windows Also added better support for debugging bootstrapping issues in the new plug-in. Applets now run on top of the new plug-in on JDK 1.4.2 on Windows. Because there was no XEmbed support even in the AWT MToolkit on Unix/X11 platforms in the JDK 1.4.2 release, it is infeasible to make the new plug-in run on top of JDK 1.4.2 on X11 platforms. Related bugs 6611381 and 6636067 are still to be resolved for more complete functionality when running on 1.4.2.