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

Reply via email to