[ https://issues.apache.org/jira/browse/HARMONY-3381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene S. Ostrovsky updated HARMONY-3381:
-----------------------------------------
Patch Info: [Patch Available]
> [drlvm][shutdown] unsafe termination of daemon threads
> ------------------------------------------------------
>
> Key: HARMONY-3381
> URL: https://issues.apache.org/jira/browse/HARMONY-3381
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Eugene S. Ostrovsky
> Attachments: changing-shutdown-to-exit-threads-instead-of-throwing-exception.patch
>
>
> vm_shutdown_stop_java_threads() function tries to terminate daemon threads by setting
TheadDeath exception to them and interrupting in infinite loop.
> 1. There's a race condition in this algorithm: No one can guarantee that continuous setting
TheadDeath exception to a thread will force it to terminate.
> 2. TheadDeath is throwing in the points that may not be safe for exception throwing.
This may lead to vm crash (or assertion).
> ( Such crash was reproduced on win/ia32 on gc.Mark smoke test with the patch from HARMONY-3297)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|