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/25 12:12:16 UTC
[jira] Created: (HARMONY-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
[drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
----------------------------------------------------------------------------------------------
Key: HARMONY-3977
URL: https://issues.apache.org/jira/browse/HARMONY-3977
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 gc_clear_mutator_block_flag function
if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
Write -> Write data-race
Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
Stack Trace:
Context
Function hythread_create "thread_native_basic.c":165
Function hythread_create_with_group "thread_native_basic.c":136
Function os_thread_create "os_thread.c":37
Function _beginthreadex "threadex.c":145
Function EntryPoint "dllcrt0.c":323
Function threadstartex "threadex.c":241
Function thread_start_proc "thread_native_basic.c":711
Function finalizer_thread_func "finalizer_thread.cpp":266
Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
1st Access
Function hythread_create "thread_native_basic.c":165
Function hythread_create_with_group "thread_native_basic.c":136
Function os_thread_create "os_thread.c":37
Function _beginthreadex "threadex.c":145
Function EntryPoint "dllcrt0.c":323
Function threadstartex "threadex.c":241
Function thread_start_proc "thread_native_basic.c":711
Function finalizer_thread_func "finalizer_thread.cpp":266
Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
"297" "" " Boolean gc_clear_mutator_block_flag()"
"298" "" " {"
"299" "" " Boolean old_flag = mutator_need_block;"
"300" "*" " mutator_need_block = FALSE;"
"301" "" " return old_flag;"
2nd Access
Function hythread_create "thread_native_basic.c":165
Function hythread_create_with_group "thread_native_basic.c":136
Function os_thread_create "os_thread.c":37
Function _beginthreadex "threadex.c":145
Function EntryPoint "dllcrt0.c":323
Function threadstartex "threadex.c":241
Function thread_start_proc "thread_native_basic.c":711
Function finalizer_thread_func "finalizer_thread.cpp":266
Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
"297" "" " Boolean gc_clear_mutator_block_flag()"
"298" "" " {"
"299" "" " Boolean old_flag = mutator_need_block;"
"300" "*" " mutator_need_block = FALSE;"
"301" "" " return old_flag;"
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-3977) [drlvm][gc_gen][tc] Known/proven race
conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag
function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev closed HARMONY-3977.
--------------------------------
Resolution: Fixed
patch verified
> [drlvm][gc_gen][tc] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Xiao-Feng Li
> Priority: Minor
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3977:
---------------------------------
Attachment: SourceViewScreenshot-1.jpg
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Attachments: SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen][tc] Known/proven
race conditions markup at "gc_for_vm.cpp":300 at
gc_clear_mutator_block_flag function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3977:
---------------------------------
Priority: Minor (was: Major)
Summary: [drlvm][gc_gen][tc] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function (was: [drlvm][gc_gen] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function)
> [drlvm][gc_gen][tc] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Xiao-Feng Li
> Priority: Minor
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xiao-Feng Li closed HARMONY-3977.
---------------------------------
Resolution: Fixed
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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] Reopened: (HARMONY-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev reopened HARMONY-3977:
----------------------------------
patch that mark race by special API for prevention of further alarms should be applied
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Known/proven race
conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag
function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3977:
---------------------------------
Summary: [drlvm][gc_gen] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function (was: [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function)
> [drlvm][gc_gen] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xiao-Feng Li updated HARMONY-3977:
----------------------------------
Assignee: Xiao-Feng Li
This is not a race. It's ok for more than one finalizer threads to set the same flag to resume the mutators.
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Xiao-Feng Li
> Attachments: SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3977:
---------------------------------
Patch Info: [Patch Available]
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Known/proven race
conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag
function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499756 ]
Ilya Leviev commented on HARMONY-3977:
--------------------------------------
Patch was applied partially.
Header file "port_threadunsafe.h" have not added!
> [drlvm][gc_gen] Known/proven race conditions markup at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assignee: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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-3977) [drlvm][gc_gen] Race conditions at
"gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Posted by "Ilya Leviev (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3977:
---------------------------------
Attachment: HARMONY-3977_add_markup.patch
added patch that mark race by special API for prevention of further alarms
> [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
> ----------------------------------------------------------------------------------------------
>
> Key: HARMONY-3977
> URL: https://issues.apache.org/jira/browse/HARMONY-3977
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Assigned To: Xiao-Feng Li
> Attachments: HARMONY-3977_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of gc_clear_mutator_block_flag function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300
> Stack Trace:
> Context
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298
> 1st Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 2nd Access
> Function hythread_create "thread_native_basic.c":165
> Function hythread_create_with_group "thread_native_basic.c":136
> Function os_thread_create "os_thread.c":37
> Function _beginthreadex "threadex.c":145
> Function EntryPoint "dllcrt0.c":323
> Function threadstartex "threadex.c":241
> Function thread_start_proc "thread_native_basic.c":711
> Function finalizer_thread_func "finalizer_thread.cpp":266
> Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
> Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300
> "297" "" " Boolean gc_clear_mutator_block_flag()"
> "298" "" " {"
> "299" "" " Boolean old_flag = mutator_need_block;"
> "300" "*" " mutator_need_block = FALSE;"
> "301" "" " return old_flag;"
> 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.