[Sbcl-help] SWANK--REPL also exports the following symbols error

46 views
Skip to first unread message

Jeff Cunningham

unread,
Mar 24, 2022, 11:31:47 AM3/24/22
to SBCL-HELP
I started having problems while playing around with swank last night and thought I had broke
something. This morning I deleted my entire quicklisp directory and .slime directory and started
reloading everything from scratch. A fresh copy of quicklisp loaded just fine. But when I tryed to
load the quicklisp-slime-helper it now gives the error (below). This is what I was running into
last night and assumed it had something to do with my hacking around. But now I'm seeing it with
pristine code. Anyone have any idea what's going on?

Regards,

--Jeff


debugger invoked on a SB-INT:PACKAGE-AT-VARIANCE-ERROR in thread
#<THREAD "main thread" RUNNING {1001928073}>:
SWANK-REPL also exports the following symbols:
(SWANK-REPL:CREATE-REPL SWANK-REPL:LISTENER-GET-VALUE
SWANK-REPL:CLEAR-REPL-VARIABLES SWANK-REPL:LISTENER-SAVE-VALUE
SWANK-REPL:LISTENER-EVAL SWANK-REPL:REDIRECT-TRACE-OUTPUT)
See also:
The ANSI Standard, Macro DEFPACKAGE

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

restarts (invokable by number or by possibly-abbreviated name):
0: [DROP-THEM ] Unexport them.
1: [KEEP-THEM ] Keep exporting them.
2: [TRY-RECOMPILING ] Recompile swank-loader and try loading it again
3: [RETRY ] Retry
loading FASL for #<SWANK-LOADER-FILE "swank" "swank-loader">.
4: [ACCEPT ] Continue, treating
loading FASL for #<SWANK-LOADER-FILE "swank" "swank-loader">
as having been successful.
5: Retry ASDF operation.
6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
7: Retry ASDF operation.
8: Retry ASDF operation after resetting the
configuration.
9: [ABORT ] Give up on "quicklisp-slime-helper"
10: [REGISTER-LOCAL-PROJECTS ] Register local projects and try again.
11: Exit debugger, returning to top level.









_______________________________________________
Sbcl-help mailing list
Sbcl...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help

Michał "phoe" Herda via Sbcl-help

unread,
Mar 24, 2022, 11:43:15 AM3/24/22
to sbcl...@lists.sourceforge.net
Seems like you are trying to load two different versions of Swank into
the same Lisp image - one from somewhere, another from Quicklisp. Get
rid of one of them (I vote for the non-Quicklisp one).

Jeff Cunningham

unread,
Mar 24, 2022, 12:11:48 PM3/24/22
to sbcl...@lists.sourceforge.net
But I'm not. The only version of swank that exists at this point is 2.27 in the quicklisp directory
just downloaded. I checked with find. This is a clean quicklisp install.

Nathan Van Ymeren via Sbcl-help

unread,
Mar 24, 2022, 12:13:23 PM3/24/22
to sbcl...@lists.sourceforge.net
Hi Jeff,

Try deleting ~/.sbclrc

N

Michał "phoe" Herda via Sbcl-help

unread,
Mar 24, 2022, 12:19:44 PM3/24/22
to Jeff Cunningham, sbcl...@lists.sourceforge.net
Weird. This error message means that the SWANK-REPL package definition
is reevaluated at some point, and that the new definition is at variance
with the old one. Why and how would the package SWANK-REPL be
incompatibly redefined in your setup?

Jeff Cunningham

unread,
Mar 24, 2022, 12:30:32 PM3/24/22
to Michał "phoe" Herda, sbcl...@lists.sourceforge.net
I deleted .sbclrc - no change.
And I get the same thing now with the following steps: remember this is a clean quicklisp install. No emacs involved:

$ sbcl

This is SBCL 2.2.2, 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.
* (load "~/quicklisp/setup.lisp")
T
* (ql:quickload "quicklisp-slime-helper")
To load "quicklisp-slime-helper":
Load 1 ASDF system:
quicklisp-slime-helper
; Loading "quicklisp-slime-helper"
.
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-presentation-streams.lisp" (written 24 MAR 2022 08:23:31 AM):
;;
;; Error compiling /home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-presentation-streams.lisp:
;; attempt to load an empty FASL file:
;; "/home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-presentations.fasl"
;;

debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {1004DD0073}>:
attempt to load an empty FASL file:
"/home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-presentations.fasl"

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

restarts (invokable by number or by possibly-abbreviated name):

0: [TRY-RECOMPILING ] Recompile swank-loader and try loading it again
1: [RETRY ] Retry


loading FASL for #<SWANK-LOADER-FILE "swank" "swank-loader">.

2: [ACCEPT ] Continue, treating


