LispWorks backend - completion stops working and raises errors after loading Trivia #513
Replies: 6 comments 27 replies
-
Use Git in both repos in the corresponding file and find the missing commits. Then cherry-pick in the SLIME -> SLY direction. I haven't done it in a while. It usually works fine. You may also think of investigating and describing the specific issue (though I haven't had much time lately to look at this). |
Beta Was this translation helpful? Give feedback.
-
Before debug log, I'd just invoke the function from the repl with those
arguments. You won't have the same dynamic state, but it might be
sufficient to reproduce it.
…On Sat, Jul 2, 2022, 08:51 Manfred Bergmann ***@***.***> wrote:
Under 'more' the stack trace is actually longer.
I've expanded it:
Error (TYPE-ERROR) printing the following condition: #<TYPE-ERROR 80100FE593>
[Condition of type TYPE-ERROR]
Restarts:
0: [*ABORT] Return to SLY's top level.
1: [ABORT] Quit process.
Backtrace:
0: [error printing frame]
Locals:
DATUM = TYPE-ERROR
ARGUMENTS = #<CONS <<error printing object>> 80302A55F1>
1: [error printing frame]
Locals:
SYSTEM::ESTRING = TYPE-ERROR
SYSTEM::EARGS = #<CONS <<error printing object>> 80302A55F1>
2: [error printing frame]
[No Locals]
3: [error printing frame]
Locals:
RESULT-TYPE = SIMPLE-STRING
SEQUENCES = #<CONS <<error printing object>> 80501E9CC1>
4: [error printing frame]
Locals:
SYSTEM::RESULT-TYPE = SIMPLE-STRING
SYSTEM::SEQUENCES = #<CONS <<error printing object>> 80501E9CC1>
5: (SLYNK-COMPLETION::QUALIFIED-MATCHING "QL" #<The COMMON-LISP-USER package, 744/1024 internal, 0/4 external>)
Locals:
PATTERN = "QL"
HOME-PACKAGE = #<The COMMON-LISP-USER package, 744/1024 internal, 0/4 external>
FIRST-COLON = NIL
STARTS-WITH-COLON = NIL
TWO-COLONS = NIL
PACKAGE-LOCAL-NICKNAMES = NIL
PACKAGE-LOCAL-NICKNAMES-BY-PACKAGE = #<EQL Hash Table{0} 80100FA86B>
NICKNAMES-BY-PACKAGE = #<EQL Hash Table{49} 80100FAA63>
DBG::|internal-flet-name-for-SORTED-NICKNAMES| = #<Closure (FLET SLYNK-COMPLETION::SORTED-NICKNAMES) subfunction of SLYNK-COMPLETION::QUALIFIED-MATCHING 80501E9D69>
DBG::COLLECT-EXTERNAL = (("QL-CDB:CONVERT-INDEX-FILE" QL-CDB:CONVERT-INDEX-FILE (0 1) 7.1875146E-4) ..)
DBG::COLLECT-INTERNAL = NIL
DBG::|internal-flet-name-for-COLLECT-EXTERNAL| = #<Closure (FLET SLYNK-COMPLETION::COLLECT-EXTERNAL) subfunction of SLYNK-COMPLETION::QUALIFIED-MATCHING 8020022959>
USE-LIST = (#<The COMMON-LISP package, 0/4 internal, 978/1024 external> #<The HARLEQUIN-COMMON-LISP package, 2/8 internal, 379/512 external> #<The LISPWORKS package, 0/4 internal, 229/256 external>)
PACKAGE = #<The TRIVIA.LEVEL2 package, 0/256 internal, 87/256 external>
DBG::|tail-| = (#<The TRIVIA.LEVEL1 package, 0/16 internal, 15/16 external> ..)
SORTED-NICKNAMES = ("TRIVIA" "TRIVIA.LEVEL2")
DBG::|do-externals-symbols-package-| = #<The TRIVIA.LEVEL2 package, 0/256 internal, 87/256 external>
S = #<SYMBOL <<error printing object>> 80800B6D59>
DBG::G = 49
DBG::G = #(TRIVIA.LEVEL2:ROW-MAJOR-ARRAY* 0 0 0 0 0 TRIVIA.LEVEL2:ROW-MAJOR-ARRAY 0 0 0 TRIVIA.LEVEL2:*ARITY-CHECK-BY-TEST-CALL* TRIVIA.LEVEL2:DEFOPTIMIZER 0 0 0 0 0 0 0 TRIVIA.LEVEL2:LAMBDA-LIST 0 0 0 0 0 ..)
DBG::G = 512
NICKNAME = "TRIVIA"
DBG::|tail-| = ("TRIVIA.LEVEL2")
6: (SLYNK-COMPLETION:FLEX-COMPLETIONS "ql" "common-lisp-user" :LIMIT 300)
7: (SYSTEM::%INVOKE :INVISIBLEP T)
8: (SYSTEM::%EVAL (SLYNK-COMPLETION:FLEX-COMPLETIONS "ql" '"common-lisp-user"))
9: (EVAL (SLYNK-COMPLETION:FLEX-COMPLETIONS "ql" '"common-lisp-user"))
10: (SLYNK:EVAL-FOR-EMACS (SLYNK-COMPLETION:FLEX-COMPLETIONS "ql" '"common-lisp-user") "common-lisp-user" 40)
11: ((SUBFUNCTION 1 (SUBFUNCTION 1 (SUBFUNCTION 1 SLYNK::SPAWN-WORKER-THREAD))))
12: ((SUBFUNCTION (FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK) (TOP-LEVEL-FORM 50)) ..)
13: ((SUBFUNCTION 1 SLYNK::CALL-WITH-LISTENER))
14: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<The COMMON-LISP-USER package, 744/1024 internal, 0/4 external>) (*DEFAULT-PATHNAME-DEFAULTS* . #P"") (* :TRIVIA) (**) (***) (/ (:TRIVIA)) ...) ..)
15: ((SUBFUNCTION 1 (SUBFUNCTION 1 SLYNK::SPAWN-WORKER-THREAD)))
16: (MP::PROCESS-SG-FUNCTION 0 NIL NIL)
17: [error printing frame]
Not sure how to further troubleshoot.
Would it make sense to do some debug log in
SLYNK-COMPLETION::QUALIFIED-MATCHING?
—
Reply to this email directly, view it on GitHub
<#513 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC6PQ7PU7EOO7WJ3AVUJLDVR7YGRANCNFSM5WSAVJBA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
That's nice. Then try to narrow it down a bit further. It's most likely a
bug in sly, but it can also be in lispworks (in which sly would probably be
patched anyway) or some very intense mischief by trivia.
…On Sat, Jul 2, 2022, 09:23 Manfred Bergmann ***@***.***> wrote:
Yeah, ok.
I can reproduce:
CL-USER> (slynk-completion::qualified-matching "foo" (find-package 'cl-user))
; Debugger entered on #<TYPE-ERROR 8010020B6B>
The local variables are similar. Seems to fail while searching for matches
in trivia.level2 package.
—
Reply to this email directly, view it on GitHub
<#513 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC6PQ2WN5CAO45ILSQM573VR74APANCNFSM5WSAVJBA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
So I've narrowed it down to a section where external symbols are processed in
A further stack-trace of this is:
This
I do not know what a SIMPLE-BMP-STRING is. Probably a LispWorks string implementation? |
Beta Was this translation helpful? Give feedback.
-
Anyway, thank you both for your help. |
Beta Was this translation helpful? Give feedback.
-
Away from my PC (at the 🏖️ hehe) but I've just skimmed this enthralling
discussion, and I gather a simple patch/pr to sly's lispworks backend is in
order. If so, fantastic, and I suppose the patch would apply to slime too
(except that slime doesn't immediately seem to have user code triggering
this...)
…On Sat, Jul 2, 2022, 12:45 phoe ***@***.***> wrote:
I think it's somewhat safe to assume that everyone who uses slynk will
prefer Unicode support to 8-bit character efficiency, so, yes, IMO Slynk
should set that during its setup.
—
Reply to this email directly, view it on GitHub
<#513 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC6PQ3NZZZNFMPJOFETO73VSATUPANCNFSM5WSAVJBA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi.
I found some issues in the LispWorks backend in Sly, but the Slime one seems to work fine.
@joaotavora what usually is the strategy to update those backends from Slime?
Is it use the Slime one and rename swank to slynk? Or is it diffing in new stuff one by one?
Thanks,
Manfred
Beta Was this translation helpful? Give feedback.
All reactions