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
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
- relates to
-
JDK-4991491 rework bool, true and false header defines
-
- Closed
-