JDK-8000555 : BasicService.showDocument() API fails to launch the browser in Windows XP
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 6u34,7u6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2012-10-08
  • Updated: 2014-02-12
  • Resolved: 2013-07-02
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.
JDK 7 JDK 8
7u40Fixed 8Fixed
Description
The issue is that BasicService.showDocument() API fails to launch the browser in Windows XP. This is reproducible with the test case below and also it is reproducible in both Java6 and Java7
Comments
justification: showdocument does not work in windows XP. low risk fix and only affects XP case. showdocument is a popular API.
03-07-2013

SQE-OK to get the issue fixed for 7u40.
03-07-2013

The issue is that the URL length exceeds internal buffer size which is used by ShellExecute on Windows XP. The attached applet dynamically constructs URL from 3 parts. CONST1+URLREWRITE+CONST2. To get URLREWRITE part the applet makes a call to the server and uses it response to produce it. On jre8 this call during getting URLREWRITE part fails witth IllegalState exception so URLREWRITE becomes an empty string as a result the whole URL becomes shorter and ShellExecute works fine in that case. The proper fix could be to detects such case and create a temporary Internet shortcut file that contains the long URL and pass the Internet shortcut file to ShellExecute.
25-06-2013

Cannot reproduce on latest Java 8 (1.8.0-ea-b92) build Reproduced on Java 7 u25 Reproduced on Java 7 u40-ea-b28
06-06-2013

Readme txt file to execute the test case
09-10-2012

Reproducible test case
09-10-2012