[Bug libgcj/42658] [4.5 regression] ICE in _Jv_Linker::verify_class ../.././libjava/link.cc:1904
jojelino at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jan 8 17:50:00 GMT 2010
------- Comment #1 from jojelino at gmail dot com 2010-01-08 17:50 -------
here is vtable dump for klass
as you can see , klass->engine of dynamic version is NULL
whereas static version got proper instance though....
so klass->engine->verify(klass); invokes SEGV.......
but why does it happened??? some linker problem??
$ diff static dynamic -ud
--- static 2010-01-09 02:43:35.750000000 +0900
+++ dynamic 2010-01-09 02:43:36.187500000 +0900
@@ -1,23 +1,23 @@
(gdb) print *klass
-$1 = (java::lang::Class) {
+$2 = (java::lang::Class) {
<> = {<No data fields>},
members of java::lang::Class:
static class$ = {
<> = {<No data fields>},
members of java::lang::Class:
static class$ = <same as static member of an already seen type>,
- next_or_version = 0x0,
- name = 0xe2e9f4,
+ next_or_version = 0x40062e08,
+ name = 0x6c7f70b4,
accflags = 49,
- superclass = 0xb5c900,
+ superclass = 0x6c587100,
constants = {
size = 37,
- tags = 0xb5c180 "",
- data = 0xb5c0e0
+ tags = 0x6c587580 "",
+ data = 0x6c5874e0
},
{
- methods = 0xb5c1c0,
- element_type = 0xb5c1c0
+ methods = 0x6c5875c0,
+ element_type = 0x6c5875c0
},
method_count = 82,
vtable_method_count = 65,
@@ -26,15 +26,15 @@
---Type <return> to continue, or q <return> to quit---
field_count = 0,
static_field_count = 0,
- vtable = 0xb5bf28,
+ vtable = 0x6c587328,
otable = 0x0,
otable_syms = 0x0,
atable = 0x0,
atable_syms = 0x0,
itable = 0x0,
itable_syms = 0x0,
- catch_classes = 0xb5c828,
- interfaces = 0xb5c840,
+ catch_classes = 0x6c587c28,
+ interfaces = 0x6c587c40,
loader = 0x0,
interface_count = 4,
state = 1 '\001',
@@ -52,37 +52,37 @@
hack_signers = 0x0,
chain = 0x0,
aux_info = 0x0,
- engine = 0x1173040,
- reflection_data = 0xe2ea20 "\001"
+ engine = 0x0,
+ reflection_data = 0x6c7f70e0 "\001"
},
- next_or_version = 0x0,
- name = 0xdfea20,
+ next_or_version = 0x40062e08,
+ name = 0x6c8cb860,
accflags = 1057,
- superclass = 0xb5c900,
+ superclass = 0x6c587100,
constants = {
size = 24,
- tags = 0xb1c838 "",
- data = 0xb19d00
+ tags = 0x6c6a12d8 "",
+ data = 0x6c69e7a0
},
{
- methods = 0xb1c860,
- element_type = 0xb1c860
+ methods = 0x6c6a1300,
+ element_type = 0x6c6a1300
},
method_count = 37,
vtable_method_count = 34,
- fields = 0xb1cb60,
+ fields = 0x6c6a1600,
size_in_bytes = 44,
field_count = 13,
---Type <return> to continue, or q <return> to quit---
static_field_count = 4,
- vtable = 0xb13888,
+ vtable = 0x6c698328,
otable = 0x0,
otable_syms = 0x0,
atable = 0x0,
atable_syms = 0x0,
itable = 0x0,
itable_syms = 0x0,
- catch_classes = 0xb1cc30,
+ catch_classes = 0x6c6a16d0,
interfaces = 0x0,
loader = 0x0,
interface_count = 0,
@@ -101,6 +101,6 @@
---Type <return> to continue, or q <return> to quit---
chain = 0x0,
aux_info = 0x0,
- engine = 0x1173040,
- reflection_data = 0xdfea40 "\002"
+ engine = 0x0,
+ reflection_data = 0x6c8cb880 "\002"
\ No newline at end of file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42658
More information about the Java-prs
mailing list