This is an automated email from the ASF dual-hosted git repository.
sdedic pushed a commit to branch vsnetbeans_2499
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/vsnetbeans_2499 by this push:
new 43ceb60ed8 Disable SecurityManager [compat:jdk19-24]. Avoid repeated
starts on failure
43ceb60ed8 is described below
commit 43ceb60ed8c30c4c18de617406e194486ef130c4
Author: Svata Dedic <[email protected]>
AuthorDate: Thu Jan 16 13:36:58 2025 +0100
Disable SecurityManager [compat:jdk19-24]. Avoid repeated starts on failure
---
java/java.lsp.server/script/etc/nbcode.conf | 2 +-
java/java.lsp.server/vscode/src/extension.ts | 18 +++++++++++++++---
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/java/java.lsp.server/script/etc/nbcode.conf
b/java/java.lsp.server/script/etc/nbcode.conf
index 879725aa40..699e4c9a14 100644
--- a/java/java.lsp.server/script/etc/nbcode.conf
+++ b/java/java.lsp.server/script/etc/nbcode.conf
@@ -58,7 +58,7 @@ default_cachedir="${DEFAULT_CACHEDIR_ROOT}/dev"
# options used by the launcher by default, can be overridden by explicit
# command line switches
-default_options="--nogui --nosplash --branding nbcode -J-Xmx1G
-J-XX:+UseParallelGC -J-XX:GCTimeRatio=4 -J-XX:AdaptiveSizePolicyWeight=90
-J-Djava.awt.headless=true -J--add-opens=java.base/java.net=ALL-UNNAMED
-J--add-opens=java.base/java.lang.ref=ALL-UNNAMED
-J--add-opens=java.base/java.lang=ALL-UNNAMED
-J--add-opens=java.base/java.security=ALL-UNNAMED
-J--add-opens=java.base/java.util=ALL-UNNAMED
-J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
-J--add-opens=java.desktop/j [...]
+default_options="--nogui --nosplash --branding nbcode -J-Xmx1G
-J-XX:+UseParallelGC -J-XX:GCTimeRatio=4 -J-XX:AdaptiveSizePolicyWeight=90
-J-Djava.awt.headless=true -J-DTopSecurityManager.disable=true
-J--add-opens=java.base/java.net=ALL-UNNAMED
-J--add-opens=java.base/java.lang.ref=ALL-UNNAMED
-J--add-opens=java.base/java.lang=ALL-UNNAMED
-J--add-opens=java.base/java.security=ALL-UNNAMED
-J--add-opens=java.base/java.util=ALL-UNNAMED
-J--add-opens=java.desktop/javax.swing.plaf.basic=ALL- [...]
# for development purposes you may wish to append:
-J-Dnetbeans.logger.console=true -J-ea
diff --git a/java/java.lsp.server/vscode/src/extension.ts
b/java/java.lsp.server/vscode/src/extension.ts
index 3eb44255a9..f5a88b2b80 100644
--- a/java/java.lsp.server/vscode/src/extension.ts
+++ b/java/java.lsp.server/vscode/src/extension.ts
@@ -1333,6 +1333,10 @@ function getProjectJDKHome() : string {
function doActivateWithJDK(promise: Promise<NbLanguageClient>, specifiedJDK:
string | null, context: ExtensionContext, log : vscode.OutputChannel,
notifyKill: boolean,
setClient : [(c : NbLanguageClient) => void, (err : any) => void]
): void {
+ // Records if the server successfully started before close/error.
+ let started : boolean = false;
+ // Error reported by server started from this function execution.
+ let startupError : string = '';
maintenance = null;
let restartWithJDKLater : ((time: number, n: boolean) => void) = function
restartLater(time: number, n : boolean) {
handleLog(log, `Restart of Apache Language Server requested in ${(time
/ 1000)} s.`);
@@ -1508,13 +1512,20 @@ function doActivateWithJDK(promise:
Promise<NbLanguageClient>, specifiedJDK: str
},
errorHandler: {
error : function(error: Error, _message: Message, count: number):
ErrorHandlerResult {
- return { action: ErrorAction.Continue, message: error.message
};
+ startupError = error.message;
+ return {
+ action: started ? ErrorAction.Continue :
ErrorAction.Shutdown,
+ message: error.message
+ };
},
closed : function(): CloseHandlerResult {
handleLog(log, "Connection to Apache NetBeans Language Server
closed.");
- // restart only if the _current_ client has been closed.
- if (client === promise) {
+ // restart only if the _current_ client has been closed AND
the server at least booted.
+ if (started && client === promise) {
restartWithJDKLater(10000, false);
+ } else {
+ // report a final failure upwards.
+ setClient[1](startupError);
}
return { action: CloseAction.DoNotRestart };
}
@@ -1530,6 +1541,7 @@ function doActivateWithJDK(promise:
Promise<NbLanguageClient>, specifiedJDK: str
);
handleLog(log, 'Language Client: Starting');
c.start().then(() => {
+ started = true;
if (enableJava) {
if (testAdapter) {
// we need to create it again anyway, so it load()s the
content.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists