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] Updated: (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:30:27 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-4260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ilya Leviev updated HARMONY-4260:
---------------------------------

    Attachment: SourceViewscreenshot-1.jpg

> [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
>         Attachments: SourceViewscreenshot-1.jpg
>
>
> 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