GNU bug report logs - #30320
26.0.91; Crash when using lsp-ui-doc-mode

Previous Next

Package: emacs;

Reported by: Jake Goulding <jake.goulding <at> gmail.com>

Date: Thu, 1 Feb 2018 16:25:02 UTC

Severity: normal

Found in version 26.0.91

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jake Goulding <jake.goulding <at> gmail.com>, martin rudalics <rudalics <at> gmx.at>
Cc: 30320 <at> debbugs.gnu.org
Subject: bug#30320: 26.0.91; Crash when using lsp-ui-doc-mode
Date: Mon, 05 Feb 2018 19:03:01 +0200
> From: Jake Goulding <jake.goulding <at> gmail.com>
> Date: Sun, 4 Feb 2018 16:38:20 -0500
> 
> Ah, using `XSTRING(XSYMBOL(args[0])->u.s.name)->u.s.data` seems to do the trick:
> 
> <not a symbol 1>
> lsp--parser-on-message
> <not a symbol 2>
> lsp-ui-doc--callback
> lsp-ui-doc--display
> lsp-ui-doc--move-frame
> set-frame-size

Thanks, great job.  It is now clear what happens.  As I guessed,
lsp-ui assumes it is run in a GUI frame, so it calls functions that
make no sense on TTY frames.  I suggest to communicate this to the
developers of that package.

Can you avoid the crash if you remove the call to set-frame-size in
lsp-ui-doc--move-frame, or condition it on display-graphic-p returning
non-nil?

As for preventing such crashes even though some Lisp does nonsensical
things: I think a TTY frame cannot be less than 3 or 4 lines plus the
number of lines used for the menu bar.  Martin, WDYT about adding
these limitations to adjust_frame_size?

> not a symbol 1:
> 
> p *XVECTOR(args[0])
> (Lisp_Vector) $14 = {
>   header = (size = 4611686018729377797, gcaligned = '\x05')
>   contents = {}
> }
> (lldb) p PSEUDOVECTOR_TYPE(XVECTOR(args[0]))
> (pvec_type) $18 = PVEC_COMPILED
> 
> not a symbol 2:
> 
> p *XVECTOR(args[0])
> (Lisp_Vector) $16 = {
>   header = (size = 4611686018729377797, gcaligned = '\x05')
>   contents = {}
> }
> (lldb) p PSEUDOVECTOR_TYPE(XVECTOR(args[0]))
> (pvec_type) $17 = PVEC_COMPILED

Yes, these are byte-compiled functions.




This bug report was last modified 5 years and 261 days ago.

Previous Next


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