JDK-6932270 : Allow Java's ELF symtab reader to use separate debuginfo files
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs17
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2010-03-04
  • Updated: 2017-12-12
  • Resolved: 2010-03-24
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 JDK 7 Other
6u21pFixed 7Fixed hs18Fixed
Related Reports
Relates :  
Relates :  
Description
From https://bugs.openjdk.java.net/show_bug.cgi?id=100126.

   Description  From  Andrew Haley   2010-01-08 08:34:35 PDT

This bug is a clone of https://bugzilla.redhat.com/show_bug.cgi?id=541548

When installed on any GNU/Linux system, jmap crashes with an exception.

The cause of this exception is that Java has its own symbol table reader, and
it does not know that GNU/Linux systems have symbol tables in a separate file
from the object files.

A patch for this is in IcedTea.


$ /usr/lib/jvm/java-openjdk/bin/jmap -heap 14715
Attaching to process ID 14715, please wait...
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol
"gHotSpotVMTypeEntryTypeNameOffset" in any of the known library names
(libjvm.so, libjvm_g.so, gamma_g)
        at
sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:388)
        at
sun.jvm.hotspot.HotSpotTypeDataBase.getLongValueFromProcess(HotSpotTypeDataBase.java:369)
        at
sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:102)
        at
sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:85)
        at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
        at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
        at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
        at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:39)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at sun.tools.jmap.JMap.runTool(JMap.java:196)
        at sun.tools.jmap.JMap.main(JMap.java:128)
Debugger attached successfully.
sun.jvm.hotspot.tools.HeapSummary requires a java VM process/core!

Comments
EVALUATION ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7de45b5044c3,ChangeRequest=6932270
10-03-2010

EVALUATION Add support for reading separate debug info from linux distros, add support for reading SHT_DYNSYM and expose vtables in the mapfile so they appear in the SHT_DYNSYM.
04-03-2010