alive icon indicating copy to clipboard operation
alive copied to clipboard

Debugging Retry input window not working

Open rongcuid opened this issue 4 years ago • 9 comments

For instance:

(defun divide (x y)
  (assert (not (zerop y))
          (y)
          "The second argument cannot be zero.")
  (/ x y))

(divide 1 0) ; <---

When I try to choose "CONTINUE", I see a pop up window flashing (and I believe it is for inputting the value), but it disappears immediately and I cannot do anything as I get this following echo window:

Screenshot from 2022-03-04 14-33-20

The window does not take any interaction except for echoing whatever I type.

rongcuid avatar Mar 04 '22 19:03 rongcuid

I tested on another computer, and it does not accept input either.

Now, here is the interesting thing: both computers use Pop OS, and its Pop shell has a functionality to tile windows automatically. If I turn off tiling, the input window works fine.

I don't know if this is the problem of the extension or pop shell. Other VSCode extensions have working input text fields like the ones used in this extension.

Pop shell is a GNOME extension, enabled by default on Pop OS.

rongcuid avatar Mar 12 '22 01:03 rongcuid

I have the same issue but on windows (remote WSL).

Dezmon avatar May 26 '22 16:05 Dezmon

This should be fixed with the new release.

nobody-famous avatar Jun 03 '22 15:06 nobody-famous

I attempted to test (both in WSL and a dev container) and I think the LSP is having trouble loading. Here is my output : `This is SBCL 2.0.1.debian, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. WARNING: System definition file #P"/home/vscode/.quicklisp/dists/quicklisp/software/cl-json-20220220-git/cl-json.asd" contains definition for system "cl-json.test". Please only define "cl-json" and secondary systems with a name starting with "cl-json/" (e.g. "cl-json/test") in that file.

debugger invoked on a SB-KERNEL:CASE-FAILURE in thread #<THREAD "main thread" RUNNING {1000560083}>: :LOCAL-NICKNAMES fell through ECASE expression. Wanted one of (:USE :MIX :REEXPORT :USE-REEXPORT :MIX-REEXPORT :IMPORT-FROM :SHADOWING-IMPORT-FROM :NICKNAMES :DOCUMENTATION :SHADOW :EXPORT :INTERN ...).

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry ASDF operation. 1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 2: Retry ASDF operation. 3: Retry ASDF operation after resetting the configuration. 4: [CONTINUE ] Ignore runtime option --eval "(asdf:load-system :alive-lsp)". 5: [ABORT ] Skip rest of --eval and --load options. 6: Skip to toplevel READ/EVAL/PRINT loop. 7: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).

(ASDF/PACKAGE-INFERRED-SYSTEM::PACKAGE-DEPENDENCIES (DEFPACKAGE :ALIVE/POSITION (:USE :CL) (:EXPORT :CREATE :LINE :COL :LESS-THAN :LESS-OR-EQUAL :FROM-WIRE) (:LOCAL-NICKNAMES (:TYPES :ALIVE/TYPES)))) error finding frame source: Bogus form-number: the source file has probably changed too much to cope with. source: NIL 0] `

Dezmon avatar Jun 03 '22 17:06 Dezmon

I keep forgetting to update the readme with this. The problem is ASDF needs updated. It needs to be at least 3.3.3 to have package local nicknames support.

nobody-famous avatar Jun 03 '22 17:06 nobody-famous

Took a bit to figure out how to upgrade (I'm new). It is now working in the dev container (ubuntu 20.04). Thank you!

edit the pop-up now gets stuck if the form fails to be evaluable.... I'll test further and report back.

Dezmon avatar Jun 03 '22 19:06 Dezmon

pop up hangs on some inputs. `(defun div (x y) (assert (not (zerop y))
(y) "Second arg can not be zero") (/ x y))

(div 2 0 )`

first, pup up answer 'y' then for the second constants like '4' work as expected but a form like (+ 2 2) as the replacement value for y causes the pop up to hand and the repel to not be interruptable. I will add the caveat that this is really my first try as common lisp though I have some experience in scheme and elisp. Thanks

Dezmon avatar Jun 04 '22 01:06 Dezmon

I meant to try that and apparently didn't. :-/

I pushed a fix, so it should download a new LSP server and be good.

nobody-famous avatar Jun 04 '22 02:06 nobody-famous

works great. and if the form has a problem you get the appropriate debug restarts for the new frame (?). Awsome work, thank you!

Dezmon avatar Jun 05 '22 18:06 Dezmon