nobody-famous / alive-lsp

Language Server Protocol implementation for use with the Alive extension
81 stars 9 forks source link

Warnings when using the coalton library #66

Open mister-drgn opened 3 months ago

mister-drgn commented 3 months ago

Hi, I'm experimenting with a lisp library called coalton. Sometimes, when I attempt to load a file into the repl, I get a series of warnings. They all have the general form "Source ndx 3, path (3 3 2 3), form NIL." I can't find any mention of this type of warning online, but I can see that it's happening in the Alive code, and I was hoping I might be able to get some help here. Note that I can choose to skip the warning, and if I do this about 6 times, the code does load up correctly. If I load the code in pure sbcl, there are no warnings--not surprising, since again the warning is in the Alive code.

I'm including a copy of the backtrace below. I can provide more details on the code I'm trying to load if desired, but I think it will get complicated as it involves a third-party library.

Any help with either addressing or muting the warnings would be appreciated. Thanks.


LIST-DEBUG-FRAMES
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/frames.lisp
47
(LAMBDA (C H) IN RUN-FN)
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/session.lisp
46
RUN-HOOK
SYS:SRC;CODE;DEBUG.LISP
45
INVOKE-DEBUGGER
SYS:SRC;CODE;DEBUG.LISP
44
ERROR
SYS:SRC;CODE;COLD-ERROR.LISP
43
GET-RANGE-FOR-PATH
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/parse/forms.lisp
42
SEND-MESSAGE
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/compat/sbcl/file.lisp
41
(LAMBDA (ERR) IN DO-CMD)
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/compat/sbcl/file.lisp
40
%SIGNAL
SYS:SRC;CODE;COLD-ERROR.LISP
39
COMPILER-STYLE-WARNING-HANDLER
SYS:SRC;COMPILER;IR1REPORT.LISP
38
%SIGNAL
SYS:SRC;CODE;COLD-ERROR.LISP
37
(FLET %WARN IN SYS:SRC;CODE;WARM-ERROR.LISP)
SYS:SRC;CODE;WARM-ERROR.LISP
36
LOAD-DEFMETHOD-INTERNAL
SYS:SRC;PCL;BOOT.LISP
35
SIMPLE-EVAL-IN-LEXENV
SYS:SRC;CODE;EVAL.LISP
34
SIMPLE-EVAL-IN-LEXENV
SYS:SRC;CODE;EVAL.LISP
33
EVAL-TLF
SYS:SRC;CODE;EVAL.LISP
32
(FLET FROB IN EVAL-COMPILE-TOPLEVEL)
SYS:SRC;COMPILER;MAIN.LISP
31
EVAL-COMPILE-TOPLEVEL
SYS:SRC;COMPILER;MAIN.LISP
30
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
29
PROCESS-TOPLEVEL-PROGN
SYS:SRC;COMPILER;MAIN.LISP
28
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
27
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
26
PROCESS-TOPLEVEL-PROGN
SYS:SRC;COMPILER;MAIN.LISP
25
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
24
PROCESS-TOPLEVEL-PROGN
SYS:SRC;COMPILER;MAIN.LISP
23
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
22
PROCESS-TOPLEVEL-PROGN
SYS:SRC;COMPILER;MAIN.LISP
21
PROCESS-TOPLEVEL-FORM
SYS:SRC;COMPILER;MAIN.LISP
20
(LAMBDA (FORM &KEY CURRENT-INDEX &ALLOW-OTHER-KEYS) IN SUB-COMPILE-FILE)
SYS:SRC;COMPILER;MAIN.LISP
19
%DO-FORMS-FROM-INFO
SYS:SRC;COMPILER;MAIN.LISP
18
(LAMBDA () IN SUB-COMPILE-FILE)
SYS:SRC;COMPILER;MAIN.LISP
17
(FLET WITH-IT IN %WITH-COMPILATION-UNIT)
SYS:SRC;COMPILER;MAIN.LISP
16
SUB-COMPILE-FILE
SYS:SRC;COMPILER;MAIN.LISP
15
COMPILE-FILE
SYS:SRC;COMPILER;MAIN.LISP
14
DO-CMD
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/compat/sbcl/file.lisp
13
DO-LOAD
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/compat/sbcl/file.lisp
12
DO-CMD
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/file.lisp
11
(LAMBDA () IN HANDLE-LOAD-FILE)
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/session.lisp
10
RUN-FN
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/session.lisp
9
(LAMBDA () IN RUN-IN-THREAD)
/home/andrew/.vscode/extensions/rheller.alive-0.4.4/out/alive-lsp/v0.2.7/nobody-famous-alive-lsp-3478f96/src/session.lisp
8
(LABELS %BINDING-DEFAULT-SPECIALS-WRAPPER IN BINDING-DEFAULT-SPECIALS)
/nix/store/xs4kp1vxbaxh5vsdy82sx9gk5j1ihrag-source/apiv1/bordeaux-threads.lisp
7
(FLET BODY IN RUN)
SYS:SRC;CODE;TARGET-THREAD.LISP
6
(FLET WITHOUT-INTERRUPTS-BODY- IN RUN)
SYS:SRC;CODE;TARGET-THREAD.LISP
5
(FLET BODY IN RUN)
SYS:SRC;CODE;TARGET-THREAD.LISP
4
(FLET WITHOUT-INTERRUPTS-BODY- IN RUN)
SYS:SRC;CODE;TARGET-THREAD.LISP
3
RUN
SYS:SRC;CODE;TARGET-THREAD.LISP
2
foreign function: call_into_lisp_
1
foreign function: funcall1```
nobody-famous commented 3 months ago

For now, if ignoring it works then do that.

The "path (3 3 2 3)" thing is the annoying way that sbcl specifies where things are in the code. It means "find the 3rd form, then find its 3rd child, then find that form's 2nd child, and that form's 3rd child is the one you're looking for." The warning is saying that Alive couldn't find anything where sbcl told it to look.

Until I can figure out what's causing the mismatch, I can put in some defensive code to silently ignore it.

mister-drgn commented 3 months ago

Wow, that was a fast response. Thanks. My initial fix was to mute all warnings with (declaim (sb-ext:muffle-conditions cl:warning)) I don't know if there's a more specific thing I should do.