-
Bug
-
Resolution: Fixed
-
P3
-
1.4.0
-
03
-
x86
-
windows_xp
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2051785 | 1.4.1 | Stanley Ho | P3 | Resolved | Fixed | hopper |
Name: gm110360 Date: 02/14/2002
FULL PRODUCT VERSION :
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91)
Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode)
FULL OPERATING SYSTEM VERSION : MS XP ver 5.1.2600
ADDITIONAL OPERATING SYSTEMS : All Windows OSs?
EXTRA RELEVANT SYSTEM CONFIGURATION :
Discovered using HP Omnibook 6100 built-in wireless
(Actiontec PRISM) AND also when switching to Orinoco Gold
PC card (11 mbps) (both with latest firmware/drivers for
XP).
IE 6.0.2600
A DESCRIPTION OF THE PROBLEM :
Happened to be using wireless while testing 1.4 RC with an
applet that uses HTTPS URL reads. The big delay was
introduced with 1.4 (see details/times below).
I can provide Sun with a public website URL to run the test
applet. Could be reproducible with any wireles LAN?
These results are for the test applet, but problem was
noticed running our production applets (wireless load/start
time went from 3 secs for 1.3.X -> about 60 secs for 1.4):
JRE 1.3.X:
HTTP & HTTPS wired 10 mbps LAN: < 2 secs
HTTP & HTTPS wireless 11 mbps LAN: < 2 secs
JRE 1.4.0 RC:
HTTP & HTTPS wired 10 mbps LAN: < 2 secs
HTTP wireless 11 mpbs LAN: < 2 secs
HTTPS wireless 11 mpbs LAN: > 40 secs
It is unlikely that this is solely a wireless LAN HTTPS
driver problem because general HTTPS internet access
presents no speed problems (eg Yahoo mail, e-commerce
sites). Could be JRE / wireless driver interaction.
Curious if this happens on all popular wireless hardware &
other Windows releases.
Not a real showstopper (unless your clients use wireless
LANs:)
REGRESSION. Last worked in version 1.3
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Using any applet that opens/reads files from its codebase
URL, conduct these steps under 1.3.X then 1.4 RC:
(again, I can supply URL for the test applet on our website)
1) Load the applet using HTTP URL ref and then HTTPS URL
ref on a wired LAN. Invoke reads of codebase files (eg.
GIFs). Note approx. times.
2) Load the applet using HTTP URL ref and then HTTPS URL
ref on a wireless LAN. Invoke reads of codebase files (eg.
GIFs). Note approx. times.
To completely eliminate cache issues, probably best to exit
browser & clear its cache between runs.
We are finding 1.4 RC HTTPS access wireless LAN times on
the order of 20x slower than 1.3.X.
EXPECTED VERSUS ACTUAL BEHAVIOR :
We'd expect some slowdown now that the JRE/plugin uses its
own HTTPS code (instead of browser HTTPS), but not 20X.
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Where the GIF files below are 1 or 2 K. This is the source of the test applet
whose URL (HTTP & HTTPS) I can provide:
import java.awt.*;
import java.net.URL;
import java.net.URLConnection;
import javax.swing.*;
/*
Demonstrates JRE / Plugin 1.4 SSSSLLLLOOOOWWWW read using HTTPS over
wireless
Pressing Load icons button will load several GIFs from the codebase. UI
will NOT update until all are read.
*/
public class JApplet1 extends JApplet {
static JApplet1 thisApp;
public void init() {
thisApp = this;
final String names[] = {"intmodem.gif", "intproxy.gif", "intranet.gif",
"pcomm2a.gif", "telecom2a.gif"};
final JDesktopPane desktop = new JDesktopPane();
final JInternalFrame jif = new JInternalFrame("HTTPS test", true, true,
true);
jif.getContentPane().setLayout(new GridLayout(8, 1));
final JButton jbutt = new JButton("Load Icons");
jif.getContentPane().add(jbutt);
jbutt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent event) {
URL URLsourceVER = null;
for (int i = 0; i < names.length; i++) {
String readFile = names[i];
URLsourceVER = null;
try {
URLsourceVER = new URL(thisApp.getCodeBase(), readFile);
System.out.println("Attempt read of:" + URLsourceVER);
// Assure not using caches
URLConnection URLsource = URLsourceVER.openConnection();
URLsource.setUseCaches(false);
URLsource.connect();
URLsource = null;
}
catch (Exception e) {
System.out.println("Failure in locating " + readFile + " server
file. URL error:" + e);
URLsourceVER = null;
}
JLabel newlab = new JLabel("GIF #" + i, new ImageIcon(URLsourceVER),
SwingConstants.LEFT);
jif.getContentPane().add(newlab);
}
jif.validate();
}
});
desktop.add(jif);
getContentPane().add(desktop, BorderLayout.CENTER);
desktop.setSize(500, 500);
jif.setBounds(10, 10, 200, 300);
jif.setVisible(true);
getContentPane().validate();
getContentPane().setVisible(true);
}
}
---------- END SOURCE ----------
CUSTOMER WORKAROUND :
Do not use wireless LAN for 1.4 applet that uses HTTPS.
Release Regression From : 1.4
The above release value was the last known release where this
bug was known to work. Since then there has been a regression.
(Review ID: 139634)
======================================================================
- backported by
-
JDK-2051785 REGRESSION: 1.4 RC applet HTTPS access over wireless LAN 20x slower than 1.3.X
- Resolved
- duplicates
-
JDK-4677499 URLConnection - connect over https always takes incredibly long time (5 sec)
- Closed