From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#70927: 30.0.50; track-changes assertion when shutting down eglot Date: Tue, 14 May 2024 10:34:29 +0100 Message-ID: References: <871q65xsi6.fsf@stebalien.com> <86v83gx6md.fsf@gnu.org> <87jzjwg3gd.fsf@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7809"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 70927@debbugs.gnu.org, Eli Zaretskii , Steven Allen , Stefan Monnier To: Michael Albinus Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 14 11:36:21 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1s6oa4-0001ra-PA for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 May 2024 11:36:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s6oZn-0001lB-6B; Tue, 14 May 2024 05:36:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s6oZl-0001kv-LJ for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 05:36:01 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s6oZl-0000fg-Bi for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 05:36:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s6oZm-0005F0-9f for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 05:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 May 2024 09:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70927 X-GNU-PR-Package: emacs Original-Received: via spool by 70927-submit@debbugs.gnu.org id=B70927.171567934920140 (code B ref 70927); Tue, 14 May 2024 09:36:02 +0000 Original-Received: (at 70927) by debbugs.gnu.org; 14 May 2024 09:35:49 +0000 Original-Received: from localhost ([127.0.0.1]:38212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s6oZZ-0005Em-5W for submit@debbugs.gnu.org; Tue, 14 May 2024 05:35:49 -0400 Original-Received: from mail-lj1-f173.google.com ([209.85.208.173]:47429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s6oZX-0005Eg-A7 for 70927@debbugs.gnu.org; Tue, 14 May 2024 05:35:48 -0400 Original-Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2e576057c56so33303621fa.3 for <70927@debbugs.gnu.org>; Tue, 14 May 2024 02:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715679280; x=1716284080; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LPuZ5bXLr3MNbuBcdWCeHpuNhtkfDRkX9QwQqNGq7yM=; b=KrrL72tZeCZDv6CD62LsvsmohzdUaQowt1geWj1kO4FFWke2c4zT50e440M3RQdRYz bP+OuqUHcS6S90BndqKUNBhJUz7TGPQvP4fXppIF57oCZ/0wJBPFMk8mN0lM3sPdw0sC /qA+5dEpOn+2ayn7G5FPBZYwIr0D+Z0NhdTit6aEiLDbnMeJszwQM+R/MqASF4zM70V0 U4uxiz90PjHBcGVLCcD2iktsSwRT79iZz5NnBCx0rLw4e5uxO3R4xBSkXPggPL8+g8Mw zuh1vIuBGOGqw0POgjjFKFJFOoalNZNUOPvL52omHu1fCoYdxa9ahSWZRU7YyRqLQ4I8 zU0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715679280; x=1716284080; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LPuZ5bXLr3MNbuBcdWCeHpuNhtkfDRkX9QwQqNGq7yM=; b=QE/K4izD1Pyj8fl7ZLwaxlMy5nuMkVwuygbj1rWqdQ/3ajuruqTT/nKA/0i+XmId+B Xl2YeR0EMvDIr2bYzy5Dv1oHMQf3ckmKkgtjCOJc0hLpqEva+o2Xv4HDRrvOZsaZNLke wZvXRd+nfJtPbRUdy+Vxhd6pxWRicueaOhD4ZdU5o+QDP6NTcCPLQUKnfVuwPxAF/ZL8 LSC72czQEJHduOwQ9sVY5YjjShIZwb5g41MD3PZPCBuKzJIwgV6aC3Wd5BBJD/JJ5Nou w+RCbegavkxalKVxbmwPiLDU2JWnFpqlrYbEWPimg2a6Y5ufkjiRXsWlnyXBjNP/nEt7 WVdg== X-Forwarded-Encrypted: i=1; AJvYcCUoVgtkVebn5nIDcImaLN3BbDz5H74Ka85Pfk07Sc6Wyj6eeThh7nxne2g+QG1e0/dufqK/k9DrbTps/4XLPc3neZTWkIo= X-Gm-Message-State: AOJu0YyXwx8QYVVIZGfTe4Zjid74+X60vORWyXuw1DCYgbzmSyWQ3v5n dQWZ32hP7IMAHSiRFViO3Pw7gqWrdi2Y86Q8r8I7U8dbe4NFjWCKf/lr5Tr16JJlFwJUbigNRNL BKCJAtWwtXyrTKMiVd18EVMXFODY= X-Google-Smtp-Source: AGHT+IEtId8/4WOjm1gVCvftoxeLAJdn9c/pXu2U7v5Qco1cBHnAFhDEysRUJnTahH8xfaVcVpw1iRUNStVc0C8+VSA= X-Received: by 2002:a2e:934c:0:b0:2dc:d7e7:d68f with SMTP id 38308e7fff4ca-2e52039e285mr70009391fa.44.1715679280200; Tue, 14 May 2024 02:34:40 -0700 (PDT) In-Reply-To: <87jzjwg3gd.fsf@gmx.de> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:285004 Archived-At: This test passes locally (d8d4fd8c6dbe11542432fccdc31701da9f686460) and all tests were passing recently, so this seems to be a bisectable regression. I ask authors that have touched eglot.el recently to run the test suite to track this down. Jo=C3=A3o On Tue, May 14, 2024 at 10:14=E2=80=AFAM Michael Albinus wrote: > > Eli Zaretskii writes: > > Hi, > > >> When `eglot-autoshutdown` is set, killing eglot buffers fails with a > >> track-changes assertion because, from what I can tell, > >> `eglot--signal-textDocument/didChange` is called when > >> `eglot--track-changes` is `nil`. > >> > >> Backtrace: > >> > >> cl--assertion-failed((memq id track-changes--trackers)) > >> track-changes-fetch(nil #) > >> eglot--track-changes-fetch(nil) > >> eglot--signal-textDocument/didChange() > >> eglot--request(# :sh= utdown nil :timeout 1.5) > >> eglot-shutdown(#) > >> eglot--managed-mode(-1) > >> eglot--managed-mode-off() > >> kill-current-buffer() > >> funcall-interactively(kill-current-buffer) > >> command-execute(kill-current-buffer) > >> > >> Reproduction: > >> > >> 1. Start emacs with `emacs -Q`. > >> 2. Run `M-: (setopt eglot-autoshutdown t) RET` > >> 3. Open any file you have an LSP server for and run `M-x eglot RET`. > >> 4. Kill the buffer. > > > > Thanks, I added Stefan and Jo=C3=A3o to the discussion. > > Btw, the corresponding (?) test fails as well: > > --8<---------------cut here---------------start------------->8--- > # make -C test eglot-tests > Test eglot-test-auto-shutdown backtrace: > set-buffer(#) > (save-current-buffer (set-buffer buffer) (buffer-string)) > (princ (save-current-buffer (set-buffer buffer) (buffer-string)) 'ex > (let ((buffer (car tail))) (eglot--test-message "contents of `%s':" > (while tail (let ((buffer (car tail))) (eglot--test-message "content > (let ((tail buffers)) (while tail (let ((buffer (car tail))) (eglot- > (cond (noninteractive (let ((tail buffers)) (while tail (let ((buffe > (let ((buffers (delq nil (list (process-buffer (jsonrpc--process ser > (progn (let ((buffers (delq nil (list (process-buffer (jsonrpc--proc > (if (not test-body-successful-p) (progn (let ((buffers (delq nil (li > (let ((server (car tail))) (if (jsonrpc-running-p server) (progn (co > (while tail (let ((server (car tail))) (if (jsonrpc-running-p server > (let ((tail new-servers)) (while tail (let ((server (car tail))) (if > (let ((eglot-autoreconnect nil)) (let ((tail new-servers)) (while ta > (unwind-protect (let ((eglot-autoreconnect nil)) (let ((tail new-ser > (unwind-protect (let ((process-environment (cons (format "XDG_CONFIG > (let* ((fixture-directory (make-nearby-temp-file "eglot--fixture-" t > eglot--call-with-fixture((("project" ("thingy.c" . "int main() {retu > (let (server buffer) (eglot--call-with-fixture '(("project" ("thingy > #f(lambda () [typescript-mode-abbrev-table typescript-mode-syntax-ta > #f(compiled-function () #)() > handler-bind-1(#f(compiled-function () # > ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test > ert-run-test(#s(ert-test :name eglot-test-auto-shutdown :documentati > ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m > ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type > ert-run-tests-batch((not (tag :unstable))) > ert-run-tests-batch-and-exit((not (tag :unstable))) > eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) > command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l > command-line() > normal-top-level() > Test eglot-test-auto-shutdown condition: > (error "Selecting deleted buffer") > FAILED 3/49 eglot-test-auto-shutdown (0.229999 sec) at lisp/progmod= es/eglot-tests.el:344 > --8<---------------cut here---------------end--------------->8--- > > Best regards, Michael. --=20 Jo=C3=A3o T=C3=A1vora