You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If J9HookDisable succeeds there is no way to re-enable it. This is problematic in CRIU mode as some event that is disabled pre-checkpoint may need to be re-enabled post-restore. Additionally there exists code that uses J9HookDisable as a way to test if a hook is enabled or disabled. Scanning through the code, it seems that there is a desire to have J9HookDisabled invoked because it ensures that the hook is in a well defined state. Therefore, there should be a way to re-enable hooks that have been initialized with J9HOOK_FLAG_DISABLED.
The text was updated successfully, but these errors were encountered:
See the discussion in #16960 for more details, but to summarize:
The JIT generates code based on the environment as initialized during VM startup. If it does not use J9HookDisable to determine whether an event can be hooked, and instead only checks the flags, then if a JVMTI agent is loaded later it will not be prevented from requesting that the VM report an event, at which point the compiled code will not be able to request such an event.
As such, the change to the compiler in #16926 will need to be reconsidered depending on the level of JVMTI support we want to have wrt to CRIU. As it stands, if an agent were to attach post-restore, it could request that the VM report throw/catch events but compiled code will fail to do so.
If
J9HookDisable
succeeds there is no way to re-enable it. This is problematic in CRIU mode as some event that is disabled pre-checkpoint may need to be re-enabled post-restore. Additionally there exists code that usesJ9HookDisable
as a way to test if a hook is enabled or disabled. Scanning through the code, it seems that there is a desire to haveJ9HookDisabled
invoked because it ensures that the hook is in a well defined state. Therefore, there should be a way to re-enable hooks that have been initialized withJ9HOOK_FLAG_DISABLED
.The text was updated successfully, but these errors were encountered: