JDK-6411862 : (launcher) java -X fails with "Can't open ../XUsage.txt"
  • Type: Bug
  • Component: tools
  • Sub-Component: launcher
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-04-11
  • Updated: 2010-04-02
  • Resolved: 2006-04-29
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 6
6 b83Fixed
Related Reports
Relates :  
Description
With b79 on linux-i586:

$ /java/re/jdk/6.0/latest/binaries/linux-i586/bin/java -X
Can't open /java/re/jdk/6.0/latest/binaries/linux-i586/bin/Xusage.txt 

This causes the following regression test to fail:
  test/tools/launcher/Arrrghs.sh

Comments
SUGGESTED FIX We should simply pass the jvmpath to the PrintXUsage funtion. I dont see a point using the dl* functions to get the library name. *** (#1 of 1): [ UNSAVED ] ###@###.###
12-04-2006

EVALUATION This bug has been since b47, older Linux distros Linux kernel 2.4.X exhibit this problem, the newer distros RHEL 4 (2.6.X) work correctly. The issue is with dladdr, it appears that the older versions do not have adequate support or it is unsupported. We use dladdr to determine the libjvm.so loaded, with 2.4 kernels it returns the '/blah/blah/bin/java' whereas the newer kernels return correctly '/blah/client/libjvm.so', the expected behaviour. This causes the PrintXUsage to open ....../bin/Xusage.txt vs. .....lib/arch/client/Xusage.txt.
12-04-2006