all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#71966: 30.0.60; Intermittent failure in eglot-tests
@ 2024-07-06  3:42 john muhl
  2024-07-06 22:32 ` Jeremy Bryant via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 3+ messages in thread
From: john muhl @ 2024-07-06  3:42 UTC (permalink / raw)
  To: 71966

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

The failing test is ‘eglot-test-auto-detect-running-server’. I
can’t reproduce it here by running the individual test in a loop
(well it didn’t fail during 5 hours of looping). However it has
failed 10 times in the last 62 runs of ‘make check’. It only
happens on the 32bit ARM test machine but happens across all
tested configurations there.

I was able to run ‘make check’ a dozen times without failure using
the patch below. Let’s see how it does for a week or two of builds.

  --- a/test/lisp/progmodes/eglot-tests.el
  +++ b/test/lisp/progmodes/eglot-tests.el
  @@ -326,7 +326,7 @@ eglot-tests--auto-detect-running-server-1
          ("anotherproject" . (("cena.c" . "bla"))))
        (with-current-buffer
            (eglot--find-file-noselect "project/coiso.c")
  -       (should (setq server (eglot--tests-connect)))
  +       (should (setq server (eglot--tests-connect 20)))
          (should (eglot-current-server)))
        (with-current-buffer
            (eglot--find-file-noselect "project/merdix.c")


[-- Attachment #2: eglot-tests.log --]
[-- Type: text/plain, Size: 26010 bytes --]

Running 47 tests (2024-07-05 08:16:27-0500, selector `(not (or (tag :expensive-test) (tag :unstable)))')
[eglot-tests] [eglot-test-auto-detect-running-server]: test start
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] [eglot-test-auto-detect-running-server]: FAILED
[eglot-tests] contents of ` *EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) output*':
[eglot-tests] contents of ` *EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) stderr*':

Process EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) stderr finished
[eglot-tests] contents of `*EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) events*':
[jsonrpc] D[08:16:27.500] Running language server: /usr/bin/clangd
[jsonrpc] e[08:16:27.502] --> initialize[1] {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":14582,"clientInfo":{"name":"Eglot","version":"1.17"},"rootPath":"/tmp/eglot--fixture-YzRLOt/project/","rootUri":"file:///tmp/eglot--fixture-YzRLOt/project","initializationOptions":{},"capabilities":{"workspace":{"applyEdit":true,"executeCommand":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":false},"configuration":true,"workspaceFolders":true},"textDocument":{"synchronization":{"dynamicRegistration":false,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":false,"completionItem":{"snippetSupport":false,"deprecatedSupport":true,"resolveSupport":{"properties":["documentation","details","additionalTextEdits"]},"tagSupport":{"valueSet":[1]}},"contextSupport":true},"hover":{"dynamicRegistration":false,"contentFormat":["plaintext"]},"signatureHelp":{"dynamicRegistration":false,"signatureInformation":{"parameterInformation":{"labelOffsetSupport":true},"documentationFormat":["plaintext"],"activeParameterSupport":true}},"references":{"dynamicRegistration":false},"definition":{"dynamicRegistration":false,"linkSupport":true},"declaration":{"dynamicRegistration":false,"linkSupport":true},"implementation":{"dynamicRegistration":false,"linkSupport":true},"typeDefinition":{"dynamicRegistration":false,"linkSupport":true},"documentSymbol":{"dynamicRegistration":false,"hierarchicalDocumentSymbolSupport":true,"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":false},"codeAction":{"dynamicRegistration":false,"resolveSupport":{"properties":["edit","command"]},"dataSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"isPreferredSupport":true},"formatting":{"dynamicRegistration":false},"rangeFormatting":{"dynamicRegistration":false},"rename":{"dynamicRegistration":false},"inlayHint":{"dynamicRegistration":false},"publishDiagnostics":{"relatedInformation":false,"codeDescriptionSupport":false,"tagSupport":{"valueSet":[1,2]}}},"window":{"showDocument":{"support":true},"workDoneProgress":true},"general":{"positionEncodings":["utf-32","utf-8","utf-16"]},"experimental":{}},"workspaceFolders":[{"uri":"file:///tmp/eglot--fixture-YzRLOt/project","name":"/tmp/eglot--fixture-YzRLOt/project/"}]}}
[jsonrpc] i[08:16:37.513] [1] timed-out request ':initialize'
[jsonrpc] D[08:16:37.614] Connection state change: `killed
'

