Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6296159

SA: Handling C++ bool fields

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 6
    • core-svc
    • None
    • b45
    • generic
    • generic

      Hotspot used to #define bool as int. This has been changed to use C++ bool type.
      SA field lookups for bool type fields need to be changed.
      ###@###.### 2005-07-13 06:00:29 GMT

      This problem manifests as sun.jvm.hotspot.types.WrongTypeException being thrown for bool type field lookups. The following is stack trace from one such instance:

      Exception in thread "main" java.lang.ExceptionInInitializerError
      at sun.jvm.hotspot.oops.ObjectHeap.newOop(ObjectHeap.java:341)
      at sun.jvm.hotspot.utilities.HashtableEntry.literal(HashtableEntry.java:36)
      at sun.jvm.hotspot.memory.DictionaryEntry.klass(DictionaryEntry.java:49)
      at sun.jvm.hotspot.memory.Dictionary.classesDo(Dictionary.java:49)
      at sun.jvm.hotspot.memory.SystemDictionary.classesDo(SystemDictionary.java:100)
      at sun.jvm.hotspot.utilities.SystemDictionaryHelper.getAllInstanceKlasses(SystemDictionaryHelper.java:39)
      at sun.jvm.hotspot.utilities.SystemDictionaryHelper.findInstanceKlass(SystemDictionaryHelper.java:86)
      at sun.jvm.hotspot.runtime.VM.readSystemProperties(VM.java:696)
      at sun.jvm.hotspot.runtime.VM.getSystemProperties(VM.java:690)
      at sun.jvm.hotspot.runtime.VM.getSystemProperty(VM.java:684)
      at sun.jvm.hotspot.jdi.VirtualMachineImpl.getPath(VirtualMachineImpl.java:713)
      at sun.jvm.hotspot.jdi.VirtualMachineImpl.classPath(VirtualMachineImpl.java:725)
      at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:190)
      at com.sun.tools.example.debug.tty.Env.init(Env.java:64)
      at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1024)
      Caused by: sun.jvm.hotspot.types.WrongTypeException: field "_is_marked_dependent" in type instanceKlass is not of type jboolean, but instead of type jint
      at sun.jvm.hotspot.types.basic.BasicType.getField(BasicType.java:177)
      at sun.jvm.hotspot.types.basic.BasicType.getField(BasicType.java:185)
      at sun.jvm.hotspot.types.basic.BasicType.getJBooleanField(BasicType.java:198)
      at sun.jvm.hotspot.oops.InstanceKlass.initialize(InstanceKlass.java:69)
      at sun.jvm.hotspot.oops.InstanceKlass.access$000(InstanceKlass.java:20)
      at sun.jvm.hotspot.oops.InstanceKlass$1.update(InstanceKlass.java:24)
      at sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver(VM.java:297)
      at sun.jvm.hotspot.oops.InstanceKlass.<clinit>(InstanceKlass.java:22)

      ###@###.### 2005-07-13 06:34:06 GMT

      One more "bool" type manifestion is as follows:

      /home/jjh:128 $t4/bin/jmap -heap 6962
      Attaching to process ID 6962, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 1.6.0-ea-b43

      Exception in thread "main" sun.jvm.hotspot.debugger.UnalignedAddressException: Trying to read at address: 0xfef82a0f with alignment: 4
      at sun.jvm.hotspot.debugger.DebuggerUtilities.checkAlignment(DebuggerUtilities.java:40)
      at sun.jvm.hotspot.debugger.DebuggerBase.readJInt(DebuggerBase.java:278)
      at sun.jvm.hotspot.debugger.proc.ProcAddress.getJIntAt(ProcAddress.java:83)
      at sun.jvm.hotspot.runtime.VM$Flag.getBool(VM.java:132)
      at sun.jvm.hotspot.tools.HeapSummary.getFlagValue(HeapSummary.java:191)
      at sun.jvm.hotspot.tools.HeapSummary.printGCAlgorithm(HeapSummary.java:113)
      at sun.jvm.hotspot.tools.HeapSummary.run(HeapSummary.java:39)
      at sun.jvm.hotspot.tools.JMap.run(JMap.java:91)
      at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
      at sun.jvm.hotspot.tools.JMap.main(JMap.java:134)

      --


      ###@###.### 2005-07-18 08:39:41 GMT

            sundar Sundararajan Athijegannathan
            sundar Sundararajan Athijegannathan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: