JDK-7200297 : jdwp and hprof code do not handle multiple sun.boot.library.path elements correctly
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs24
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2012-09-21
  • Updated: 2014-06-27
  • Resolved: 2012-12-03
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 8 b68Fixed
Related Reports
Relates :  
Description
When bug 6819213 was fixed it enabled sun.boot.library.path property to contain multiple paths. Some code was added to os class to properly parse the elements when attempting to load agent libraries.  However the code in the jdwp and hprof agents does not parse the elements. It just concatenates the libname to the end of the entire sun.boot.library.path property which fails to load the library. The code falls back to passing only the libname with no boot path to the dlopen() call. On SE this works as LD_LIBRARY_PATH is correctly set up. I hit this bug on an embedded platform that does not have the ability to set LD_LIBRARY_PATH at execution time nor can it re-exec to add it. Hence the agents fail to load their dependent libs such as libnpt.so or libjava_crw_demo.so.

Comments
Need to obtain sun.boot.library.path from JVMTI and then parse first element of boot library path. Prepend that path to library name to pass to dlopen()
27-09-2012