----------b---y---e---b---y---e----------
[stderr]  
[stderr]  
[stderr]  nil
[stderr]  nil
[stderr]  Process EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) stderr finished
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-YzRLOt
Test eglot-test-auto-detect-running-server backtrace:
  error("[eglot] %s" "Timed out after 10 seconds")
  eglot--error("Timed out after 10 seconds")
  eglot--connect((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) (tr
  apply(eglot--connect ((c-mode c-ts-mode c++-mode c++-ts-mode objc-mo
  eglot--tests-connect()
  #f(compiled-function () #<bytecode 0x1780f2b6>)()
  eglot--call-with-fixture((("project" ("coiso.c" . "bla") ("merdix.c"
  eglot-tests--auto-detect-running-server-1()
  #f(compiled-function () #<bytecode -0x1cc9754e>)()
  #f(compiled-function () #<bytecode -0x90ab8a0>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x90ab8a0>) (erro
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name eglot-test-auto-detect-running-server
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test eglot-test-auto-detect-running-server condition:
    (error "[eglot] Timed out after 10 seconds")
   FAILED   1/47  eglot-test-auto-detect-running-server (10.281445 sec) at lisp/progmodes/eglot-tests.el:339
[eglot-tests] [eglot-test-auto-reconnect]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[jsonrpc] Server exited with status 9
[eglot] (warning) Reconnecting after unexpected server exit.
Warning (eglot): Reconnecting after unexpected server exit.
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot] Reconnected!
[jsonrpc] Server exited with status 9
[eglot] (warning) Not auto-reconnecting, last one didn't last long.
Warning (eglot): Not auto-reconnecting, last one didn't last long.
[eglot-tests] [eglot-test-auto-reconnect]: OK
[eglot-tests] Killing (thingy.c), wiping /tmp/eglot--fixture-rheuXw
   passed   2/47  eglot-test-auto-reconnect (4.304079 sec)
[eglot-tests] [eglot-test-auto-shutdown]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] [eglot-test-auto-shutdown]: OK
[eglot-tests] Killing nil, wiping /tmp/eglot--fixture-E4OERb
   passed   3/47  eglot-test-auto-shutdown (0.313076 sec)
[eglot-tests] [eglot-test-basic-completions]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
...........
[eglot-tests] detected: textDocument/publishDiagnostics
#include <stdio.h>
int main () {fprintf
[eglot-tests] [eglot-test-basic-completions]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-WtG1II
   passed   4/47  eglot-test-basic-completions (2.762696 sec)
[eglot-tests] [eglot-test-basic-diagnostics]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `diag-project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
.
[eglot-tests] detected: textDocument/publishDiagnostics

[eglot-tests] [eglot-test-basic-diagnostics]: OK
[eglot] Asking EGLOT (diag-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (diag-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (diag-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (main.c), wiping /tmp/eglot--fixture-ORry8U
   passed   5/47  eglot-test-basic-diagnostics (0.509881 sec)
[eglot-tests] [eglot-test-basic-symlink]: test start
[eglot] Connected! Server `clangd' now managing `(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)' buffers in project `symlink-project'.
[eglot-tests] waiting for `(and (string= method textDocument/didClose))'
[eglot-tests] detected: textDocument/didClose
[eglot-tests] waiting for `(and (string= method textDocument/didOpen) (string-match main.cpp$ (plist-get (plist-get params :textDocument) :uri)))'
[eglot-tests] detected: textDocument/didOpen
[eglot-tests] [eglot-test-basic-symlink]: OK
[eglot] Asking EGLOT (symlink-project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (symlink-project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (symlink-project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (main.cpp), wiping /tmp/eglot--fixture-nLHZ7d
   passed   6/47  eglot-test-basic-symlink (0.261682 sec)
[eglot-tests] [eglot-test-basic-xref]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-basic-xref]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-yWezQ4
   passed   7/47  eglot-test-basic-xref (0.470443 sec)
   passed   8/47  eglot-test-capabilities (0.000143 sec)
   passed   9/47  eglot-test-dcase (0.000159 sec)
   passed  10/47  eglot-test-dcase-issue-452 (0.000148 sec)
[eglot-tests] [eglot-test-diagnostic-tags-unnecessary-code]: test start
[eglot] Connected! Server `clangd' now managing `(c++-mode)' buffers in project `diag-project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
..
[eglot-tests] detected: textDocument/publishDiagnostics

[eglot-tests] [eglot-test-diagnostic-tags-unnecessary-code]: OK
[eglot] Asking EGLOT (diag-project/(c++-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (diag-project/(c++-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (diag-project/(c++-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (main.cpp), wiping /tmp/eglot--fixture-yOjm6c
   passed  11/47  eglot-test-diagnostic-tags-unnecessary-code (1.321977 sec)
  skipped  12/47  eglot-test-eclipse-connect (0.000504 sec)
[eglot-tests] [eglot-test-eldoc-after-completions]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
.
[eglot-tests] detected: textDocument/publishDiagnostics
#include <stdio.h>
int main () {fprintf
fprintf(FILE *restrict stream, const char *restrict format, ...) -> int
[eglot-tests] [eglot-test-eldoc-after-completions]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-aKBK2T
   passed  13/47  eglot-test-eldoc-after-completions (0.999080 sec)
[eglot-tests] [eglot-test-ensure]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-ensure]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (foo.c bar.c), wiping /tmp/eglot--fixture-osAdWC
   passed  14/47  eglot-test-ensure (0.464910 sec)
[eglot-tests] [eglot-test-formatting]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
..
[eglot-tests] detected: textDocument/publishDiagnostics
[eglot] applying 7 edits to `coiso.c'... 
[eglot] applying 7 edits to `coiso.c'...done
[eglot] applying 0 edits to `coiso.c'... 
[eglot] applying 0 edits to `coiso.c'...done
[eglot-tests] [eglot-test-formatting]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-dWTBxe
   passed  15/47  eglot-test-formatting (0.753182 sec)
   passed  16/47  eglot-test-glob-test (0.092755 sec)
  skipped  17/47  eglot-test-javascript-basic (0.000662 sec)
  skipped  18/47  eglot-test-json-basic (0.000484 sec)
[eglot-tests] [eglot-test-lsp-abiding-column]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot-tests] waiting for `(message PARAMS=%S params)(should (equal 71 (eglot-tests--get params '(:contentChanges 0 :range :start :character))))'
PARAMS=(:textDocument (:uri "file:///tmp/eglot--fixture-H5AefW/project/foo.c" :version 1) :contentChanges [(:range (:start (:line 0 :character 71) :end (:line 0 :character 71)) :rangeLength 0 :text "p ")])
[eglot-tests] detected: textDocument/didChange
[eglot-tests] [eglot-test-lsp-abiding-column]: OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (foo.c), wiping /tmp/eglot--fixture-H5AefW
   passed  19/47  eglot-test-lsp-abiding-column (0.366529 sec)
[eglot-tests] [eglot-test-multiline-eldoc]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
.
[eglot-tests] detected: textDocument/publishDiagnostics
fprintf(FILE *restrict stream, const char *restrict format, ...) -> int
clang [undeclared_var_use]: Use of undeclared identifier 'blergh'
[eglot-tests] [eglot-test-multiline-eldoc]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-3GyEfv
   passed  20/47  eglot-test-multiline-eldoc (1.017274 sec)
[eglot-tests] [eglot-test-non-unique-completions]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] waiting for `(string= method textDocument/publishDiagnostics)'
.
[eglot-tests] detected: textDocument/publishDiagnostics
Complete, but not unique

[eglot-tests] [eglot-test-non-unique-completions]: OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (coiso.c), wiping /tmp/eglot--fixture-YuoWDr
   passed  21/47  eglot-test-non-unique-completions (2.592179 sec)
  skipped  22/47  eglot-test-path-to-uri-windows (0.000631 sec)
  skipped  23/47  eglot-test-project-wide-diagnostics-rust-analyzer (0.001329 sec)
  skipped  24/47  eglot-test-project-wide-diagnostics-typescript (0.000958 sec)
[eglot-tests] [eglot-test-rename-a-symbol]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)' buffers in project `rename-project'.
[eglot] applying 2 edits to `main.c'... 
[eglot] applying 2 edits to `main.c'...done
[eglot] Edit successful!
[eglot-tests] [eglot-test-rename-a-symbol]: OK
[eglot] Asking EGLOT (rename-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (rename-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (rename-project/(c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (main.c), wiping /tmp/eglot--fixture-ayG8ry
   passed  25/47  eglot-test-rename-a-symbol (0.401090 sec)
  skipped  26/47  eglot-test-rust-analyzer-hover-after-edit (0.000449 sec)
  skipped  27/47  eglot-test-rust-analyzer-watches-files (0.000398 sec)
  skipped  28/47  eglot-test-rust-on-type-formatting (0.000401 sec)
[eglot-tests] [eglot-test-same-server-multi-mode]: test start
[eglot] Connected! Server `clangd' now managing `(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-same-server-multi-mode]: OK
[eglot] Asking EGLOT (project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c++-mode c-mode c-ts-mode c++-ts-mode objc-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (foo.cpp foolib.h foolib.c), wiping /tmp/eglot--fixture-1Jyg9h
   passed  29/47  eglot-test-same-server-multi-mode (0.343108 sec)
   passed  30/47  eglot-test-server-programs-class-name-and-contact-spec (0.002372 sec)
   passed  31/47  eglot-test-server-programs-class-name-and-plist (0.000222 sec)
   passed  32/47  eglot-test-server-programs-executable-multiple-major-modes (0.000245 sec)
   passed  33/47  eglot-test-server-programs-executable-with-arg (0.000222 sec)
   passed  34/47  eglot-test-server-programs-executable-with-args-and-autoport (0.000212 sec)
   passed  35/47  eglot-test-server-programs-function (0.000219 sec)
   passed  36/47  eglot-test-server-programs-guess-lang (0.000385 sec)
   passed  37/47  eglot-test-server-programs-host-and-port (0.000204 sec)
   passed  38/47  eglot-test-server-programs-host-and-port-and-tcp-args (0.000206 sec)
   passed  39/47  eglot-test-server-programs-simple-executable (0.000215 sec)
   passed  40/47  eglot-test-server-programs-simple-missing-executable (0.000244 sec)
[eglot-tests] [eglot-test-slow-async-connection]: test start
[eglot] Waiting in background for server `EGLOT (project/(c-mode))'
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-slow-async-connection]: OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (something.c), wiping /tmp/eglot--fixture-mYycOH
   passed  41/47  eglot-test-slow-async-connection (2.350915 sec)
[eglot-tests] [eglot-test-slow-sync-connection-intime]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-slow-sync-connection-intime]: OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (something.c), wiping /tmp/eglot--fixture-vX8l1Q
   passed  42/47  eglot-test-slow-sync-connection-intime (1.326278 sec)
[eglot-tests] [eglot-test-slow-sync-connection-wait]: test start
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot-tests] [eglot-test-slow-sync-connection-wait]: OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] Non-critical cleanup error: (cl-assertion-failed (memq id track-changes--trackers))
[eglot-tests] Killing (something.c), wiping /tmp/eglot--fixture-RyeWzy
   passed  43/47  eglot-test-slow-sync-connection-wait (1.327499 sec)
[eglot-tests] [eglot-test-slow-sync-timeout]: test start
[jsonrpc] (warning) Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
Warning (jsonrpc): Sentinel for EGLOT (project/(c-mode)) still hasn't run, deleting it!
[jsonrpc] Server exited with status 9
[eglot-tests] [eglot-test-slow-sync-timeout]: OK
[eglot-tests] Killing (something.c), wiping /tmp/eglot--fixture-MU71ZV
   passed  44/47  eglot-test-slow-sync-timeout (1.225212 sec)
  skipped  45/47  eglot-test-snippet-completions (0.001095 sec)
  skipped  46/47  eglot-test-snippet-completions-with-company (0.000954 sec)
   passed  47/47  eglot-test-strict-interfaces (0.000666 sec)

Ran 47 tests, 35 results as expected, 1 unexpected, 11 skipped (2024-07-05 08:17:01-0500, 33.769348 sec)

1 unexpected results:
   FAILED  eglot-test-auto-detect-running-server

11 skipped results:
  SKIPPED  eglot-test-eclipse-connect
  SKIPPED  eglot-test-javascript-basic
  SKIPPED  eglot-test-json-basic
  SKIPPED  eglot-test-path-to-uri-windows
  SKIPPED  eglot-test-project-wide-diagnostics-rust-analyzer
  SKIPPED  eglot-test-project-wide-diagnostics-typescript
  SKIPPED  eglot-test-rust-analyzer-hover-after-edit
  SKIPPED  eglot-test-rust-analyzer-watches-files
  SKIPPED  eglot-test-rust-on-type-formatting
  SKIPPED  eglot-test-snippet-completions
  SKIPPED  eglot-test-snippet-completions-with-company


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

* bug#71966: 30.0.60; Intermittent failure in eglot-tests
  2024-07-06  3:42 bug#71966: 30.0.60; Intermittent failure in eglot-tests john muhl
@ 2024-07-06 22:32 ` Jeremy Bryant via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-07-06 23:30   ` João Távora
  0 siblings, 1 reply; 3+ messages in thread
From: Jeremy Bryant via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-06 22:32 UTC (permalink / raw)
  To: john muhl; +Cc: 71966, João Távora

john muhl <jm@pub.pink> writes:

> The failing test is ‘eglot-test-auto-detect-running-server’. I
> can’t reproduce it here by running the individual test in a loop
> (well it didn’t fail during 5 hours of looping). However it has
> failed 10 times in the last 62 runs of ‘make check’. It only
> happens on the 32bit ARM test machine but happens across all
> tested configurations there.
>
> I was able to run ‘make check’ a dozen times without failure using
> the patch below. Let’s see how it does for a week or two of builds.
>
>   --- a/test/lisp/progmodes/eglot-tests.el
>   +++ b/test/lisp/progmodes/eglot-tests.el
>   @@ -326,7 +326,7 @@ eglot-tests--auto-detect-running-server-1
>           ("anotherproject" . (("cena.c" . "bla"))))
>         (with-current-buffer
>             (eglot--find-file-noselect "project/coiso.c")
>   -       (should (setq server (eglot--tests-connect)))
>   +       (should (setq server (eglot--tests-connect 20)))
>           (should (eglot-current-server)))
>         (with-current-buffer
>             (eglot--find-file-noselect "project/merdix.c")
>
> [2. text/plain; eglot-tests.log]...

Adding João on this bug report





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

* bug#71966: 30.0.60; Intermittent failure in eglot-tests
  2024-07-06 22:32 ` Jeremy Bryant via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-07-06 23:30   ` João Távora
  0 siblings, 0 replies; 3+ messages in thread
From: João Távora @ 2024-07-06 23:30 UTC (permalink / raw)
  To: Jeremy Bryant; +Cc: 71966, john muhl

Hmmm,
Seems like the clangd on that underpowered machine takes
longer than the default 10 seconds to respond to Eglot's
initiation.  I don't think it's worth bumping the timeouts for
such cases, but I don't mind it either.  Why are you running tests
on those ARM machines?

BTW clangd is usually very spiffy by comparison with other
 servers, so I can't imagine how the other tests will ever pass
(they're probably skipped).

João

On Sat, Jul 6, 2024 at 11:32 PM Jeremy Bryant <jb@jeremybryant.net> wrote:
>
> john muhl <jm@pub.pink> writes:
>
> > The failing test is ‘eglot-test-auto-detect-running-server’. I
> > can’t reproduce it here by running the individual test in a loop
> > (well it didn’t fail during 5 hours of looping). However it has
> > failed 10 times in the last 62 runs of ‘make check’. It only
> > happens on the 32bit ARM test machine but happens across all
> > tested configurations there.
> >
> > I was able to run ‘make check’ a dozen times without failure using
> > the patch below. Let’s see how it does for a week or two of builds.
> >
> >   --- a/test/lisp/progmodes/eglot-tests.el
> >   +++ b/test/lisp/progmodes/eglot-tests.el
> >   @@ -326,7 +326,7 @@ eglot-tests--auto-detect-running-server-1
> >           ("anotherproject" . (("cena.c" . "bla"))))
> >         (with-current-buffer
> >             (eglot--find-file-noselect "project/coiso.c")
> >   -       (should (setq server (eglot--tests-connect)))
> >   +       (should (setq server (eglot--tests-connect 20)))
> >           (should (eglot-current-server)))
> >         (with-current-buffer
> >             (eglot--find-file-noselect "project/merdix.c")
> >
> > [2. text/plain; eglot-tests.log]...
>
> Adding João on this bug report



-- 
João Távora





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

end of thread, other threads:[~2024-07-06 23:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-06  3:42 bug#71966: 30.0.60; Intermittent failure in eglot-tests john muhl
2024-07-06 22:32 ` Jeremy Bryant via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-06 23:30   ` João Távora

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.