harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Leviev (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-4260) [drlvm][classloader] Race conditions at "java_type.cpp":(140-134) at load_type_desc() on reliability test ClassReflectionTest
Date Thu, 21 Jun 2007 11:26:26 GMT
[drlvm][classloader] Race conditions at "java_type.cpp":(140-134) at load_type_desc() on reliability
test ClassReflectionTest
-----------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-4260
                 URL: https://issues.apache.org/jira/browse/HARMONY-4260
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Ilya Leviev
            Priority: Minor


Race conditions at "java_type.cpp":(140-134) at load_type_desc() function while reliability
test ClassReflectionTest execution


TC report on thread unsafe access that result in race condition that occur during concurrent
execution of load_type_desc() function 


if it low priority issue I will mark it as expected race condition. 



1) Write -> Write data-race	Memory write at "java_type.cpp":140 conflicts with a prior
memory write at "java_type.cpp":140
2) Write -> Write data-race	Memory write at "java_type.cpp":134 conflicts with a prior
memory write at "java_type.cpp":134



1) Write -> Write data-race	Memory write at "java_type.cpp":140 conflicts with a prior
memory write at "java_type.cpp":140


Stack Trace: 


Context
	Function class_is_subtype "jit_runtime_support.cpp":3202
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":114

Definition
	Function Class::parse_fields "class_file_loader.cpp":2291
	Function Field::parse "class_file_loader.cpp":786
	Function Field::parse "class_file_loader.cpp":1113
	Function type_desc_create_from_java_descriptor "java_type.cpp":81
	Function TypeDesc::type_desc_create_vector "java_type.cpp":163
	Function operator new "newop.cpp":12
	Function malloc "dbgheap.c":139
	Function nh_malloc_dbg "dbgheap.c":260
	Function heap_alloc_dbg "dbgheap.c":397
	Function heap_alloc_base "malloc.c":211

1st Access
	Function class_is_subtype "jit_runtime_support.cpp":3202
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":140

	"139"	""	"         if (!element_clss) return NULL;"
	"140"	"*"	"         clss = resolve_class_array_of_class1(env, element_clss);"
	"141"	""	"         return clss;"


2nd Access
	Function class_is_subtype "jit_runtime_support.cpp":3202
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":140

	"139"	""	"         if (!element_clss) return NULL;"
	"140"	"*"	"         clss = resolve_class_array_of_class1(env, element_clss);"
	"141"	""	"         return clss;"


See also Source View screenshots. 




2) Write -> Write data-race	Memory write at "java_type.cpp":134 conflicts with a prior
memory write at "java_type.cpp":134



Context
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":138
	Function TypeDesc::load_type_desc "java_type.cpp":114

Definition
	Function Class::parse_fields "class_file_loader.cpp":2291
	Function Field::parse "class_file_loader.cpp":786
	Function Field::parse "class_file_loader.cpp":1113
	Function type_desc_create_from_java_descriptor "java_type.cpp":77
	Function type_desc_create_from_java_descriptor "java_type.cpp":68
	Function operator new "newop.cpp":12
	Function malloc "dbgheap.c":139
	Function nh_malloc_dbg "dbgheap.c":260
	Function heap_alloc_dbg "dbgheap.c":397
	Function heap_alloc_base "malloc.c":211

1st Access
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":138
	Function TypeDesc::load_type_desc "java_type.cpp":134

	"133"	""	"         //c = loader->LoadVerifyAndPrepareClass(env, name);"
	"134"	"*"	"         clss = loader->LoadClass(env, name);"
	"135"	"*"	"         return clss;"




2nd Access
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_disable "hythread_ext.h":427
	Function m2n_pop_local_handles "m2n_ia32.cpp":257
	Function get_thread_ptr_stub "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":376
	Function Java_java_lang_reflect_VMReflection_getMethodReturnType "java_lang_reflect_vmreflection.cpp":87
	Function descriptor_to_jclass "reflection.cpp":39
	Function type_info_get_class "c_interface.cpp":2070
	Function TypeDesc::load_type_desc "java_type.cpp":138
	Function TypeDesc::load_type_desc "java_type.cpp":134


	"133"	""	"         //c = loader->LoadVerifyAndPrepareClass(env, name);"
	"134"	"*"	"         clss = loader->LoadClass(env, name);"
	"135"	"*"	"         return clss;"



See also Source View screenshots. 





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message