GNU bug report logs - #68699
Eglot completion has stopped working in some cases

Previous Next

Package: emacs;

Reported by: Brennan Vincent <brennan <at> umanwizard.com>

Date: Wed, 24 Jan 2024 20:38:01 UTC

Severity: normal

Done: João Távora <joaotavora <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Brennan Vincent <brennan <at> umanwizard.com>
Subject: bug#68699: closed (Re: bug#68699: Eglot completion has stopped
 working in some cases)
Date: Thu, 25 Jan 2024 19:12:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#68699: Eglot completion has stopped working in some cases

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 68699 <at> debbugs.gnu.org.

-- 
68699: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68699
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: João Távora <joaotavora <at> gmail.com>
To: Brennan Vincent <brennan <at> umanwizard.com>
Cc: 68699-done <at> debbugs.gnu.org
Subject: Re: bug#68699: Eglot completion has stopped working in some cases
Date: Thu, 25 Jan 2024 19:11:19 +0000
Great, thanks for testing.  Closing.  I've release Eglot 1.17
with this fix and another completion-related fix.

João

[Message part 3 (message/rfc822, inline)]
From: Brennan Vincent <brennan <at> umanwizard.com>
To: bug-gnu-emacs <at> gnu.org, João Távora
 <joaotavora <at> gmail.com>
Subject: Eglot completion has stopped working in some cases
Date: Wed, 24 Jan 2024 15:37:19 -0500
I bisected the issue to e93d99a4a0ce578249304dce350465c580a49892, so
including João.

In some cases when attempting to complete using eglot, I am getting
errors rather than a list of completions. I haven't been able to debug
why but it seems to be happening in "pcm" completion style.

For example, in a Rust crate with the following main file:

fn foo_len() {
}

fn main() {
    len
}

positioning my cursor after "len" and attempting completion yields the
following error message:

completion-pcm--merge-completions: Internal error: _mm_blend_epi16(…)
(use std::arch::x86_64::_mm_blend_epi16) doesn’t match \`len

Full backtrace:

Debugger entered--Lisp error: (error #("Internal error: _mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17 (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #5) 5 8 (face completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 21 24 (face completions-common-part)))
  signal(error (#("Internal error: _mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16) doesn’t match \\`len" 16 17 (eglot--lsp-item (:label #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item #6) 5 8 (face completions-common-part)) :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 21 24 (face completions-common-part))))
  error("Internal error: %s doesn't match %s" #("_mm_blend_epi16(…) (use std::arch::x86_64::_mm_blend_epi16)" 0 1 (eglot--lsp-item (:label #2 :kind 3 :detail "unsafe fn(__m128i, __m128i) -> __m128i" :documentation (:kind "markdown" :value "Blend packed 16-bit integers from `a` and `b` using the mask `IMM8`.\n\nThe mask bits determine the selection. A clear bit selects the\ncorresponding element of `a`, and a set bit the corresponding\nelement of `b`.\n\n[Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm_blend_epi16)") :deprecated :json-false :sortText "fffffff0" :filterText #("_mm_blend_epi16" 5 8 (face completions-common-part)) :insertTextFormat 2 :textEdit (:range (:start (:line 4 :character 4) :end (:line 4 :character 7)) :newText "_mm_blend_epi16(${1:a}, ${2:b})$0") :additionalTextEdits [] :command (:title "triggerParameterHints" :command "rust-analyzer.triggerParameterHints") :data (:position (:textDocument (:uri "file:///home/brennan/test_rust/src/bin/test_rust.rs") :position (:line 4 :character 7)) :imports [(:full_import_path "std::arch::x86_64::_mm_blend_epi16" :imported_name "_mm_blend_epi16")]))) 5 8 (face completions-common-part)) "\\`len")
  completion-pcm--merge-completions((... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) ("len"))
  completion-pcm--merge-try(("len") (... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) "" "")
  completion-pcm-try-completion("len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3)
  #f(compiled-function (style) #<bytecode -0x32c2df51d2b464c>)(partial-completion)
  #f(compiled-function (elt) #<bytecode 0x19004498146b82cc>)(partial-completion)
  mapc(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>) (eglot--dumb-flex basic partial-completion emacs22))
  seq-do(#f(compiled-function (elt) #<bytecode 0x19004498146b82cc>) (eglot--dumb-flex basic partial-completion emacs22))
  seq-some(#f(compiled-function (style) #<bytecode -0x32c2df51d2b464c>) (eglot--dumb-flex basic partial-completion emacs22))
  completion--nth-completion(1 "len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category . eglot-capf) (display-sort-function . #f(compiled-function (completions) #<bytecode -0x67c261ef9006e89>))))
  completion-try-completion("len" #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil 3 (metadata (category . eglot-capf) (display-sort-function . #f(compiled-function (completions) #<bytecode -0x67c261ef9006e89>))))
  ivy-completion-in-region(#<marker at 35 in test_rust.rs> 38 #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil)
  completion-in-region(#<marker at 35 in test_rust.rs> 38 #f(compiled-function (pattern pred action) #<bytecode 0x19ec37e26e8f5965>) nil)
  completion-at-point()
  complete-symbol(nil)
  funcall-interactively(complete-symbol nil)
  call-interactively(complete-symbol nil nil)
  command-execute(complete-symbol)




This bug report was last modified 1 year and 118 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.