-
Bug
-
Resolution: Fixed
-
P3
-
5.0
-
b40
-
generic
-
generic
Here's how to duplicated it :-
java_g -agentlib:hprof -jar c:\jdk1.4.2\demo\jfc\Java2D\Java2Demo.jar
when the initial progress bar window comes up I hit the close (x) immediately.
Happens on Sparc too:
[1] __lwp_kill(0x0, 0x6, 0x0, 0xff33a000, 0xff284b18, 0x2), at 0xff31d998
[2] raise(0x6, 0x0, 0xf1f7e418, 0xff33a000, 0x0, 0xce940d), at 0xff2cc804
[3] abort(0xfefb4ed0, 0x0, 0xf1f7e4f8, 0xce34d0, 0xce9160, 0xff00), at 0xff2b57b0
=>[4] error_abort(), line 49 in "hprof_error.c"
[5] error_assert(condition = 0xfefbb560 "info->element_index < n_fields", file = 0xfefbb504 "../../../src/share/tools/newhprof/hprof_reference.c", line = 259), line 141 in "hprof_error.c"
[6] dump_instance(env = 0x62ff24, object_index = 1342194608U, list = 3221268043U), line 259 in "hprof_reference.c"
[7] reference_dump_instance(env = 0x62ff24, object_index = 1342194608U, list = 3221268043U), line 391 in "hprof_reference.c"
[8] dump_instance_references(i = 1342194608U, key_ptr = 0x516f80, key_len = 16, info_ptr = 0x4f5d68, arg = 0x62ff24), line 125 in "hprof_object.c"
[9] table_walk_items(ltable = 0x3ed20, func = 0xfef9ba58 = &`libhprof_g.so`hprof_object.c`dump_instance_references(TableIndex i, void *key_ptr, int key_len, void *info_ptr, void *arg), arg = 0x62ff24), line 731 in "hprof_table.c"
[10] object_reference_dump(env = 0x62ff24), line 274 in "hprof_object.c"
[11] site_heapdump(env = 0x62ff24), line 627 in "hprof_site.c"
[12] dump_all_data(env = 0x62ff24), line 774 in "hprof_init.c"
[13] cbVMDeath(jvmti = 0x39a6c, env = 0x62ff24), line 1136 in "hprof_init.c"
[14] JvmtiExport::post_vm_death(0x62fe50, 0xb14d0, 0x0, 0x0, 0x0, 0x0), at 0xfe7eb810
[15] before_exit(0x62fe50, 0x62fe50, 0x8, 0x0, 0x6c, 0xfacfaf50), at 0xfe604fcc
[16] JVM_Halt(0x0, 0x6, 0x8, 0xf1f7eaf8, 0xf1f7eaf4, 0x1), at 0xfe6a76cc
[17] Java_java_lang_Shutdown_halt0(env = 0x62ff24, ignored = 0xf1f7ecb8, code = 0), line 18 in "Shutdown.c"
(dbx) print *info
*info = {
class_tag = -372428033212004282LL
size = 200LL
object_tag = -372428033212005417LL
kind = JVMTI_REFERENCE_FIELD
element_index = 0
next = 3221268042U
}
(dbx) print n_fields
n_fields = 0
(dbx) w
current thread: t@6
=>[1] symbolOopDesc::as_C_string(0xf6804660, 0x801400, 0x13, 0x7efefeff, 0x81010100, 0xff00), at 0xfea7f03c
[2] symbolOopDesc::as_C_string(0xf6804660, 0x191510, 0xf680cc68, 0xfcf7e51c, 0xfcf7e518, 0xfcf7e514), at 0xfea7f128
[3] FieldType::get_array_info(0xf680cc68, 0xfcf7e5bc, 0xfcf7e5b8, 0x191510, 0x0, 0x80369c), at 0xfe4e94d4
[4] SystemDictionary::find_instance_or_array_klass(0xfcf7e658, 0xfcf7e654, 0xfcf7e650, 0x191510, 0x0, 0x1), at 0xfea8ad20
[5] SystemDictionary::find_constrained_instance_or_array_klass(0xfcf7e6f4, 0xfcf7e6f0, 0x191510, 0x0, 0x0, 0x8166d8), at 0xfea909f4
[6] ciEnv::get_klass_by_name_impl(0xfcf7f890, 0x7ac460, 0x7ac908, 0x0, 0x0, 0x0), at 0xfe34d198
[7] ciSignature::ciSignature(0x7ac8b8, 0x7ac460, 0x125f88, 0x1, 0x191510, 0x7fee50), at 0xfe39d17c
[8] ciMethod::ciMethod(0x7ac868, 0xfcf7e9e8, 0xf683b318, 0xfcf7e9a8, 0xfcf7e9a4, 0x1), at 0xfe372910
[9] ciObjectFactory::create_new_object(0x5183b8, 0xf683b318, 0xf683b318, 0x5184d0, 0xfcf7ea1c, 0x1), at 0xfe38f99c
[10] ciObjectFactory::get(0x5183b8, 0xf683b318, 0xfcf7eab8, 0xfcf7eab4, 0xfcf7eab0, 0x1), at 0xfe38ef74
[11] ciEnv::get_object(0xfcf7f890, 0xf683b318, 0xf683ba30, 0xf6803d10, 0xf6804480, 0xb6), at 0xfe356e60
[12] ciEnv::get_method_by_index_impl(0xfcf7f890, 0x7ab530, 0x32, 0xb6, 0x0, 0x1), at 0xfe34f42c
[13] ciEnv::get_method_by_index(0xfcf7f890, 0x7ab530, 0x32, 0xb6, 0xc, 0x8166d8), at 0xfe34f6d8
[14] ciBytecodeStream::get_method(0xfcf7f018, 0x518068, 0x1, 0x8165f8, 0xc, 0x816478), at 0xfe348620
[15] GraphBuilder::invoke(0xfcf7f24c, 0xb6, 0x1, 0x7, 0x5549, 0x7fee50), at 0xfe1ca1e4
[16] GraphBuilder::iterate_bytecodes_for_block(0xfcf7f24c, 0x7b, 0x0, 0x7fee4c, 0xffffffff, 0x0), at 0xfe1cf45c
[17] GraphBuilder::connect_to_end(0xfcf7f24c, 0x813740, 0x0, 0x7fe5d8, 0x1, 0x7fe5b8), at 0xfe1cc51c
[18] GraphBuilder::iterate_all_blocks(0xfcf7f24c, 0x0, 0x7fe930, 0x813900, 0x0, 0x7fe8a5), at 0xfe1d01a0
[19] GraphBuilder::GraphBuilder(0xfcf7f24c, 0xfcf7f754, 0x517fc8, 0x7fe930, 0x813900, 0x0), at 0xfe1d05bc
[20] IRScope::build_graph(0x517fc8, 0xfcf7f754, 0xffffffff, 0x0, 0x0, 0x0), at 0xfe1ec91c
[21] IRScope::IRScope(0x517fc8, 0xfcf7f754, 0x0, 0xffffffff, 0x7ab4d0, 0xffffffff), at 0xfe1ed0bc
[22] IR::IR(0x517f30, 0xfcf7f754, 0x7ab4d0, 0xffffffff, 0x0, 0x0), at 0xfe1ef420
[23] Compilation::build_hir(0xfcf7f754, 0x47e90372, 0x7ab4d0, 0x0, 0x5549, 0x0), at 0xfe1a9f08
[24] Compilation::compile_java_method(0xfcf7f754, 0xfcf7f63c, 0x4, 0x5184d0, 0x0, 0x191c75), at 0xfe1ab358
[25] Compilation::compile_method(0xfcf7f754, 0x0, 0x10000, 0x0, 0x0, 0x0), at 0xfe1ac120
[26] Compilation::Compilation(0xfcf7f754, 0x123b20, 0xfcf7f890, 0x7ab4d0, 0xffffffff, 0x191908), at 0xfe1aca54
[27] Compiler::compile_method(0x123b20, 0xfcf7f890, 0x7ab4d0, 0xffffffff, 0x0, 0x0), at 0xfe1b696c
[28] CompileBroker::invoke_compiler_on_method(0x75e, 0x191510, 0xf6b24040, 0x0, 0x0, 0x0), at 0xfe4289f0
[29] CompileBroker::compiler_thread_loop(0x1, 0x191510, 0x0, 0xfeae17f0, 0x0, 0x0), at 0xfe427e88
[30] compiler_thread_entry(0x191510, 0x191510, 0x1, 0x0, 0xfcf7fb70, 0xfcf7fb9d), at 0xfeada150
[31] JavaThread::thread_main_inner(0x191510, 0x159150, 0x6, 0x0, 0x0, 0x0), at 0xfead47fc
[32] JavaThread::run(0x191510, 0x7f, 0x0, 0x0, 0x0, 0x0), at 0xfead4698
[33] _start(0x191510, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfe944aac
Another thread looks like it's constructing a class, could i have gotten
info on a partially loaded class or partially initialized instance?
###@###.### 2004-01-28
java_g -agentlib:hprof -jar c:\jdk1.4.2\demo\jfc\Java2D\Java2Demo.jar
when the initial progress bar window comes up I hit the close (x) immediately.
Happens on Sparc too:
[1] __lwp_kill(0x0, 0x6, 0x0, 0xff33a000, 0xff284b18, 0x2), at 0xff31d998
[2] raise(0x6, 0x0, 0xf1f7e418, 0xff33a000, 0x0, 0xce940d), at 0xff2cc804
[3] abort(0xfefb4ed0, 0x0, 0xf1f7e4f8, 0xce34d0, 0xce9160, 0xff00), at 0xff2b57b0
=>[4] error_abort(), line 49 in "hprof_error.c"
[5] error_assert(condition = 0xfefbb560 "info->element_index < n_fields", file = 0xfefbb504 "../../../src/share/tools/newhprof/hprof_reference.c", line = 259), line 141 in "hprof_error.c"
[6] dump_instance(env = 0x62ff24, object_index = 1342194608U, list = 3221268043U), line 259 in "hprof_reference.c"
[7] reference_dump_instance(env = 0x62ff24, object_index = 1342194608U, list = 3221268043U), line 391 in "hprof_reference.c"
[8] dump_instance_references(i = 1342194608U, key_ptr = 0x516f80, key_len = 16, info_ptr = 0x4f5d68, arg = 0x62ff24), line 125 in "hprof_object.c"
[9] table_walk_items(ltable = 0x3ed20, func = 0xfef9ba58 = &`libhprof_g.so`hprof_object.c`dump_instance_references(TableIndex i, void *key_ptr, int key_len, void *info_ptr, void *arg), arg = 0x62ff24), line 731 in "hprof_table.c"
[10] object_reference_dump(env = 0x62ff24), line 274 in "hprof_object.c"
[11] site_heapdump(env = 0x62ff24), line 627 in "hprof_site.c"
[12] dump_all_data(env = 0x62ff24), line 774 in "hprof_init.c"
[13] cbVMDeath(jvmti = 0x39a6c, env = 0x62ff24), line 1136 in "hprof_init.c"
[14] JvmtiExport::post_vm_death(0x62fe50, 0xb14d0, 0x0, 0x0, 0x0, 0x0), at 0xfe7eb810
[15] before_exit(0x62fe50, 0x62fe50, 0x8, 0x0, 0x6c, 0xfacfaf50), at 0xfe604fcc
[16] JVM_Halt(0x0, 0x6, 0x8, 0xf1f7eaf8, 0xf1f7eaf4, 0x1), at 0xfe6a76cc
[17] Java_java_lang_Shutdown_halt0(env = 0x62ff24, ignored = 0xf1f7ecb8, code = 0), line 18 in "Shutdown.c"
(dbx) print *info
*info = {
class_tag = -372428033212004282LL
size = 200LL
object_tag = -372428033212005417LL
kind = JVMTI_REFERENCE_FIELD
element_index = 0
next = 3221268042U
}
(dbx) print n_fields
n_fields = 0
(dbx) w
current thread: t@6
=>[1] symbolOopDesc::as_C_string(0xf6804660, 0x801400, 0x13, 0x7efefeff, 0x81010100, 0xff00), at 0xfea7f03c
[2] symbolOopDesc::as_C_string(0xf6804660, 0x191510, 0xf680cc68, 0xfcf7e51c, 0xfcf7e518, 0xfcf7e514), at 0xfea7f128
[3] FieldType::get_array_info(0xf680cc68, 0xfcf7e5bc, 0xfcf7e5b8, 0x191510, 0x0, 0x80369c), at 0xfe4e94d4
[4] SystemDictionary::find_instance_or_array_klass(0xfcf7e658, 0xfcf7e654, 0xfcf7e650, 0x191510, 0x0, 0x1), at 0xfea8ad20
[5] SystemDictionary::find_constrained_instance_or_array_klass(0xfcf7e6f4, 0xfcf7e6f0, 0x191510, 0x0, 0x0, 0x8166d8), at 0xfea909f4
[6] ciEnv::get_klass_by_name_impl(0xfcf7f890, 0x7ac460, 0x7ac908, 0x0, 0x0, 0x0), at 0xfe34d198
[7] ciSignature::ciSignature(0x7ac8b8, 0x7ac460, 0x125f88, 0x1, 0x191510, 0x7fee50), at 0xfe39d17c
[8] ciMethod::ciMethod(0x7ac868, 0xfcf7e9e8, 0xf683b318, 0xfcf7e9a8, 0xfcf7e9a4, 0x1), at 0xfe372910
[9] ciObjectFactory::create_new_object(0x5183b8, 0xf683b318, 0xf683b318, 0x5184d0, 0xfcf7ea1c, 0x1), at 0xfe38f99c
[10] ciObjectFactory::get(0x5183b8, 0xf683b318, 0xfcf7eab8, 0xfcf7eab4, 0xfcf7eab0, 0x1), at 0xfe38ef74
[11] ciEnv::get_object(0xfcf7f890, 0xf683b318, 0xf683ba30, 0xf6803d10, 0xf6804480, 0xb6), at 0xfe356e60
[12] ciEnv::get_method_by_index_impl(0xfcf7f890, 0x7ab530, 0x32, 0xb6, 0x0, 0x1), at 0xfe34f42c
[13] ciEnv::get_method_by_index(0xfcf7f890, 0x7ab530, 0x32, 0xb6, 0xc, 0x8166d8), at 0xfe34f6d8
[14] ciBytecodeStream::get_method(0xfcf7f018, 0x518068, 0x1, 0x8165f8, 0xc, 0x816478), at 0xfe348620
[15] GraphBuilder::invoke(0xfcf7f24c, 0xb6, 0x1, 0x7, 0x5549, 0x7fee50), at 0xfe1ca1e4
[16] GraphBuilder::iterate_bytecodes_for_block(0xfcf7f24c, 0x7b, 0x0, 0x7fee4c, 0xffffffff, 0x0), at 0xfe1cf45c
[17] GraphBuilder::connect_to_end(0xfcf7f24c, 0x813740, 0x0, 0x7fe5d8, 0x1, 0x7fe5b8), at 0xfe1cc51c
[18] GraphBuilder::iterate_all_blocks(0xfcf7f24c, 0x0, 0x7fe930, 0x813900, 0x0, 0x7fe8a5), at 0xfe1d01a0
[19] GraphBuilder::GraphBuilder(0xfcf7f24c, 0xfcf7f754, 0x517fc8, 0x7fe930, 0x813900, 0x0), at 0xfe1d05bc
[20] IRScope::build_graph(0x517fc8, 0xfcf7f754, 0xffffffff, 0x0, 0x0, 0x0), at 0xfe1ec91c
[21] IRScope::IRScope(0x517fc8, 0xfcf7f754, 0x0, 0xffffffff, 0x7ab4d0, 0xffffffff), at 0xfe1ed0bc
[22] IR::IR(0x517f30, 0xfcf7f754, 0x7ab4d0, 0xffffffff, 0x0, 0x0), at 0xfe1ef420
[23] Compilation::build_hir(0xfcf7f754, 0x47e90372, 0x7ab4d0, 0x0, 0x5549, 0x0), at 0xfe1a9f08
[24] Compilation::compile_java_method(0xfcf7f754, 0xfcf7f63c, 0x4, 0x5184d0, 0x0, 0x191c75), at 0xfe1ab358
[25] Compilation::compile_method(0xfcf7f754, 0x0, 0x10000, 0x0, 0x0, 0x0), at 0xfe1ac120
[26] Compilation::Compilation(0xfcf7f754, 0x123b20, 0xfcf7f890, 0x7ab4d0, 0xffffffff, 0x191908), at 0xfe1aca54
[27] Compiler::compile_method(0x123b20, 0xfcf7f890, 0x7ab4d0, 0xffffffff, 0x0, 0x0), at 0xfe1b696c
[28] CompileBroker::invoke_compiler_on_method(0x75e, 0x191510, 0xf6b24040, 0x0, 0x0, 0x0), at 0xfe4289f0
[29] CompileBroker::compiler_thread_loop(0x1, 0x191510, 0x0, 0xfeae17f0, 0x0, 0x0), at 0xfe427e88
[30] compiler_thread_entry(0x191510, 0x191510, 0x1, 0x0, 0xfcf7fb70, 0xfcf7fb9d), at 0xfeada150
[31] JavaThread::thread_main_inner(0x191510, 0x159150, 0x6, 0x0, 0x0, 0x0), at 0xfead47fc
[32] JavaThread::run(0x191510, 0x7f, 0x0, 0x0, 0x0, 0x0), at 0xfead4698
[33] _start(0x191510, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfe944aac
Another thread looks like it's constructing a class, could i have gotten
info on a partially loaded class or partially initialized instance?
###@###.### 2004-01-28