You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ilya Leviev (JIRA)" <ji...@apache.org> on 2007/04/20 13:17:15 UTC
[jira] Created: (HARMONY-3714) [drlvm][EM] Race condition at
vm\em\src\ drlemimpl.cpp
[drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp
------------------------------------------------------
Key: HARMONY-3714
URL: https://issues.apache.org/jira/browse/HARMONY-3714
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Ilya Leviev
Priority: Minor
There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
Stack Traces:
Context
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
1st Access
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function m2n_free_local_handles "m2n_ia32.cpp":268
Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
2nd Access
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
Code: drlemimpl.cpp: 515
"0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
"" "513" "" " //initial method compilation. Select chain to use."
"" "514" "" " "
"0x4507" "515" "*" " nMethodsCompiled++;"
"" "516" "" " //these vars used for logging"
"0x4516" "517" "" " const char* methodName = NULL;"
"0x451D" "518" "" " const char* className = NULL;"
"0x4524" "519" "" " const char* signature = NULL;"
"0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][em] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky updated HARMONY-3714:
---------------------------------------
Summary: [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515) (was: [drlvm][EM] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515))
> [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][em] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Attachment: HARMONY-3714_add_markup_update.patch
> [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-3714) [drlvm][em] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Varlamov closed HARMONY-3714.
------------------------------------
Resolution: Fixed
Applied at r541559
> [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][em] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Attachment: (was: HARMONY-3714_add_markup_update.patch)
> [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3714) [drlvm][em] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497701 ]
Mikhail Fursov commented on HARMONY-3714:
-----------------------------------------
The patch is OK. Compilation method number is used for statistics only and can differ for a method on the same workload from run to run because of concurrency.
Please commit.
> [drlvm][em] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Race condition at
vm\em\src\ drlemimpl.cpp
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Patch Info: [Patch Available]
> [drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp
> ------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Description:
There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
Stack Traces:
Context
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
1st Access
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function m2n_free_local_handles "m2n_ia32.cpp":268
Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
2nd Access
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
Code: drlemimpl.cpp: 515
"0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
"" "513" "" " //initial method compilation. Select chain to use."
"" "514" "" " "
"0x4507" "515" "*" " nMethodsCompiled++;"
"" "516" "" " //these vars used for logging"
"0x4516" "517" "" " const char* methodName = NULL;"
"0x451D" "518" "" " const char* className = NULL;"
"0x4524" "519" "" " const char* signature = NULL;"
"0x452B" "520" "" " size_t n = nMethodsCompiled;"
was:
There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
Stack Traces:
Context
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
1st Access
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function m2n_free_local_handles "m2n_ia32.cpp":268
Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
2nd Access
Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
Function ExecuteMethod "em_intf.cpp":43
Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
Function vm_invoke_native_array_stub "ini_ia32.cpp":76
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function void * compile_me(struct Method *) "compile.cpp":790
Function compile_do_compilation "compile.cpp":770
Function CompileMethod "em_intf.cpp":49
Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
Code: drlemimpl.cpp: 515
"0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
"" "513" "" " //initial method compilation. Select chain to use."
"" "514" "" " "
"0x4507" "515" "*" " nMethodsCompiled++;"
"" "516" "" " //these vars used for logging"
"0x4516" "517" "" " const char* methodName = NULL;"
"0x451D" "518" "" " const char* className = NULL;"
"0x4524" "519" "" " const char* signature = NULL;"
"0x452B" "520" "" " size_t n = nMethodsCompiled;"
> [drlvm][EM] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Race condition at
vm\em\src\ drlemimpl.cpp
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Comment: was deleted
> [drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp
> ------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-3714) [drlvm][EM] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Varlamov reassigned HARMONY-3714:
----------------------------------------
Assignee: Alexey Varlamov
> [drlvm][EM] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Alexey Varlamov
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Race condition at
vm\em\src\ drlemimpl.cpp
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Attachment: HARMONY-3714_add_markup.patch
TC have reported about the race.
If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
DEPENDENS: The patch may be applied only after committing patch for JIRA HARMONY-3537 which contains API with markup functions.
> [drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp
> ------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Known/proven race
condition markup at vm\em\src\ drlemimpl.cpp (515)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Summary: [drlvm][EM] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515) (was: [drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp)
> [drlvm][EM] Known/proven race condition markup at vm\em\src\ drlemimpl.cpp (515)
> --------------------------------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3714) [drlvm][EM] Race condition at
vm\em\src\ drlemimpl.cpp
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3714:
---------------------------------
Attachment: HARMONY-3714_add_markup_update.patch
Patch updated as header file name have changed from port_nonatomic.h to port_threadunsafe.h
> [drlvm][EM] Race condition at vm\em\src\ drlemimpl.cpp
> ------------------------------------------------------
>
> Key: HARMONY-3714
> URL: https://issues.apache.org/jira/browse/HARMONY-3714
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Priority: Minor
> Attachments: HARMONY-3714_add_markup.patch, HARMONY-3714_add_markup_update.patch
>
>
> There are thread unsafe change of nMethodsCompiled variable that result in race condition that occur during concurrent execution of compileMethod function.
> Write -> Write data-race -Memory write at "drlemimpl.cpp":515 conflicts with a prior memory write at "drlemimpl.cpp":515
> Stack Traces:
> Context
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":512
> 1st Access
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_free_local_handles "m2n_ia32.cpp":268
> Function hythread_thin_monitor_exit "thread_native_thin_monitor.c":420
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> 2nd Access
> Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *) "ini.cpp":51
> Function ExecuteMethod "em_intf.cpp":43
> Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
> Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
> Function vm_invoke_native_array_stub "ini_ia32.cpp":76
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":790
> Function compile_do_compilation "compile.cpp":770
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":515
> Code: drlemimpl.cpp: 515
> "0x44D0" "512" "" " JIT_Result DrlEMImpl::compileMethod(Method_Handle mh) {"
> "" "513" "" " //initial method compilation. Select chain to use."
> "" "514" "" " "
> "0x4507" "515" "*" " nMethodsCompiled++;"
> "" "516" "" " //these vars used for logging"
> "0x4516" "517" "" " const char* methodName = NULL;"
> "0x451D" "518" "" " const char* className = NULL;"
> "0x4524" "519" "" " const char* signature = NULL;"
> "0x452B" "520" "" " size_t n = nMethodsCompiled;"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.