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/05/23 16:41:16 UTC
[jira] Created: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
[drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
-----------------------------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-3949
URL: https://issues.apache.org/jira/browse/HARMONY-3949
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Ilya Leviev
TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
Write -> Write data-race
Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
Stack Trace:
Context
Function is_class_initialized "jit_runtime_support.cpp":702
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function m2n_pop_local_handles "m2n_ia32.cpp":257
Function vm_get_gc_thread_local "c_interface.cpp":2334
Function gc_alloc_fast "gc_for_vm.cpp":178
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":370
Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
Function get_file_and_line "stack_trace.cpp":62
Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
1st Access
Function vm_get_gc_thread_local "c_interface.cpp":2334
Function gc_alloc_fast "gc_for_vm.cpp":178
Function vm_get_gc_thread_local "c_interface.cpp":2334
Function gc_alloc_fast "gc_for_vm.cpp":178
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":370
Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
Function st_get_frame "stack_trace.cpp":137
Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
"232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
"233" "" " #ifdef VM_STATS"
"234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
"235" "" " #endif //VM_STATS"
"236" "" " return guess;"
2nd Access
Function is_class_initialized "jit_runtime_support.cpp":702
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function m2n_pop_local_handles "m2n_ia32.cpp":257
Function vm_get_gc_thread_local "c_interface.cpp":2334
Function gc_alloc_fast "gc_for_vm.cpp":178
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":370
Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
Function get_file_and_line "stack_trace.cpp":62
Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
"232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
"233" "" " #ifdef VM_STATS"
"234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
"235" "" " #endif //VM_STATS"
"236" "" " return guess;"
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.
[jira] Updated: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3949:
---------------------------------
Attachment: HARMONY-3949_add_markup.patch
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Attachments: HARMONY-3949_add_markup.patch
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.
[jira] Closed: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev closed HARMONY-3949.
--------------------------------
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Gregory Shimansky
> Attachments: HARMONY-3949_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.
[jira] Resolved: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky resolved HARMONY-3949.
----------------------------------------
Resolution: Fixed
Patch applied at 541078. Please check that it was applied as expected.
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Gregory Shimansky
> Attachments: HARMONY-3949_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.
[jira] Commented: (HARMONY-3949) [drlvm][class_support]
Known/proven race conditions markup at "method_lookup.cpp":234 at
CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499542 ]
Ilya Leviev commented on HARMONY-3949:
--------------------------------------
Gregory, patch verified at r542198.
Thank you for applying it.
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Gregory Shimansky
> Attachments: HARMONY-3949_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.
[jira] Updated: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3949:
---------------------------------
Attachment: SourceViewScreenshot-1.jpg
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Attachments: HARMONY-3949_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.
[jira] Assigned: (HARMONY-3949) [drlvm][class_support] Known/proven
race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo *
Method_Lookup_Table::find(void *,bool)
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky reassigned HARMONY-3949:
------------------------------------------
Assignee: Gregory Shimansky
> [drlvm][class_support] Known/proven race conditions markup at "method_lookup.cpp":234 at CodeChunkInfo * Method_Lookup_Table::find(void *,bool)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3949
> URL: https://issues.apache.org/jira/browse/HARMONY-3949
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Gregory Shimansky
> Attachments: HARMONY-3949_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of find function at "method_lookup.cpp":234.
> As issues related to vm statistic data collection in debug mode and it not affect correctness of execution I mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "method_lookup.cpp":234 conflicts with a prior memory write at "method_lookup.cpp":234
> Stack Trace:
> Context
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":215
> 1st Access
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getCallerClass "org_apache_harmony_vm_vmstack.cpp":59
> Function st_get_frame "stack_trace.cpp":137
> Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":321
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 2nd Access
> Function is_class_initialized "jit_runtime_support.cpp":702
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function m2n_pop_local_handles "m2n_ia32.cpp":257
> Function vm_get_gc_thread_local "c_interface.cpp":2334
> Function gc_alloc_fast "gc_for_vm.cpp":178
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function hythread_suspend_enable "hythread_ext.h":370
> Function Java_org_apache_harmony_vm_VMStack_getStackTrace "org_apache_harmony_vm_vmstack.cpp":378
> Function get_file_and_line "stack_trace.cpp":62
> Function class CodeChunkInfo * Method_Lookup_Table::find(void *,bool) "method_lookup.cpp":234
> "232" "" " if ((addr >= guess_start) && (addr < guess_end)) {"
> "233" "" " #ifdef VM_STATS"
> "234" "*" " VM_Statistics::get_vm_stats().num_method_lookup_cache_hit++;"
> "235" "" " #endif //VM_STATS"
> "236" "" " return guess;"
> 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.