loading FASL for #<SWANK-LOADER-FILE "swank" "swank-loader">
as having been successful.

3: Retry ASDF operation.
4: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the


configuration.
5: Retry ASDF operation.

6: Retry ASDF operation after resetting the
configuration.
7: [ABORT ] Give up on "quicklisp-slime-helper"
8: [REGISTER-LOCAL-PROJECTS ] Register local projects and try again.
9: Exit debugger, returning to top level.

(SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-presentations.fasl" {10028F61E3}> NIL NIL)
0]

Michał "phoe" Herda via Sbcl-help

unread,
Mar 24, 2022, 12:31:52 PM3/24/22
to Jeff Cunningham, sbcl...@lists.sourceforge.net
Delete the contents of ~/.slime/fasl/ as well as ~/.cache/common-lisp/

On 24.03.2022 17:30, Jeff Cunningham wrote:
> #<THREAD "main thread" RUNNING {1004DD0073}>:
> attempt to load an empty FASL file:
> "/home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-presentations.fasl"


Stas Boukarev

unread,
Mar 24, 2022, 12:33:11 PM3/24/22
to Jeff Cunningham, SBCL-HELP
This is another Slime-specific question. You should be asking it in
the Slime channels.

Jeff Cunningham

unread,
Mar 24, 2022, 4:14:10 PM3/24/22
to Stas Boukarev, SBCL-HELP
I apologize if this truely is off-topic. But I'm not sure it is yet. I have asked over in the
slime-help list. But then I tried the following experiment: I renamed my ~/quicklisp folder
~/quicklisp.broken and copied the entire quicklisp directory from my production machine (very
similar system). I deleted - again - all of ~/.slime and ~/.cache/common-lisp/* files and restarted
sbcl 2.2.2. All I have to do is try to load quicklisp-slime-helper and now I get the result below.

Did something change in sbcl 2.2.2 that might cause problems for slime?
This exact version of slime on the other machine loads fine under sbcl 2.2.1.

--Jeff

Output:

$ sbcl
This is SBCL 2.2.2, 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.
* (ql:quickload "quicklisp-slime-helper")
To load "quicklisp-slime-helper":
Load 1 ASDF system:
quicklisp-slime-helper
; Loading "quicklisp-slime-helper"
[package swank-loader]............................
[package swank/backend]...........................
[package swank/rpc]...............................
[package swank/match].............................
[package swank-mop]...............................
[package swank]...................................
[package swank/source-path-parser]................
[package swank/source-file-cache].................
[package swank/sbcl]..............................
[package swank/gray]..............................
........
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-util.lisp" (written 12 OCT 2021 03:01:19 PM):
.

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-util.fasl
; compilation finished in 0:00:00.013
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-repl.lisp" (written 12 OCT 2021 03:01:19 PM):
.........................................
[package swank-repl]..

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-repl.fasl
; compilation finished in 0:00:00.056
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-c-p-c.lisp" (written 12 OCT 2021 03:01:19 PM):
.

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-c-p-c.fasl
; compilation finished in 0:00:00.030
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-arglists.lisp" (written 12 OCT 2021 03:01:19 PM):
................

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-arglists.fasl
; compilation finished in 0:00:00.353
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-fuzzy.lisp" (written 12 OCT 2021 03:01:19 PM):
...

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-fuzzy.fasl
; compilation finished in 0:00:00.063
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-fancy-inspector.lisp" (written 12 OCT 2021 03:01:19 PM):
........

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-fancy-inspector.fasl
; compilation finished in 0:00:00.156
; compiling file "/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-presentations.lisp" (written 12 OCT 2021 03:01:19 PM):
;;
;; Error compiling /home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.26.1/contrib/swank-presentations.lisp:
;; SWANK-REPL also exports the following symbols:
;; (SWANK-REPL:CREATE-REPL SWANK-REPL:LISTENER-GET-VALUE
;; SWANK-REPL:CLEAR-REPL-VARIABLES SWANK-REPL:LISTENER-SAVE-VALUE
;; SWANK-REPL:LISTENER-EVAL SWANK-REPL:REDIRECT-TRACE-OUTPUT)
;; See also:
;; The ANSI Standard, Macro DEFPACKAGE
;;

debugger invoked on a SB-INT:PACKAGE-AT-VARIANCE-ERROR in thread
#<THREAD "main thread" RUNNING {1001F40073}>:
(SB-IMPL::NOTE-PACKAGE-VARIANCE :FORMAT-CONTROL "~A also exports the following symbols:~% ~S" :FORMAT-ARGUMENTS ("SWANK-REPL" (SWANK-REPL:CREATE-REPL SWANK-REPL:LISTENER-GET-VALUE SWANK-REPL:CLEAR-REPL-VARIABLES SWANK-REPL:LISTENER-SAVE-VALUE SWANK-REPL:LISTENER-EVAL SWANK-REPL:REDIRECT-TRACE-OUTPUT)) :PACKAGE #<PACKAGE "SWANK-REPL">)
0] 9

; wrote /home/jcunningham/.slime/fasl/2.26.1/sbcl-2.2.2-linux-x86-64/contrib/swank-presentations.fasl
; compilation finished in 0:01:06.973
;
; compilation unit aborted
; caught 2 fatal ERROR conditions
("quicklisp-slime-helper")
* (quit)
jcunningham@leopard:~[]
$ sbcl
This is SBCL 2.2.2, 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.
*















Jeff Cunningham

unread,
Mar 24, 2022, 5:49:09 PM3/24/22
to Stas Boukarev, SBCL-HELP
I created a new user on the problem machine. Had him install quicklisp using sbcl 2.2.1 and
installed quicklisp-slime-helper 2.27. No errors there. And slime loads the way it should in emacs.

Sure seems like sbcl 2.2.2 did something that breaks slime.

--Jeff




On Thu, 24 Mar 2022 13:13:49 -0700

Michał "phoe" Herda via Sbcl-help

unread,
Mar 24, 2022, 6:02:56 PM3/24/22
to sbcl...@lists.sourceforge.net
* (lisp-implementation-version)
"2.2.2"
* (lisp-implementation-type)
"SBCL"
* (ql:quickload :quicklisp-slime-helper)

To load "quicklisp-slime-helper":
  Load 1 ASDF system:
    quicklisp-slime-helper
; Loading "quicklisp-slime-helper"
.
slime-helper.el installed in
"/home/phoe/.roswell/lisp/quicklisp/slime-helper.el"

To use, add this to your ~/.emacs:

  (load (expand-file-name "~/.roswell/lisp/quicklisp/slime-helper.el"))
  ;; Replace "sbcl" with the path to your implementation
  (setq inferior-lisp-program "sbcl")

(:QUICKLISP-SLIME-HELPER)

Works on my machine on SBCL 2.2.2.

Jeff Cunningham

unread,
Mar 24, 2022, 6:50:35 PM3/24/22
to Michał "phoe" Herda via Sbcl-help
Your test made me think of something: the version of 2.2.2 I was running was the prebuilt binary
that loads with the Arch linux package manager.; I just downloaded the source code and built it
myself, and it works fine. From which I conclude the bug is introduced by their build. I'll stick
with building from source code, I guess. That's what happens when you get lazy.

Thanks for all your help.

--Jeff


On Thu, 24 Mar 2022 23:02:15 +0100


Michał "phoe" Herda via Sbcl-help <sbcl...@lists.sourceforge.net> wrote:

> * (lisp-implementation-version)
> "2.2.2"
> * (lisp-implementation-type)
> "SBCL"
> * (ql:quickload :quicklisp-slime-helper)
> To load "quicklisp-slime-helper":
>   Load 1 ASDF system:
>     quicklisp-slime-helper
> ; Loading "quicklisp-slime-helper"
> .
> slime-helper.el installed in
> "/home/phoe/.roswell/lisp/quicklisp/slime-helper.el"
>
> To use, add this to your ~/.emacs:
>
>   (load (expand-file-name "~/.roswell/lisp/quicklisp/slime-helper.el"))
>   ;; Replace "sbcl" with the path to your implementation
>   (setq inferior-lisp-program "sbcl")
>
> (:QUICKLISP-SLIME-HELPER)
>
> Works on my machine on SBCL 2.2.2.
>

2QdxY4Rz...@potatochowder.com

unread,
Mar 24, 2022, 7:19:46 PM3/24/22
to sbcl...@lists.sourceforge.net
On 2022-03-24 at 15:50:07 -0700,
Jeff Cunningham <jef...@jkcunningham.com> wrote:

> Your test made me think of something: the version of 2.2.2 I was
> running was the prebuilt binary that loads with the Arch linux package
> manager.; I just downloaded the source code and built it myself, and
> it works fine. From which I conclude the bug is introduced by their
> build. I'll stick with building from source code, I guess. That's what
> happens when you get lazy.

I'm running Arch's SBCL 2.2.2, Arch's Emacs 27.2, and Emacs's package
manager's SLIME 20220302.1215, on Arch's 5.15.27-1-lts kernel, and it's
all working.

I used to have random issues upgrading, but now, whenever there's a new
version of SBCL, Emacs, or SLIME, I quit all three, delete SLIME's fasl
files from a shell, and restart Emacs and SLIME. Maybe it's overkill,
but I'm not having issues anymore, either.

HTH,

--
I can eat glass, it does not hurt me.
Dan Sommers, http://www.tombstonezero.net/dan

Reply all
Reply to author
Forward
0 new messages