Replies: 7 comments 4 replies
-
Ack, but M-x eglot-upgrade-eglot and consult the manual for how to report
this issue in a way that we can reproduce and analyse and help you. Thanks
…On Wed, Apr 10, 2024, 17:55 KoltPenny ***@***.***> wrote:
Hey,
I'm trying to get eglot to connect to a remote server (which previously
worked fine) but today I updated Emacs from 29.1 to 29.3 and it suddenly
started refusing to connect.
The remote server showed correct connections by netcat, so I know it's
working.
When given a path to the executable, it times out, and when given an
address and port, it fails to connect, returning a 127 exit code and a
jsonrpc-error.
The only thing I did was fresh install Emacs and install go-mode manually,
but I don't think that has to do with this.
Any insights are very much appreciated.
—
Reply to this email directly, view it on GitHub
<#1388>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC6PQZIEJO5NJ437L6ZSBLY4VVIBAVCNFSM6AAAAABGAZ4RLCVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGQ4DQMJQGQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
On Wed, Apr 10, 2024, 18:59 KoltPenny ***@***.***> wrote:
Got it.
No disrespect intended, but did you? I was taking about this guide:
https://www.gnu.org/software/emacs/manual/html_node/eglot/Reporting-bugs.html
Without such information, it is hard to know exactly what happened to you,
and thus hard to help you.
I understand it's a lot of work, but it's at least worth reading.
Anyway, maybe you get lucky just by providing these pieces of information:
how exactly do you "give it" a host and a port? Is "it" M-x eglot? Can you
go back to Emacs 29.1 where it works and report the same events buffer
contents? Thanks
… |
Beta Was this translation helpful? Give feedback.
-
Sorry for some reason I didn't catch that last part. I was kinda busy. I will re-add what I posted here plus the missing information. Got it.
When trying to connect to
Note that, when prompted about either running an LSP or providing a ":", I'm providing the prompt with a host and port like I used to do before updating Emacs, when it was working, and now this is the error output. This is the debug information for the aforementioned procedure: Debugger entered--Lisp error: (error "Process EGLOT ([REDACTED] /(go-mode go-dot-mod-mod...")
process-send-string(#<process EGLOT ([REDACTED] /(go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode))> "Content-Length: 2449\15\n\15\n{\"jsonrpc\":\"2.0\",\"id\":1,\"m...")
#f(compiled-function (arg1 &rest rest) "Send MESSAGE, a JSON object, to CONNECTION." #<bytecode 0xf9c445328d51d38>)(#<eglot-lsp-server eglot-lsp-server-df0d50> :id 1 :method :initialize :params (:processId nil :rootPath "[REDACTED] " :rootUri "[REDACTED] " :initializationOptions #<hash-table eql 0/1 0x1d8f1c3> :capabilities (:workspace (:applyEdit t :executeCommand (:dynamicRegistration :json-false) :workspaceEdit (:documentChanges t) :didChangeWatchedFiles (:dynamicRegistration :json-false) :symbol (:dynamicRegistration :json-false) :configuration t :workspaceFolders t) :textDocument (:synchronization (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t) :completion (:dynamicRegistration :json-false :completionItem (:snippetSupport :json-false :deprecatedSupport t :resolveSupport (:properties ["documentation" "details" "additionalTextEdits"]) :tagSupport (:valueSet [1])) :contextSupport t) :hover (:dynamicRegistration :json-false :contentFormat ["plaintext"]) :signatureHelp (:dynamicRegistration :json-false :signatureInformation (:parameterInformation (:labelOffsetSupport t) :activeParameterSupport t)) :references (:dynamicRegistration :json-false) :definition (:dynamicRegistration :json-false :linkSupport t) :declaration (:dynamicRegistration :json-false :linkSupport t) :implementation (:dynamicRegistration :json-false :linkSupport t) :typeDefinition (:dynamicRegistration :json-false :linkSupport t) :documentSymbol (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind (:valueSet [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26])) :documentHighlight (:dynamicRegistration :json-false) :codeAction (:dynamicRegistration :json-false :codeActionLiteralSupport (:codeActionKind (:valueSet ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])) :isPreferredSupport t) :formatting (:dynamicRegistration :json-false) :rangeFormatting (:dynamicRegistration :json-false) :rename (:dynamicRegistration :json-false) :inlayHint (:dynamicRegistration :json-false) :publishDiagnostics (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport (:valueSet [1 2]))) :window (:workDoneProgress t) :general (:positionEncodings ["utf-32" "utf-8" "utf-16"]) :experimental #<hash-table eql 0/1 0x1d8f1c3>) :workspaceFolders [(:uri "[REDACTED] " :name "/ssh:[REDACTED] ")]))
apply(#f(compiled-function (arg1 &rest rest) "Send MESSAGE, a JSON object, to CONNECTION." #<bytecode 0xf9c445328d51d38>) #<eglot-lsp-server eglot-lsp-server-df0d50> (:id 1 :method :initialize :params (:processId nil :rootPath "[REDACTED] " :rootUri "[REDACTED] " :initializationOptions #<hash-table eql 0/1 0x1d8f1c3> :capabilities (:workspace (:applyEdit t :executeCommand (:dynamicRegistration :json-false) :workspaceEdit (:documentChanges t) :didChangeWatchedFiles (:dynamicRegistration :json-false) :symbol (:dynamicRegistration :json-false) :configuration t :workspaceFolders t) :textDocument (:synchronization (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t) :completion (:dynamicRegistration :json-false :completionItem (:snippetSupport :json-false :deprecatedSupport t :resolveSupport (:properties ...) :tagSupport (:valueSet ...)) :contextSupport t) :hover (:dynamicRegistration :json-false :contentFormat ["plaintext"]) :signatureHelp (:dynamicRegistration :json-false :signatureInformation (:parameterInformation (:labelOffsetSupport t) :activeParameterSupport t)) :references (:dynamicRegistration :json-false) :definition (:dynamicRegistration :json-false :linkSupport t) :declaration (:dynamicRegistration :json-false :linkSupport t) :implementation (:dynamicRegistration :json-false :linkSupport t) :typeDefinition (:dynamicRegistration :json-false :linkSupport t) :documentSymbol (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind (:valueSet [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26])) :documentHighlight (:dynamicRegistration :json-false) :codeAction (:dynamicRegistration :json-false :codeActionLiteralSupport (:codeActionKind (:valueSet ...)) :isPreferredSupport t) :formatting (:dynamicRegistration :json-false) :rangeFormatting (:dynamicRegistration :json-false) :rename (:dynamicRegistration :json-false) :inlayHint (:dynamicRegistration :json-false) :publishDiagnostics (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport (:valueSet [1 2]))) :window (:workDoneProgress t) :general (:positionEncodings ["utf-32" "utf-8" "utf-16"]) :experimental #<hash-table eql 0/1 0x1d8f1c3>) :workspaceFolders [(:uri "[REDACTED] " :name "/ssh:[REDACTED] ")])))
jsonrpc-connection-send(#<eglot-lsp-server eglot-lsp-server-df0d50> :id 1 :method :initialize :params (:processId nil :rootPath "[REDACTED] " :rootUri "[REDACTED] " :initializationOptions #<hash-table eql 0/1 0x1d8f1c3> :capabilities (:workspace (:applyEdit t :executeCommand (:dynamicRegistration :json-false) :workspaceEdit (:documentChanges t) :didChangeWatchedFiles (:dynamicRegistration :json-false) :symbol (:dynamicRegistration :json-false) :configuration t :workspaceFolders t) :textDocument (:synchronization (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t) :completion (:dynamicRegistration :json-false :completionItem (:snippetSupport :json-false :deprecatedSupport t :resolveSupport (:properties ["documentation" "details" "additionalTextEdits"]) :tagSupport (:valueSet [1])) :contextSupport t) :hover (:dynamicRegistration :json-false :contentFormat ["plaintext"]) :signatureHelp (:dynamicRegistration :json-false :signatureInformation (:parameterInformation (:labelOffsetSupport t) :activeParameterSupport t)) :references (:dynamicRegistration :json-false) :definition (:dynamicRegistration :json-false :linkSupport t) :declaration (:dynamicRegistration :json-false :linkSupport t) :implementation (:dynamicRegistration :json-false :linkSupport t) :typeDefinition (:dynamicRegistration :json-false :linkSupport t) :documentSymbol (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind (:valueSet [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26])) :documentHighlight (:dynamicRegistration :json-false) :codeAction (:dynamicRegistration :json-false :codeActionLiteralSupport (:codeActionKind (:valueSet ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])) :isPreferredSupport t) :formatting (:dynamicRegistration :json-false) :rangeFormatting (:dynamicRegistration :json-false) :rename (:dynamicRegistration :json-false) :inlayHint (:dynamicRegistration :json-false) :publishDiagnostics (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport (:valueSet [1 2]))) :window (:workDoneProgress t) :general (:positionEncodings ["utf-32" "utf-8" "utf-16"]) :experimental #<hash-table eql 0/1 0x1d8f1c3>) :workspaceFolders [(:uri "[REDACTED] " :name "/ssh:[REDACTED] ")]))
jsonrpc--async-request-1(#<eglot-lsp-server eglot-lsp-server-df0d50> :initialize (:processId nil :rootPath "[REDACTED] " :rootUri "[REDACTED] " :initializationOptions #<hash-table eql 0/1 0x1d8f1c3> :capabilities (:workspace (:applyEdit t :executeCommand (:dynamicRegistration :json-false) :workspaceEdit (:documentChanges t) :didChangeWatchedFiles (:dynamicRegistration :json-false) :symbol (:dynamicRegistration :json-false) :configuration t :workspaceFolders t) :textDocument (:synchronization (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t) :completion (:dynamicRegistration :json-false :completionItem (:snippetSupport :json-false :deprecatedSupport t :resolveSupport (:properties ["documentation" "details" "additionalTextEdits"]) :tagSupport (:valueSet [1])) :contextSupport t) :hover (:dynamicRegistration :json-false :contentFormat ["plaintext"]) :signatureHelp (:dynamicRegistration :json-false :signatureInformation (:parameterInformation (:labelOffsetSupport t) :activeParameterSupport t)) :references (:dynamicRegistration :json-false) :definition (:dynamicRegistration :json-false :linkSupport t) :declaration (:dynamicRegistration :json-false :linkSupport t) :implementation (:dynamicRegistration :json-false :linkSupport t) :typeDefinition (:dynamicRegistration :json-false :linkSupport t) :documentSymbol (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind (:valueSet [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26])) :documentHighlight (:dynamicRegistration :json-false) :codeAction (:dynamicRegistration :json-false :codeActionLiteralSupport (:codeActionKind (:valueSet ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])) :isPreferredSupport t) :formatting (:dynamicRegistration :json-false) :rangeFormatting (:dynamicRegistration :json-false) :rename (:dynamicRegistration :json-false) :inlayHint (:dynamicRegistration :json-false) :publishDiagnostics (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport (:valueSet [1 2]))) :window (:workDoneProgress t) :general (:positionEncodings ["utf-32" "utf-8" "utf-16"]) :experimental #<hash-table eql 0/1 0x1d8f1c3>) :workspaceFolders [(:uri "[REDACTED] " :name "/ssh:[REDACTED] ")]) :success-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>) (project vc Git "/ssh:[REDACTED] ") (managed-modes go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode)) (jsonrpc-lambda-elem2) (let ((object-once jsonrpc-lambda-elem2)) (let* ((--cl-rest-- object-once) (capabilities (car (cdr ...))) (serverInfo (car (cdr ...)))) (progn (eglot--check-object 'InitializeResult object-once (memq 'enforce-required-keys eglot-strict-mode) (memq 'disallow-non-standard-keys eglot-strict-mode) (memq 'check-types eglot-strict-mode)) (if canceled nil (let* (... ...) (puthash v ... v)) (let* (...) (\(setf\ eglot--capabilities\) capabilities v)) (let* (...) (\(setf\ eglot--server-info\) serverInfo v)) (jsonrpc-notify server :initialized eglot--{}) (let (...) (while tail ...)) (let* (...) (\(setf\ eglot--inhibit-autoreconnect\) ... v)) (run-hook-with-args 'eglot-connect-hook server) (eglot--message "Connected! Server `%s' now managing `%s' buffers i..." (or ... ...) managed-modes (eglot-project-nickname server)) (if tag (progn ...))))))) :timeout 30 :error-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>)) (jsonrpc-lambda-elem3) (let ((object-once jsonrpc-lambda-elem3)) (let* ((--cl-rest-- object-once) (code (car (cdr ...))) (message (car (cdr ...)))) (progn (eglot--check-object 'ResponseError object-once (memq 'enforce-required-keys eglot-strict-mode) (memq 'disallow-non-standard-keys eglot-strict-mode) (memq 'check-types eglot-strict-mode)) (if canceled nil (jsonrpc-shutdown server) (let (...) (if tag ... ...))))))) :timeout-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>)) nil (if canceled nil (jsonrpc-shutdown server) (let ((msg (format "Timed out after %s seconds" eglot-connect-timeout))) (if tag (throw tag (cons 'error msg)) (eglot--error msg))))))
jsonrpc-async-request(#<eglot-lsp-server eglot-lsp-server-df0d50> :initialize (:processId nil :rootPath "[REDACTED] " :rootUri "[REDACTED] " :initializationOptions #<hash-table eql 0/1 0x1d8f1c3> :capabilities (:workspace (:applyEdit t :executeCommand (:dynamicRegistration :json-false) :workspaceEdit (:documentChanges t) :didChangeWatchedFiles (:dynamicRegistration :json-false) :symbol (:dynamicRegistration :json-false) :configuration t :workspaceFolders t) :textDocument (:synchronization (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t) :completion (:dynamicRegistration :json-false :completionItem (:snippetSupport :json-false :deprecatedSupport t :resolveSupport (:properties ["documentation" "details" "additionalTextEdits"]) :tagSupport (:valueSet [1])) :contextSupport t) :hover (:dynamicRegistration :json-false :contentFormat ["plaintext"]) :signatureHelp (:dynamicRegistration :json-false :signatureInformation (:parameterInformation (:labelOffsetSupport t) :activeParameterSupport t)) :references (:dynamicRegistration :json-false) :definition (:dynamicRegistration :json-false :linkSupport t) :declaration (:dynamicRegistration :json-false :linkSupport t) :implementation (:dynamicRegistration :json-false :linkSupport t) :typeDefinition (:dynamicRegistration :json-false :linkSupport t) :documentSymbol (:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind (:valueSet [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26])) :documentHighlight (:dynamicRegistration :json-false) :codeAction (:dynamicRegistration :json-false :codeActionLiteralSupport (:codeActionKind (:valueSet ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])) :isPreferredSupport t) :formatting (:dynamicRegistration :json-false) :rangeFormatting (:dynamicRegistration :json-false) :rename (:dynamicRegistration :json-false) :inlayHint (:dynamicRegistration :json-false) :publishDiagnostics (:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport (:valueSet [1 2]))) :window (:workDoneProgress t) :general (:positionEncodings ["utf-32" "utf-8" "utf-16"]) :experimental #<hash-table eql 0/1 0x1d8f1c3>) :workspaceFolders [(:uri "[REDACTED] " :name "/ssh:[REDACTED] ")]) :success-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>) (project vc Git "/ssh:[REDACTED] ") (managed-modes go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode)) (jsonrpc-lambda-elem2) (let ((object-once jsonrpc-lambda-elem2)) (let* ((--cl-rest-- object-once) (capabilities (car (cdr ...))) (serverInfo (car (cdr ...)))) (progn (eglot--check-object 'InitializeResult object-once (memq 'enforce-required-keys eglot-strict-mode) (memq 'disallow-non-standard-keys eglot-strict-mode) (memq 'check-types eglot-strict-mode)) (if canceled nil (let* (... ...) (puthash v ... v)) (let* (...) (\(setf\ eglot--capabilities\) capabilities v)) (let* (...) (\(setf\ eglot--server-info\) serverInfo v)) (jsonrpc-notify server :initialized eglot--{}) (let (...) (while tail ...)) (let* (...) (\(setf\ eglot--inhibit-autoreconnect\) ... v)) (run-hook-with-args 'eglot-connect-hook server) (eglot--message "Connected! Server `%s' now managing `%s' buffers i..." (or ... ...) managed-modes (eglot-project-nickname server)) (if tag (progn ...))))))) :timeout 30 :error-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>)) (jsonrpc-lambda-elem3) (let ((object-once jsonrpc-lambda-elem3)) (let* ((--cl-rest-- object-once) (code (car (cdr ...))) (message (car (cdr ...)))) (progn (eglot--check-object 'ResponseError object-once (memq 'enforce-required-keys eglot-strict-mode) (memq 'disallow-non-standard-keys eglot-strict-mode) (memq 'check-types eglot-strict-mode)) (if canceled nil (jsonrpc-shutdown server) (let (...) (if tag ... ...))))))) :timeout-fn (closure ((tag . connected-catch-tag) (canceled) (server . #<eglot-lsp-server eglot-lsp-server-df0d50>)) nil (if canceled nil (jsonrpc-shutdown server) (let ((msg (format "Timed out after %s seconds" eglot-connect-timeout))) (if tag (throw tag (cons 'error msg)) (eglot--error msg))))))
(catch tag (jsonrpc-async-request server :initialize (list :processId (if (or eglot-withhold-process-id (file-remote-p default-directory) (eq (jsonrpc-process-type server) 'network)) nil (emacs-pid)) :rootPath (file-local-name (expand-file-name default-directory)) :rootUri (eglot--path-to-uri default-directory) :initializationOptions (eglot-initialization-options server) :capabilities (eglot-client-capabilities server) :workspaceFolders (eglot-workspace-folders server)) :success-fn #'(lambda (jsonrpc-lambda-elem2) (let ((object-once jsonrpc-lambda-elem2)) (let* ((--cl-rest-- object-once) (capabilities ...) (serverInfo ...)) (progn (eglot--check-object ... object-once ... ... ...) (if canceled nil ... ... ... ... ... ... ... ... ...))))) :timeout eglot-connect-timeout :error-fn #'(lambda (jsonrpc-lambda-elem3) (let ((object-once jsonrpc-lambda-elem3)) (let* ((--cl-rest-- object-once) (code ...) (message ...)) (progn (eglot--check-object ... object-once ... ... ...) (if canceled nil ... ...))))) :timeout-fn #'(lambda nil (if canceled nil (jsonrpc-shutdown server) (let ((msg ...)) (if tag (throw tag ...) (eglot--error msg)))))) (cond ((numberp eglot-sync-connect) (accept-process-output nil eglot-sync-connect)) (eglot-sync-connect (while t (accept-process-output nil eglot-connect-timeout)))))
(let ((retval (catch tag (jsonrpc-async-request server :initialize (list :processId (if (or eglot-withhold-process-id ... ...) nil (emacs-pid)) :rootPath (file-local-name (expand-file-name default-directory)) :rootUri (eglot--path-to-uri default-directory) :initializationOptions (eglot-initialization-options server) :capabilities (eglot-client-capabilities server) :workspaceFolders (eglot-workspace-folders server)) :success-fn #'(lambda (jsonrpc-lambda-elem2) (let ... ...)) :timeout eglot-connect-timeout :error-fn #'(lambda (jsonrpc-lambda-elem3) (let ... ...)) :timeout-fn #'(lambda nil (if canceled nil ... ...))) (cond ((numberp eglot-sync-connect) (accept-process-output nil eglot-sync-connect)) (eglot-sync-connect (while t (accept-process-output nil eglot-connect-timeout))))))) (cond ((consp retval) (let* ((x13 (car-safe retval))) (if (eq x13 'error) (let* ((x14 ...)) (let (...) (eglot--error msg))) (let nil server)))) ((null retval) (let nil (eglot--message "Waiting in background for server `%s'" (jsonrpc-name server)) nil)) (t (let nil server))))
(condition-case _quit (let ((retval (catch tag (jsonrpc-async-request server :initialize (list :processId (if ... nil ...) :rootPath (file-local-name ...) :rootUri (eglot--path-to-uri default-directory) :initializationOptions (eglot-initialization-options server) :capabilities (eglot-client-capabilities server) :workspaceFolders (eglot-workspace-folders server)) :success-fn #'(lambda ... ...) :timeout eglot-connect-timeout :error-fn #'(lambda ... ...) :timeout-fn #'(lambda nil ...)) (cond ((numberp eglot-sync-connect) (accept-process-output nil eglot-sync-connect)) (eglot-sync-connect (while t ...)))))) (cond ((consp retval) (let* ((x13 (car-safe retval))) (if (eq x13 'error) (let* (...) (let ... ...)) (let nil server)))) ((null retval) (let nil (eglot--message "Waiting in background for server `%s'" (jsonrpc-name server)) nil)) (t (let nil server)))) (quit (jsonrpc-shutdown server) (setq canceled 'quit)))
(unwind-protect (condition-case _quit (let ((retval (catch tag (jsonrpc-async-request server :initialize (list :processId ... :rootPath ... :rootUri ... :initializationOptions ... :capabilities ... :workspaceFolders ...) :success-fn #'... :timeout eglot-connect-timeout :error-fn #'... :timeout-fn #'...) (cond (... ...) (eglot-sync-connect ...))))) (cond ((consp retval) (let* ((x13 ...)) (if (eq x13 ...) (let* ... ...) (let nil server)))) ((null retval) (let nil (eglot--message "Waiting in background for server `%s'" (jsonrpc-name server)) nil)) (t (let nil server)))) (quit (jsonrpc-shutdown server) (setq canceled 'quit))) (setq tag nil))
(let* ((default-directory (project-root project)) (nickname (project-name project)) (readable-name (format "EGLOT (%s/%s)" nickname managed-modes)) autostart-inferior-process server-info (contact (if (functionp contact) (funcall contact) contact)) (initargs (cond ((keywordp (car contact)) contact) ((integerp (car (cdr contact))) (setq server-info (list (format "%s:%s" ... ...))) (list ':process #'(lambda nil ...))) ((and (stringp (car contact)) (memq :autoport contact)) (setq server-info (list "<inferior process>")) (list ':process #'(lambda nil ...))) ((stringp (car contact)) (let* ((probe ...) (more-initargs ...) (contact ...)) (cons ':process (cons ... more-initargs)))))) (spread #'(lambda (fn) #'(lambda (server method params) (let ... ...)))) (server (apply #'make-instance class :name readable-name :events-buffer-scrollback-size eglot-events-buffer-size :notification-dispatcher (funcall spread #'eglot-handle-notification) :request-dispatcher (funcall spread #'eglot-handle-request) :on-shutdown #'eglot--on-shutdown initargs)) (canceled nil) (tag (make-symbol "connected-catch-tag"))) (if server-info (progn (jsonrpc--debug server "Running language server: %s" (string-join server-info " ")))) (let* ((v server)) (\(setf\ eglot--saved-initargs\) initargs v)) (let* ((v server)) (\(setf\ eglot--project\) project v)) (let* ((v server)) (\(setf\ eglot--project-nickname\) nickname v)) (let* ((v server)) (\(setf\ eglot--major-modes\) (eglot--ensure-list managed-modes) v)) (let* ((v server)) (\(setf\ eglot--language-id\) language-id v)) (let* ((v server)) (\(setf\ eglot--inferior-process\) autostart-inferior-process v)) (run-hook-with-args 'eglot-server-initialized-hook server) (unwind-protect (condition-case _quit (let ((retval (catch tag (jsonrpc-async-request server :initialize ... :success-fn ... :timeout eglot-connect-timeout :error-fn ... :timeout-fn ...) (cond ... ...)))) (cond ((consp retval) (let* (...) (if ... ... ...))) ((null retval) (let nil (eglot--message "Waiting in background for server `%s'" ...) nil)) (t (let nil server)))) (quit (jsonrpc-shutdown server) (setq canceled 'quit))) (setq tag nil)))
eglot--connect((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode) (vc Git "/ssh:[REDACTED] ") eglot-lsp-server ("192.168.1.167:11111") "go")
eglot((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode) (vc Git "/ssh:[REDACTED] .") eglot-lsp-server ("192.168.1.167:11111") "go" t)
funcall-interactively(eglot (go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode) (vc Git "[REDACTED] ") eglot-lsp-server ("192.168.1.167:11111") "go" t)
command-execute(eglot record)
execute-extended-command(nil "eglot" nil)
funcall-interactively(execute-extended-command nil "eglot" nil)
command-execute(execute-extended-command) Steps to reproduce:
And when it's provided a path to the executable, eglot times out after 30 seconds and prints this error:
For this test, the debugger doesn't show anything. Eglot just indicates it timed out in the minibuffer. Note: [REDACTED] parts are sensitive directory names/user names. Steps to reproduce:
Eglot version: 1.12.29 I think this is all the information I can provide. I tested with a clean install with my config and a clean install without my config. |
Beta Was this translation helpful? Give feedback.
-
Oh dear, lol
You are correct. I tried to use the executable because the regular method I used didn't work.
In my Fedora machine, I launch it as a regular gnome application, but running it through terminal gives me the same results. They both run the same config files in the end.
I connect through ssh, exactly with the
No, it was my lazy ass copy/pasting everything, but in that case I tested closing the server first, even if I originally gave it a different port, just to be sure.
By this I mean the absolute path.
Oh yeah, forgot to tell you about this. It was working from a different computer with 29.1 but going through a downgrade on the Fedora machine yields the same results. If it's useful information, the TRAMP version for the downgraded 29.1 is 2.6.0.29.1. Eglot is the same as mentioned before. I hope we can find a solution to this! Or at least another way to enable the connection to the server. |
Beta Was this translation helpful? Give feedback.
-
Unfortunately, b. |
Beta Was this translation helpful? Give feedback.
-
UPDATE: I reinstalled once again 29.3 and go-mode. But, I installed eglot 1.17 manually from the list-packages list. For some reason, emacs ignores that version in favour of the 1.12.x. I will rebuild from here, bringing over my old config piece by piece. Another un related note: Whenever I tried to install things I always had my installs stopped by a "Don't call me!" error. Apparently, it's not an issue yet in this new install. |
Beta Was this translation helpful? Give feedback.
-
I've been installing and re-installing these past few hours and you won't believe what happened: Turns out I can almost pinpoint the culprit of these issues (and many others I had before) to doom themes, modelines and icons. I started installing every package I needed manually (by calling require on the .el files and including the directory where I'm storing them). Apparently, at some point, one of these is requiring compatibility code that messes everything else: (require 'nerd-icons-faces)
(require 'nerd-icons)
(require 'doom-modeline-core)
(require 'doom-modeline-env)
(require 'doom-modeline-segments)
(require 'doom-modeline)
(require 'doom-themes-base)
(require 'doom-themes)
(require 'doom-rouge-theme) This is a very obscure issue that I oversaw because the issues where limited to some messages, but now it was making Emacs unusable. Eglot no longer causes any issues when connecting, nor does TRAMP shows any weird messages about not interpreting remote paths as valid TRAMP paths. Apologies for the inconvenience, and thanks for being patient with me! |
Beta Was this translation helpful? Give feedback.
-
Hey,
I'm trying to get eglot to connect to a remote server (which previously worked fine) but today I updated Emacs from 29.1 to 29.3 and it suddenly started refusing to connect.
The remote server showed correct connections by netcat, so I know it's working.
When given a path to the executable, it times out, and when given an address and port, it fails to connect, returning a 127 exit code and a jsonrpc-error.
The only thing I did was fresh install Emacs and install go-mode manually, but I don't think that has to do with this.
Any insights are very much appreciated.
Beta Was this translation helpful? Give feedback.
All reactions