Skip to content

Commit

Permalink
Merge pull request #16251 from tajila/criu3
Browse files Browse the repository at this point in the history
Introduce SystemCheckpointException
  • Loading branch information
gacholio committed Nov 23, 2022
2 parents d72624b + 84517ac commit 5315bf9
Show file tree
Hide file tree
Showing 29 changed files with 201 additions and 112 deletions.
Expand Up @@ -457,7 +457,7 @@ public CRIUSupport registerPostRestoreHook(Runnable hook) {
try {
hook.run();
} catch (Throwable t) {
throw new RestoreException("Exception thrown when running user post-restore hook", 0, t); //$NON-NLS-1$
throw new JVMRestoreException("Exception thrown when running user post-restore hook", 0, t); //$NON-NLS-1$
}
});
}
Expand Down Expand Up @@ -572,8 +572,8 @@ private void registerRestoreEnvVariables() {
});
}

private static RestoreException throwSetEnvException(Throwable cause) {
throw new RestoreException("Failed to setup new environment variables", 0, cause); //$NON-NLS-1$
private static JVMRestoreException throwSetEnvException(Throwable cause) {
throw new JVMRestoreException("Failed to setup new environment variables", 0, cause); //$NON-NLS-1$
}

/**
Expand All @@ -586,7 +586,7 @@ private static RestoreException throwSetEnvException(Throwable cause) {
* @throws JVMCheckpointException if a JVM error occurred before
* checkpoint
* @throws SystemCheckpointException if a CRIU operation failed
* @throws RestoreException if an error occurred during or after
* @throws JVMRestoreException if an error occurred during or after
* restore
*/
public synchronized void checkpointJVM() {
Expand Down
Expand Up @@ -23,38 +23,38 @@
package org.eclipse.openj9.criu;

/**
* A CRIU exception representing a failure after restore.
* A CRIU exception representing a JVM failure after restore.
*/
public final class RestoreException extends JVMCRIUException {
public final class JVMRestoreException extends JVMCRIUException {
private static final long serialVersionUID = 1539393473417716292L;

/**
* Creates a RestoreException with the specified message and a default error code.
* Creates a JVMRestoreException with the specified message and a default error code.
*
* @param message the message
*/
public RestoreException(String message) {
public JVMRestoreException(String message) {
super(message, 0);
}

/**
* Creates a RestoreException with the specified message and error code.
* Creates a JVMRestoreException with the specified message and error code.
*
* @param message the message
* @param errorCode the error code
*/
public RestoreException(String message, int errorCode) {
public JVMRestoreException(String message, int errorCode) {
super(message, errorCode);
}

/**
* Creates a RestoreException with the specified message and error code.
* Creates a JVMRestoreException with the specified message and error code.
*
* @param message the message
* @param errorCode the error code
* @param causedBy throwable that caused the exception
*/
public RestoreException(String message, int errorCode, Throwable causedBy) {
public JVMRestoreException(String message, int errorCode, Throwable causedBy) {
super(message, errorCode, causedBy);
}
}
@@ -0,0 +1,60 @@
/*[INCLUDE-IF CRIU_SUPPORT]*/
/*******************************************************************************
* Copyright (c) 2022, 2022 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at https://www.eclipse.org/legal/epl-2.0/
* or the Apache License, Version 2.0 which accompanies this distribution and
* is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the following
* Secondary Licenses when the conditions for such availability set
* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
* General Public License, version 2 with the GNU Classpath
* Exception [1] and GNU General Public License, version 2 with the
* OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
*******************************************************************************/
package org.eclipse.openj9.criu;

/**
* A CRIU exception representing a system failure after restore.
*/
public final class SystemRestoreException extends JVMCRIUException {
private static final long serialVersionUID = 1539393473417716292L;

/**
* Creates a SystemRestoreException with the specified message and a default error code.
*
* @param message the message
*/
public SystemRestoreException(String message) {
super(message, 0);
}

/**
* Creates a SystemRestoreException with the specified message and error code.
*
* @param message the message
* @param errorCode the error code
*/
public SystemRestoreException(String message, int errorCode) {
super(message, errorCode);
}

/**
* Creates a SystemRestoreException with the specified message and error code.
*
* @param message the message
* @param errorCode the error code
* @param causedBy throwable that caused the exception
*/
public SystemRestoreException(String message, int errorCode, Throwable causedBy) {
super(message, errorCode, causedBy);
}
}
43 changes: 27 additions & 16 deletions runtime/criusupport/criusupport.cpp
Expand Up @@ -52,7 +52,8 @@ setupJNIFieldIDs(JNIEnv *env)
J9InternalVMFunctions *vmFuncs = vm->internalVMFunctions;
jclass criuJVMCheckpointExceptionClass = NULL;
jclass criuSystemCheckpointExceptionClass = NULL;
jclass criuRestoreExceptionClass = NULL;
jclass criuJVMRestoreExceptionClass = NULL;
jclass criuSystemRestoreExceptionClass = NULL;

UT_MODULE_LOADED(J9_UTINTERFACE_FROM_VM(vm));

Expand All @@ -70,16 +71,24 @@ setupJNIFieldIDs(JNIEnv *env)
vm->criuSystemCheckpointExceptionInit = env->GetMethodID(criuSystemCheckpointExceptionClass, "<init>", "(Ljava/lang/String;I)V");
Assert_CRIU_notNull(vm->criuSystemCheckpointExceptionInit);

criuRestoreExceptionClass = env->FindClass("org/eclipse/openj9/criu/RestoreException");
Assert_CRIU_notNull(criuRestoreExceptionClass);
vm->criuRestoreExceptionClass = (jclass) env->NewGlobalRef(criuRestoreExceptionClass);
criuJVMRestoreExceptionClass = env->FindClass("org/eclipse/openj9/criu/JVMRestoreException");
Assert_CRIU_notNull(criuJVMRestoreExceptionClass);
vm->criuJVMRestoreExceptionClass = (jclass) env->NewGlobalRef(criuJVMRestoreExceptionClass);

vm->criuRestoreExceptionInit = env->GetMethodID(criuRestoreExceptionClass, "<init>", "(Ljava/lang/String;I)V");
Assert_CRIU_notNull(vm->criuRestoreExceptionInit);
vm->criuJVMRestoreExceptionInit = env->GetMethodID(criuJVMRestoreExceptionClass, "<init>", "(Ljava/lang/String;I)V");
Assert_CRIU_notNull(vm->criuJVMRestoreExceptionInit);

if (NULL == vm->criuJVMCheckpointExceptionClass
|| NULL == vm->criuSystemCheckpointExceptionClass
|| NULL == vm->criuRestoreExceptionClass
criuSystemRestoreExceptionClass = env->FindClass("org/eclipse/openj9/criu/SystemRestoreException");
Assert_CRIU_notNull(criuSystemRestoreExceptionClass);
vm->criuSystemRestoreExceptionClass = (jclass) env->NewGlobalRef(criuSystemRestoreExceptionClass);

vm->criuSystemRestoreExceptionInit = env->GetMethodID(criuSystemRestoreExceptionClass, "<init>", "(Ljava/lang/String;I)V");
Assert_CRIU_notNull(vm->criuSystemRestoreExceptionInit);

if ((NULL == vm->criuJVMCheckpointExceptionClass)
|| (NULL == vm->criuSystemCheckpointExceptionClass)
|| (NULL == vm->criuJVMRestoreExceptionClass)
|| (NULL == vm->criuSystemRestoreExceptionClass)
) {
vmFuncs->internalEnterVMFromJNI(currentThread);
vmFuncs->setNativeOutOfMemoryError(currentThread, 0, 0);
Expand Down Expand Up @@ -564,7 +573,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
}
if (0 == success) {
systemReturnCode = errno;
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuJVMRestoreExceptionClass;
nlsMsgFormat = j9nls_lookup_message(J9NLS_DO_NOT_PRINT_MESSAGE_TAG | J9NLS_DO_NOT_APPEND_NEWLINE, J9NLS_JCL_CRIU_J9_CURRENT_TIME_NANOS_FAILURE, NULL);
goto wakeJavaThreadsWithExclusiveVMAccess;
}
Expand All @@ -578,7 +587,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
* Currently OpenJ9 CRIU only supports 64-bit systems, and IDATA is equivalent to int64_t here.
*/
systemReturnCode = (IDATA)vm->checkpointState.checkpointRestoreTimeDelta;
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuJVMRestoreExceptionClass;
nlsMsgFormat = j9nls_lookup_message(J9NLS_DO_NOT_PRINT_MESSAGE_TAG | J9NLS_DO_NOT_APPEND_NEWLINE,
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA, NULL);
goto wakeJavaThreadsWithExclusiveVMAccess;
Expand All @@ -600,7 +609,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,

/* Run internal restore hooks, and cleanup */
if (FALSE == vmFuncs->runInternalJVMRestoreHooks(currentThread)) {
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuJVMRestoreExceptionClass;
nlsMsgFormat = j9nls_lookup_message(J9NLS_DO_NOT_PRINT_MESSAGE_TAG | J9NLS_DO_NOT_APPEND_NEWLINE,
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS, NULL);
goto wakeJavaThreadsWithExclusiveVMAccess;
Expand All @@ -616,7 +625,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
}

if (FALSE == vmFuncs->runDelayedLockRelatedOperations(currentThread)) {
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuJVMRestoreExceptionClass;
systemReturnCode = 0;
nlsMsgFormat = j9nls_lookup_message(J9NLS_DO_NOT_PRINT_MESSAGE_TAG | J9NLS_DO_NOT_APPEND_NEWLINE,
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS, NULL);
Expand All @@ -638,7 +647,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
if ((0 != close(workDirFD)) && (NULL == currentExceptionClass)) {
systemReturnCode = errno;
if (isAfterCheckpoint) {
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuSystemRestoreExceptionClass;
} else {
currentExceptionClass = vm->criuSystemCheckpointExceptionClass;
}
Expand All @@ -648,7 +657,7 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
if ((0 != close(dirFD)) && (NULL == currentExceptionClass)) {
systemReturnCode = errno;
if (isAfterCheckpoint) {
currentExceptionClass = vm->criuRestoreExceptionClass;
currentExceptionClass = vm->criuSystemRestoreExceptionClass;
} else {
currentExceptionClass = vm->criuSystemCheckpointExceptionClass;
}
Expand Down Expand Up @@ -686,8 +695,10 @@ Java_org_eclipse_openj9_criu_CRIUSupport_checkpointJVMImpl(JNIEnv *env,
init = vm->criuJVMCheckpointExceptionInit;
} else if (vm->criuSystemCheckpointExceptionClass == currentExceptionClass) {
init = vm->criuSystemCheckpointExceptionInit;
} else if (vm->criuSystemRestoreExceptionClass == currentExceptionClass) {
init = vm->criuSystemRestoreExceptionInit;
} else {
init = vm->criuRestoreExceptionInit;
init = vm->criuJVMRestoreExceptionInit;
}
jstring jExceptionMsg = env->NewStringUTF(exceptionMsg);

Expand Down
11 changes: 6 additions & 5 deletions runtime/nls/j9cl/j9jcl.nls
Expand Up @@ -472,7 +472,8 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR=Could not close the checkpoint data directory
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.explanation=An error occurred when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.

J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -496,7 +497,7 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR=Could not close the work directory, errn
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.explanation=An error occurred when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -512,15 +513,15 @@ J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS=Could not run internal resto
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.explanation=An error occurred when the JVM attempted to run internal restore hooks.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS=Could not run delayed lock-related operations successfully, errno=%li
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.explanation=An error occurred when the JVM attempted to run delayed identity operations.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

Expand All @@ -536,7 +537,7 @@ J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA=A negative value calculate
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA.sample_input_1=1
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA.explanation=checkpointRestoreTimeDelta is expected not to be negative.
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_NEGATIVE_CHECKPOINT_RESTORE_TIME_DELTA.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

Expand Down
9 changes: 5 additions & 4 deletions runtime/nls/j9cl/j9jcl_ca.nls
Expand Up @@ -472,7 +472,8 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR=No s'ha pogut tancar el directori de dades de
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.explanation=An error occured when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.

J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -496,7 +497,7 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR=No s'ha pogut tancar el directori de tre
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.explanation=An error occured when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -512,14 +513,14 @@ J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS=No s'han pogut executar els
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.explanation=An error occured when the JVM attempted to run internal restore hooks.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS=No s'han pogut executar correctament les operacions retardades relacionades amb bloquejos, errno=%li
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.explanation=An error occured when the JVM attempted to run delayed identity operations.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE
9 changes: 5 additions & 4 deletions runtime/nls/j9cl/j9jcl_cs.nls
Expand Up @@ -472,7 +472,8 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR=Nelze zav\u0159\u00edt datov\u00fd adres\u00e
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.explanation=An error occured when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.

J9NLS_JCL_CRIU_FAILED_TO_CLOSE_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -496,7 +497,7 @@ J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR=Nelze zav\u0159\u00edt pracovn\u00ed adr
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.explanation=An error occured when the JVM attempted to close the specified directory.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a RestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.system_action=The JVM will throw a SystemRestoreException or SystemCheckpointException.
J9NLS_JCL_CRIU_FAILED_TO_CLOSE_WORK_DIR.user_response=Ensure the specified directory is accessible.
# END NON-TRANSLATABLE

Expand All @@ -512,14 +513,14 @@ J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS=Nelze spustit vnit\u0159n\u0
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.explanation=An error occured when the JVM attempted to run internal restore hooks.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_TO_RUN_INTERNAL_RESTORE_HOOKS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS=Nelze se \u00fasp\u011b\u0161n\u011b spustit zpo\u017ed\u011bn\u00e9 operace uzamknut\u00ed, errno=%li
# START NON-TRANSLATABLE
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.sample_input_1=1
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.explanation=An error occured when the JVM attempted to run delayed identity operations.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a RestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.system_action=The JVM will throw a JVMRestoreException.
J9NLS_JCL_CRIU_FAILED_DELAY_LOCK_RELATED_OPS.user_response=View CRIU documentation to determine how to resolve the error.
# END NON-TRANSLATABLE

0 comments on commit 5315bf9

Please sign in to comment.