harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Leviev (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3948) [drlvm][port][lil] Known/proven race conditions markup at at "stack_iterator_ia32.cpp":67 at si_unwind_from_m2n()
Date Wed, 23 May 2007 14:19:16 GMT
[drlvm][port][lil] Known/proven race conditions markup at at "stack_iterator_ia32.cpp":67 at
si_unwind_from_m2n()
-----------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-3948
                 URL: https://issues.apache.org/jira/browse/HARMONY-3948
             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 si_unwind_from_m2n functions.

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 "stack_iterator_ia32.cpp":67 conflicts with a prior memory write at "stack_iterator_ia32.cpp":67


Stack Trace: 

Context
	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":318
	Function si_unwind_from_m2n "stack_iterator_ia32.cpp":65

1st Access
	Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
	Function m2n_free_local_handles "m2n_ia32.cpp":268
	Function vm_get_gc_thread_local "c_interface.cpp":2334
	Function int Jitrino::Jet::rt_h_lcmp(__int64,__int64) "arith_rt.cpp":69
	Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":370
	Function Java_java_security_AccessController_getStackDomains "org_apache_harmony_vm_vmstack.cpp":185
	Function st_get_trace "stack_trace.cpp":205
	Function void si_goto_previous(struct StackIterator *,bool) "stack_iterator_ia32.cpp":318
	Function si_unwind_from_m2n "stack_iterator_ia32.cpp":67

	"63"	""	" // Goto the managed frame immediately prior to m2nfl"
	"64"	""	" static void si_unwind_from_m2n(StackIterator* si, bool over_popped = true)"
	"65"	""	" {"
	"66"	""	" #ifdef VM_STATS"
	"67"	"*"	"     VM_Statistics::get_vm_stats().num_unwind_native_frames_all++;"
	"68"	""	" #endif"
	"69"	""	" "
	"70"	""	"     M2nFrame* m2nfl = si->m2nfl;"



2nd 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":318
	Function si_unwind_from_m2n "stack_iterator_ia32.cpp":67See also Source View screenshots.


	"63"	""	" // Goto the managed frame immediately prior to m2nfl"
	"64"	""	" static void si_unwind_from_m2n(StackIterator* si, bool over_popped = true)"
	"65"	""	" {"
	"66"	""	" #ifdef VM_STATS"
	"67"	"*"	"     VM_Statistics::get_vm_stats().num_unwind_native_frames_all++;"
	"68"	""	" #endif"
	"69"	""	" "
	"70"	""	"     M2nFrame* m2nfl = si->m2nfl;"


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