unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
@ 2022-12-08 13:46 Jostein Kjønigsen
  0 siblings, 0 replies; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-08 13:46 UTC (permalink / raw)
  To: Ergus via Emacs development discussions.

[-- Attachment #1: Type: text/plain, Size: 51598 bytes --]

Hey everyone.

I'm testing out the latest emacs-29 commits daily to validate that my C# 
and TypeScript development environment works as it should (or as 
expected) using the new built-in major-modes based on tree-sitter.

I've found a few issues related to "my" modes, and I've either reported 
bugs for those or supplied patches. I consider those aspects to be under 
fairly good control.

I've quite recently encountered one regression though, which is breaking 
my setup, and I believe it's in a part of Emacs which I'm not deeply 
familiar with.

There seems to be some changes in (make-process?) which causes an error 
when trying to launch an external process used as a language-server. 
What's annoying is that it doesn't seem to happen for all make-process 
invocations, nor for all external processes.

When it fails, we get a stack-trace like this:

Debugger entered--Lisp error: (permission-denied"Doing vfork"  "Permission denied")
   make-process(:name "omnisharp" :connection-type pipe :buffer "*omnisharp*" :coding no-conversion :command ("/home/jostein/.emacs.d/.cache/lsp/omnisharp-roslyn..." "-lsp") :filter (closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ... ... ...) :test? (closure ... nil ...)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* ((body-sep-pos ...)) (if body-sep-pos (progn ... ... ... ...) (progn ... ...))) (let* ((chunk-length ...) (left-to-receive ...) (this-body ...) (body-bytes ...)) (setq body (cons this-body body)) (setq body-received (+ body-received body-bytes)) (if (>= chunk-length left-to-receive) (progn ...))))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) :sentinel #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) :stderr "*omnisharp::stderr*" :noquery t)
   (let*  ((stderr-buf (format  "*%s::stderr*"  process-name)) (default-directory  (lsp--default-directory-for-connection)) (proc (make-process  :name  process-name:connection-type  'pipe  :buffer  (format  "*%s*"  process-name):coding  'no-conversion  :command  final-command:filter  filter:sentinel  sentinel:stderr  stderr-buf:noquery  t))) (set-process-query-on-exit-flag  procnil) (set-process-query-on-exit-flag  (get-buffer-process  stderr-buf)nil) (save-current-buffer  (set-buffer  (get-buffer  stderr-buf)) (special-mode)) (cons  proc proc))
   (let  ((final-command (lsp-resolve-final-function command)) (process-name  (generate-new-buffer-name  name)) (process-environment  (lsp--compute-process-environment environment-fn))) (let*  ((stderr-buf (format  "*%s::stderr*"  process-name)) (default-directory  (lsp--default-directory-for-connection)) (proc (make-process  :name  process-name:connection-type  'pipe  :buffer  (format  "*%s*"  process-name):coding  'no-conversion  :command  final-command:filter  filter:sentinel  sentinel:stderr  stderr-buf:noquery  t))) (set-process-query-on-exit-flag  procnil) (set-process-query-on-exit-flag  (get-buffer-process  stderr-buf)nil) (save-current-buffer  (set-buffer  (get-buffer  stderr-buf)) (special-mode)) (cons  proc proc)))
   (if  (functionp  'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let  ((final-command (lsp-resolve-final-function command)) (process-name  (generate-new-buffer-name  name)) (process-environment  (lsp--compute-process-environment environment-fn))) (let*  ((stderr-buf (format  "*%s::stderr*"  process-name)) (default-directory  (lsp--default-directory-for-connection)) (proc (make-process  :name  process-name:connection-type  'pipe  :buffer  (format  "*%s*"  process-name):coding  'no-conversion  :command  final-command:filter  filter:sentinel  sentinel:stderr  stderr-buf:noquery  t))) (set-process-query-on-exit-flag  procnil) (set-process-query-on-exit-flag  (get-buffer-process  stderr-buf)nil) (save-current-buffer  (set-buffer  (get-buffer  stderr-buf)) (special-mode)) (cons  proc proc))))
   (closure ((command closure (t) nil (append (list (lsp-csharp--language-server-path) "-lsp") (if lsp-csharp-solution-file (progn (list "-s" ...)))))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf (format "*%s::stderr*" process-name)) (default-directory (lsp--default-directory-for-connection)) (proc (make-process :name process-name :connection-type ... :buffer ... :coding ... :command final-command :filter filter :sentinel sentinel :stderr stderr-buf :noquery t))) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (save-current-buffer (set-buffer (get-buffer stderr-buf)) (special-mode)) (cons proc proc)))))((closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect ... :test? ...) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* (...) (if body-sep-pos ... ...)) (let* (... ... ... ...) (setq body ...) (setq body-received ...) (if ... ...)))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) "omnisharp" nil #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure ... nil ...)) (filter sentinel name environment-fn workspace) (if (functionp ...) (lsp-json-rpc-connection workspace ...) (let ... ...))) :test? (closure (t) nil (let* (...) (if binary ... nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))
   funcall((closure ((command closure (t) nil (append (list (lsp-csharp--language-server-path) "-lsp") (if lsp-csharp-solution-file (progn ...))))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command (lsp-resolve-final-function command)) (process-name (generate-new-buffer-name name)) (process-environment (lsp--compute-process-environment environment-fn))) (let* ((stderr-buf ...) (default-directory ...) (proc ...)) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag (get-buffer-process stderr-buf) nil) (save-current-buffer (set-buffer ...) (special-mode)) (cons proc proc))))) (closure ((chunk) (body) (body-length) (leftovers) (body-received . 0) (workspace . #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect ... :test? ...) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))) (_proc input) (setq chunk (if (s-blank? leftovers) input (concat leftovers input))) (let (messages) (while (not (s-blank? chunk)) (if (not body-length) (let* (...) (if body-sep-pos ... ...)) (let* (... ... ... ...) (setq body ...) (setq body-received ...) (if ... ...)))) (mapc #'(lambda (msg) (lsp--parser-on-message msg workspace)) (nreverse messages)))) #f(compiled-function (&rest args2) #<bytecode -0xada18c6b4c312f0>) "omnisharp" nil #s(lsp--workspace :ewoc nil :server-capabilities nil :registered-server-capabilities nil :root "/home/jostein/build/testy" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure ... nil ...)) (filter sentinel name environment-fn workspace) (if (functionp ...) (lsp-json-rpc-connection workspace ...) (let ... ...))) :test? (closure (t) nil (let* (...) (if binary ... nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) :host-root nil :proc nil :cmd-proc nil :buffers (#<buffer test.cs<testy>>) :semantic-tokens-faces nil :semantic-tokens-modifier-faces nil :extra-client-capabilities nil :status starting :metadata #<hash-table equal 0/65 0x1573d64a4c53> :watches #<hash-table equal 0/65 0x1573d6420d03> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 0/65 0x1573d5610d63> :work-done-tokens #<hash-table equal 0/65 0x1573d5610d83>))
   (let* ((default-directory root) (client (copy-lsp--client client-template)) (workspace (make-lsp--workspace :root root :client client :status 'starting :buffers (list (lsp-current-buffer)) :host-root (file-remote-p root))) (server-id (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 15))) (environment-fn (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 27))) (new-connection (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 3))) (custom-capabilities (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 19))) (multi-root (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 16))) (initialized-fn (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (aref client 22))) (--dash-source-471-- (funcall (or (plist-get new-connection :connect) (user-error "Client %s is configured incorrectly" client)) (lsp--create-filter-function workspace) (apply-partially #'lsp--process-sentinel workspace) (format "%s" server-id) environment-fn workspace)) (proc (car-safe (prog1 --dash-source-471-- (setq --dash-source-471-- (cdr --dash-source-471--))))) (cmd-proc --dash-source-471--) (workspace-folders (gethash server-id (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... session))) (aref session 3))))) (progn (progn (or (progn (and (memq (type-of workspace) cl-struct-lsp--workspace-tags) t)) (signal 'wrong-type-argument (list 'lsp--workspace workspace))) (let* ((v workspace)) (aset v 7 proc))) (progn (or (progn (and (memq (type-of workspace) cl-struct-lsp--workspace-tags) t)) (signal 'wrong-type-argument (list 'lsp--workspace workspace))) (let* ((v workspace)) (aset v 8 cmd-proc)))) (mapc #'(lambda (project-root) (let* ((a1 workspace) (v project-root) (v (progn ... ...))) (puthash v (let* (...) (if ... vlist ...)) v))) (or workspace-folders (list root))) (let ((lsp--cur-workspace workspace)) (run-hooks 'lsp-before-initialize-hook) (lsp-request-async "initialize" (append (list :processId (if (file-remote-p (buffer-file-name)) nil (emacs-pid)) :rootPath (lsp-file-local-name (expand-file-name root)) :clientInfo (list :name "emacs" :version (emacs-version)) :rootUri (lsp--path-to-uri root) :capabilities (lsp--client-capabilities custom-capabilities) :initializationOptions initialization-options :workDoneToken "1") (if lsp-server-trace (progn (list :trace lsp-server-trace))) (if multi-root (progn (list :workspaceFolders (apply ... ...))))) #'(lambda (input0) (let* ((capabilities ...)) (if (equal ... server-id) (progn ...)) (progn (progn ... ...) (progn ... ...)) (let (...) (lsp-notify "initialized" lsp--empty-ht)) (if initialized-fn (progn ...)) (progn (or ... ...) (let* ... ...)) (mapc #'... (progn ... ...)) (let (...) (run-hooks ...)) (lsp--info "%s initialized successfully in folders: %s" (lsp--workspace-print workspace) (lsp-workspace-folders workspace)))) :mode 'detached)) workspace)
   lsp--start-workspace(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) "/home/jostein/build/testy" nil)
   (unwind-protect  (lsp--start-workspace session client project-root (lsp--create-initialization-options session client)) (lsp--spinner-stop))
   lsp--start-connection(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil) "/home/jostein/build/testy")
   (or  (lsp--find-workspace session client project-root) (if  ignore-multi-foldernil  (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))
   (closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root)))(#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append (list ... "-lsp") (if lsp-csharp-solution-file ...)))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let ((final-command ...) (process-name ...) (process-environment ...)) (let* (... ... ...) (set-process-query-on-exit-flag proc nil) (set-process-query-on-exit-flag ... nil) (save-current-buffer ... ...) (cons proc proc))))) :test? (closure (t) nil (let* ((binary (and t ...))) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil))
   mapcar((closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)))
   -map((closure ((ignore-multi-folder) (project-root . "/home/jostein/build/testy") (session . #s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>))) (client) (or (lsp--find-workspace session client project-root) (if ignore-multi-folder nil (lsp--find-multiroot-workspace session client project-root)) (lsp--start-connection session client project-root))) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)))
   lsp--ensure-lsp-servers(#s(lsp-session :folders ("/home/jostein/build/testy" "/home/jostein/build/emacs" "/home/jostein/build/gmailjs-node-boilerplate" "/home/jostein/build/ResourceWeb" "/home/jostein/build/WebTools.Win" "/home/jostein/build/LogAnalytics" "/home/jostein/build/HugoAI" "/home/jostein/build/tree-sitter-modes" "/home/jostein/build/csharp-mode" "/home/jostein/build/tree-sitter-c-sharp" "/home/jostein/build/coverlet" "/home/jostein/build/DownloadService" "/home/jostein/build/MacLink" "/home/jostein/build/workspacer" "/home/jostein/build/typescript.el" "/home/jostein/build/FeatureToggles" "/home/jostein/build/AccessGateway" "/home/jostein/build/TFS-CRM" "/home/jostein/build/ZeroFootprintDocuments" "/home/jostein/build/gmail.js" "/home/jostein/build/GmailLink" "/home/jostein/build/SOFO" "/home/jostein/build/VideoMeetings" "/home/jostein/build/audiophile" "/home/jostein/build/OutlookAddIn" "/home/jostein/build/TFS-Seven" "/home/jostein/build/aoc2019" "/home/jostein/build/TFS-BuildTools" "/home/jostein/build/brouter") :folders-blacklist ("/home/jostein/Downloads/") :server-id->folders #<hash-table equal 2/65 0x1573d5d8226b> :folder->servers #<hash-table equal 0/65 0x1573d5d829ef> :metadata #<hash-table equal 0/65 0x1573d5d84a81>) (#s(lsp--client :language-id nil :add-on? nil :new-connection (:connect (closure ((command closure (t) nil (append ... ...))) (filter sentinel name environment-fn workspace) (if (functionp 'json-rpc-connection) (lsp-json-rpc-connection workspace (lsp-resolve-final-function command)) (let (... ... ...) (let* ... ... ... ... ...)))) :test? (closure (t) nil (let* ((binary ...)) (if binary (f-exists? binary) nil)))) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 12/65 0x1573d633acc5> :request-handlers #<hash-table equal 0/65 0x1573d5657715> :response-handlers #<hash-table eql 0/65 0x1573d61e7f55> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x1573d64ba0d5> :action-handlers #<hash-table equal 1/65 0x1573d633aca5> :major-modes (csharp-mode csharp-tree-sitter-mode csharp-ts-mode) :activation-fn nil :priority -1 :server-id omnisharp :multi-root nil :initialization-options nil :semantic-tokens-faces-overrides nil :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn nil :remote? nil :completion-in-comments? nil :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn nil :async-request-handlers #<hash-table equal 0/65 0x1573d61e7f75> :download-server-fn lsp-csharp--omnisharp-download-server :download-in-progress? nil :buffers nil :synchronize-sections nil)) "/home/jostein/build/testy" nil)
   (progn  (if  (-contains? (progn  (or  (progn  (and  (memq  ... cl-struct-lsp-session-tags)t)) (signal  'wrong-type-argument  (list  'lsp-session  session))) (aref  session1)) project-root)nil  (progn  (or  (progn  (and  (memq  (type-of  session) cl-struct-lsp-session-tags)t)) (signal  'wrong-type-argument  (list  'lsp-session  session))) (let*  ((v session)) (aset  v1  (let*  ((vlist ...)) (if  (memql  project-root vlist) vlist (cons  project-root vlist)))))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder))
   (if  project-root (progn  (if  (-contains? (progn  (or  (progn  (and  ...t)) (signal  'wrong-type-argument  (list  ... session))) (aref  session1)) project-root)nil  (progn  (or  (progn  (and  (memq  ... cl-struct-lsp-session-tags)t)) (signal  'wrong-type-argument  (list  'lsp-session  session))) (let*  ((v session)) (aset  v1  (let*  (...) (if  ... vlist ...))))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil)
   (let  ((project-root (let  ((result (let  (...) (if  result ...)))) (if  result (progn  (lsp-f-canonical result)))))) (if  project-root (progn  (if  (-contains? (progn  (or  (progn  ...) (signal  ... ...)) (aref  session1)) project-root)nil  (progn  (or  (progn  (and  ...t)) (signal  'wrong-type-argument  (list  ... session))) (let*  ((v session)) (aset  v1  (let*  ... ...)))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil))
   (if  clients (let  ((project-root (let  ((result (let  ... ...))) (if  result (progn  (lsp-f-canonical result)))))) (if  project-root (progn  (if  (-contains? (progn  (or  ... ...) (aref  session1)) project-root)nil  (progn  (or  (progn  ...) (signal  ... ...)) (let*  (...) (aset  v1  ...))) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)."  major-mode)nil)
   (let  ((clients (if  ask-for-client (list  (lsp--completing-read"Select server to start: "  (ht-values lsp-clients) (-compose'symbol-name  'lsp--client-server-id)nil  t)) (lsp--find-clients)))) (if  clients (let  ((project-root (let  ((result ...)) (if  result (progn  ...))))) (if  project-root (progn  (if  (-contains? (progn  ... ...) project-root)nil  (progn  (or  ... ...) (let*  ... ...)) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)."  major-mode)nil))
   (let*  ((session input0)) (let  ((clients (if  ask-for-client (list  (lsp--completing-read"Select server to start: "  (ht-values lsp-clients) (-compose ... ...)nil  t)) (lsp--find-clients)))) (if  clients (let  ((project-root (let  (...) (if  result ...)))) (if  project-root (progn  (if  (-contains? ... project-root)nil  (progn  ... ...) (lsp--persist-session session)) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)."  major-mode)nil)))
   (let  ((input0 (lsp-session))) (let*  ((session input0)) (let  ((clients (if  ask-for-client (list  (lsp--completing-read"Select server to start: "  ... ...nil  t)) (lsp--find-clients)))) (if  clients (let  ((project-root (let  ... ...))) (if  project-root (progn  (if  ...nil  ... ...) (lsp--ensure-lsp-servers session clients project-root ignore-multi-folder)) (lsp--warn"%s not in project or it is blacklisted."  (buffer-name))nil)) (lsp--warn"No LSP server for %s(check *lsp-log*)."  major-mode)nil))))
   lsp--try-project-root-workspaces(nil  nil)
   (or  (and  (not  (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal  arg '(4)) (and  arg (not  (equal  arg1)))))
   (setq  lsp--buffer-workspaces (or  (and  (not  (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal  arg '(4)) (and  arg (not  (equal  arg1))))))
   (if  (setq  lsp--buffer-workspaces (or  (and  (not  (lsp-find-session-folder (lsp-session) (buffer-file-name))) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal  arg '(4)) (and  arg (not  (equal  arg1)))))) (progn  (lsp-mode1) (if  lsp-auto-configure (progn  (lsp--auto-configure))) (setq  lsp-buffer-uri (lsp--buffer-uri)) (lsp--info"Connected to %s."  (apply  'concat  (mapcar  #'(lambda  (it) (ignore  it) (format  "[%s %s]"  ... ...)) lsp--buffer-workspaces)))))
   (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not (lsp-find-session-folder ... ...)) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg '...) (and arg (not ...))))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply 'concat (mapcar #'... lsp--buffer-workspaces)))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...)))) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not #'lsp--client-download-in-progress?)))) (let ((client (lsp--completing-read (concat "Unable to find installed server supporting this fi..." "The following servers could be installed automatic...") clients (-compose #'symbol-name #'lsp--client-server-id) nil t))) (progn (or (progn (and (memq ... cl-struct-lsp--client-tags) t)) (signal 'wrong-type-argument (list 'lsp--client client))) (let* ((v client)) (aset v 32 (let* (... ...) (if ... vlist ...))))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-server-fn (-not (-const lsp-enable-suggest-server-download)) (-not #'lsp--server-binary-present?))))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda (client) (symbol-name (progn ... ...))) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-not #'lsp--server-binary-present?))))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda (client) (symbol-name (progn ... ...))) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode)))
   (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and (not ...) (lsp--try-open-in-library-workspace)) (lsp--try-project-root-workspaces (equal arg ...) (and arg ...)))) (progn (lsp-mode 1) (if lsp-auto-configure (progn (lsp--auto-configure))) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply 'concat (mapcar ... lsp--buffer-workspaces)))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn (or ... ...) (let* ... ...))) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not #'lsp--client-download-in-progress?)))) (let ((client (lsp--completing-read (concat "Unable to find installed server supporting this fi..." "The following servers could be installed automatic...") clients (-compose ... ...) nil t))) (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... client))) (let* ((v client)) (aset v 32 (let* ... ...)))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-server-fn (-not ...) (-not ...))))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda (client) (symbol-name ...)) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-not ...))))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda (client) (symbol-name ...)) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode))))
   (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or (and ... ...) (lsp--try-project-root-workspaces ... ...))) (progn (lsp-mode 1) (if lsp-auto-configure (progn ...)) (setq lsp-buffer-uri (lsp--buffer-uri)) (lsp--info "Connected to %s." (apply ... ...))))) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--client-download-in-progress?))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda (client) (progn ... ...)) clients)) ((setq clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? (-const lsp-enable-suggest-server-download) #'lsp--client-download-server-fn (-not ...)))) (let ((client (lsp--completing-read ... clients ... nil t))) (progn (or (progn ...) (signal ... ...)) (let* (...) (aset v 32 ...))) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn ... ... ... ...)))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'(lambda ... ...) clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients (-andfn ... ...)))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'(lambda ... ...) clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode)))))
   (if (buffer-file-name) (progn (let (clients (matching-clients (lsp--filter-clients (-andfn #'lsp--supports-buffer? #'lsp--server-binary-present?)))) (cond (matching-clients (if (setq lsp--buffer-workspaces (or ... ...)) (progn (lsp-mode 1) (if lsp-auto-configure ...) (setq lsp-buffer-uri ...) (lsp--info "Connected to %s." ...)))) ((setq clients (lsp--filter-clients (-andfn ... ...))) (lsp--info "There are language server(%s) installation in prog..." (-map #'lsp--client-server-id clients)) (seq-do #'(lambda ... ...) clients)) ((setq clients (lsp--filter-clients (-andfn ... ... ... ...))) (let ((client ...)) (progn (or ... ...) (let* ... ...)) (lsp--install-server-internal client))) ((not lsp-warn-no-matched-clients) nil) ((setq clients (if matching-clients nil (lsp--filter-clients ...))) (lsp--warn "The following servers support current file but aut..." (mapconcat #'... clients " "))) ((setq clients (if matching-clients nil (lsp--filter-clients ...))) (lsp--warn "The following servers support current file but do ..." (mapconcat #'... clients " "))) ((not (lsp--filter-clients #'lsp--supports-buffer?)) (lsp--error "There are no language servers supporting current m..." major-mode major-mode major-mode))))))
   lsp()
   run-hooks(change-major-mode-after-body-hook  prog-mode-hook c-mode-common-hook csharp-mode-hook)
   apply(run-hooks  (change-major-mode-after-body-hook  prog-mode-hook c-mode-common-hook csharp-mode-hook))
   run-mode-hooks(csharp-mode-hook)
   csharp-mode()
   set-auto-mode-0(csharp-modenil)
   set-auto-mode--apply-alist((("\\.hsc\\'" . haskell-mode) ("\\.l[gh]s\\'" . haskell-literate-mode) ("\\.hsig\\'" . haskell-mode) ("\\.[gh]s\\'" . haskell-mode) ("\\.cabal\\'\\|/cabal\\.project\\|/\\.cabal/config\\'" . haskell-cabal-mode) ("\\.chs\\'" . haskell-c2hs-mode) ("\\.ghci\\'" . ghci-script-mode) ("\\.dump-simpl\\'" . ghc-core-mode) ("\\.hcr\\'" . ghc-core-mode) ("\\.ts\\'" . typescript-mode) ("\\(?:build\\|profile\\)\\.boot\\'" . clojure-mode) ("\\.cljs\\'" . clojurescript-mode) ("\\.cljc\\'" . clojurec-mode) ("\\.\\(clj\\|cljd\\|dtm\\|edn\\)\\'" . clojure-mode) ("\\.\\(scala\\|sbt\\|worksheet\\.sc\\)\\'" . scala-mode) ("\\.\\(?:php[s345]?\\|phtml\\)\\'" . php-mode-maybe) ("\\.\\(?:php\\.inc\\|stub\\)\\'" . php-mode) ("/\\.php_cs\\(?:\\.dist\\)?\\'" . php-mode) ("\\.rs\\'" . rust-mode) ("\\.dart\\'" . dart-mode) ("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode) ("\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'" nil epa-file) ("\\.elc\\'" . elisp-byte-code-mode) ("\\.zst\\'" nil jka-compr) ("\\.dz\\'" nil jka-compr) ("\\.xz\\'" nil jka-compr) ("\\.lzma\\'" nil jka-compr) ("\\.lz\\'" nil jka-compr) ("\\.g?z\\'" nil jka-compr) ("\\.bz2\\'" nil jka-compr) ("\\.Z\\'" nil jka-compr) ("\\.vr[hi]?\\'" . vera-mode) ("\\.tsx\\'" . tsx-ts-mode) ("\\.ts\\'" . typescript-ts-mode) ("\\(?:\\.\\(?:rbw?\\|ru\\|rake\\|thor\\|jbuilder\\|rabl\\|ge..." . ruby-mode) ("\\.re?st\\'" . rst-mode) ("\\.py[iw]?\\'" . python-mode) ("\\.m\\'" . octave-maybe-mode) ("\\.less\\'" . less-css-mode) ("\\.scss\\'" . scss-mode) ("\\.cs\\'" . csharp-mode) ("\\.awk\\'" . awk-mode) ("\\.\\(u?lpc\\|pike\\|pmod\\(\\.in\\)?\\)\\'" . pike-mode) ("\\.idl\\'" . idl-mode) ("\\.java\\'" . java-mode) ("\\.m\\'" . objc-mode) ("\\.ii\\'" . c++-mode) ("\\.i\\'" . c-mode) ("\\.lex\\'" . c-mode) ("\\.y\\(acc\\)?\\'" . c-mode) ...) nil nil)
   set-auto-mode()
   normal-mode(t)
   after-find-file(t  t)
   find-file-noselect-1(#<buffer  test.cs<testy> >  "~/build/testy/test.cs"  nil  nil  "~/build/testy/test.cs"  nil)
   find-file-noselect("~/build/testy/test.cs"  nil  nil  t)
   find-file("~/build/testy/test.cs"  t)
   funcall-interactively(find-file  "~/build/testy/test.cs"  t)
   call-interactively(find-file  nil  nil)
   command-execute(find-file)

For those interested, I've made a detailed error report for it in the 
lsp-mode issue-tracker:

https://github.com/emacs-lsp/lsp-mode/issues/3842

Does anyone know of any recent changes which could have caused this? Or 
should I register this as a separate bug on debbugs?

-- 
*Jostein Kjønigsen*
jostein.kjønigsen.no <https://jostein.kjønigsen.no>
jostein@kjonigsen.net - jostein@gmail.com

[-- Attachment #2: Type: text/html, Size: 101308 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
       [not found] <f41f3806-1d3b-fbd4-2e2c-905ffe62e2e5@riseup.net>
@ 2022-12-09 18:03 ` Jostein Kjønigsen
  2022-12-09 21:27   ` Jostein Kjønigsen
  0 siblings, 1 reply; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-09 18:03 UTC (permalink / raw)
  To: THall, Ergus via Emacs development discussions.

I've been testing a little more and this is clearly something which 
happens with a very specific set of launch parameters.

Case in point: lsp-mode works fine for all other language-protocol 
server I use. Only omnisharp fails. But if I try to use omnisharp via 
eglot, then it launches fine.

That is, so far this is the only code I know which can reproduce this error:

https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362

--
Jostein

On 09.12.2022 17:09, THall wrote:
> I am running emacs 30 from master as of today I still get this error. 
> csharp-mode is now built in, and when lsp-mode attempts to start the 
> omnisharp server the same vfork permission denied error occurs with 
> make-process.
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
  2022-12-09 18:03 ` Jostein Kjønigsen
@ 2022-12-09 21:27   ` Jostein Kjønigsen
  2022-12-16 22:24     ` Jostein Kjønigsen
  0 siblings, 1 reply; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-09 21:27 UTC (permalink / raw)
  To: THall, Ergus via Emacs development discussions.

On 09.12.2022 19:03, Jostein Kjønigsen wrote:
> I've been testing a little more and this is clearly something which 
> happens with a very specific set of launch parameters.
>
> Case in point: lsp-mode works fine for all other language-protocol 
> server I use. Only omnisharp fails. But if I try to use omnisharp via 
> eglot, then it launches fine.
>
> That is, so far this is the only code I know which can reproduce this 
> error:
>
> https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362 
>
>
> -- 
> Jostein
>
I've just tested moving my setup to eglot, and ran into issues getting 
typescript-language-server working, but it complained about not being 
able to find tsserver.

As a means to try to resolve those, I created a shell-script in 
$HOME/bin, which looks pretty much like this:

#!/bin/sh
cd server-dir
./typescript-language-server $*

When launching eglot and using this as a language-server instead, I get 
the same error. Activating edbug-on-error does not trigger the emacs 
debugger, but still fails the same way.


--
Jostein




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied")
  2022-12-09 21:27   ` Jostein Kjønigsen
@ 2022-12-16 22:24     ` Jostein Kjønigsen
  0 siblings, 0 replies; 4+ messages in thread
From: Jostein Kjønigsen @ 2022-12-16 22:24 UTC (permalink / raw)
  To: jostein, Ergus via Emacs development discussions., THall

Just as a public FYI, this was an error in lsp-mode and not a fault/regression in Emacs. 

Please consider this case closed. 

—
Jostein Kjønigsen
https://jostein.kjønigsen.net

> On 9 Dec 2022, at 22:33, Jostein Kjønigsen <jostein@secure.kjonigsen.net> wrote:
> 
> On 09.12.2022 19:03, Jostein Kjønigsen wrote:
>> I've been testing a little more and this is clearly something which happens with a very specific set of launch parameters.
>> 
>> Case in point: lsp-mode works fine for all other language-protocol server I use. Only omnisharp fails. But if I try to use omnisharp via eglot, then it launches fine.
>> 
>> That is, so far this is the only code I know which can reproduce this error:
>> 
>> https://github.com/emacs-lsp/lsp-mode/blob/e56da7199c09e44f4b5feaf07691d467c01da376/clients/lsp-csharp.el#L335-L362 
>> 
>> -- 
>> Jostein
>> 
> I've just tested moving my setup to eglot, and ran into issues getting typescript-language-server working, but it complained about not being able to find tsserver.
> 
> As a means to try to resolve those, I created a shell-script in $HOME/bin, which looks pretty much like this:
> 
> #!/bin/sh
> cd server-dir
> ./typescript-language-server $*
> 
> When launching eglot and using this as a language-server instead, I get the same error. Activating edbug-on-error does not trigger the emacs debugger, but still fails the same way.
> 
> 
> --
> Jostein
> 




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-12-16 22:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-08 13:46 emacs-29: error creating external process - (permission-denied "Doing vfork" "Permission denied") Jostein Kjønigsen
     [not found] <f41f3806-1d3b-fbd4-2e2c-905ffe62e2e5@riseup.net>
2022-12-09 18:03 ` Jostein Kjønigsen
2022-12-09 21:27   ` Jostein Kjønigsen
2022-12-16 22:24     ` Jostein Kjønigsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).