From e6d83d61eade6dee223757d149a4df9650752a55 Mon Sep 17 00:00:00 2001
From: Matthias Sohn <matthias.sohn@sap.com>
Date: Tue, 6 Feb 2024 10:23:37 +0100
Subject: Don't use localized String during JVM shutdown

During shutdown the JGitText class may already be unloaded causing
NoClassDefFoundError.

Bug: jgit-17
Change-Id: I657b5a508efc8b3778be346d640f4e4d69abd5c5
---
 org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java          | 1 -
 org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java | 4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)

(limited to 'org.eclipse.jgit/src')

diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
index b7175508ee..a84b9d0dc7 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
@@ -743,7 +743,6 @@ public class JGitText extends TranslationBundle {
 	/***/ public String shortReadOfOptionalDIRCExtensionExpectedAnotherBytes;
 	/***/ public String shortSkipOfBlock;
 	/***/ public String shutdownCleanup;
-	/***/ public String shutdownCleanupFailed;
 	/***/ public String shutdownCleanupListenerFailed;
 	/***/ public String signatureVerificationError;
 	/***/ public String signatureVerificationUnavailable;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java
index d6c5a81454..f52025fd6b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java
@@ -82,7 +82,9 @@ public enum ShutdownHook {
 			}).get(30L, TimeUnit.SECONDS);
 		} catch (RejectedExecutionException | InterruptedException
 				| ExecutionException | TimeoutException e) {
-			LOG.error(JGitText.get().shutdownCleanupFailed, e);
+			// message isn't localized since during shutdown there's no
+			// guarantee which classes are still loaded
+			LOG.error("Cleanup during JVM shutdown failed", e); //$NON-NLS-1$
 		}
 		runner.shutdownNow();
 	}
-- 
cgit v1.2.3