You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Rebriy (JIRA)" <ji...@apache.org> on 2008/01/15 17:57:35 UTC
[jira] Created: (HARMONY-5390) [drlvm][signals] incorrect
processing SIGINT and SIGQUIT signals
[drlvm][signals] incorrect processing SIGINT and SIGQUIT signals
----------------------------------------------------------------
Key: HARMONY-5390
URL: https://issues.apache.org/jira/browse/HARMONY-5390
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Pavel Rebriy
Signal handler incorrect processing SIGINT and SIGQUIT signals. To process these signals signal handler calls vm_interrupt_handler() and vm_dump_handler() function simultaneously. Execution of these function has several limitations:
1. These functions try to grab hythread_global_lock() to create new hythreads. Lock point in signal handler can lead to dead lock.
2. Grabbing hythread_global_lock() requires hythread_suspend_enable() state of the current thread. Signal handler can be executed on native unattached thread. That leads to crash during accessing to hythread data.
3. vm_interrupt_handler() function executes exit() function which executes C++ destructors. Destructor execution in unknown point could lead to crash or dead lock (for instance interruption with kernel resources).
4. vm_dump_handler() function should don't break context during dumping threads information.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.