I asked this question over on sbcl-help already. Stas objected. So I'll ask it again here.
Last night I started running into the debugger when trying to start slime in emacs. This morning I
decided to delete all my .slime/ fasls, all of .cache/common-lisp/ all of ~/quicklisp and start
with a fresh copy of quicklisp.lisp. I updated my arch system (slightly newer version of emacs)
then tried to reinstall quicklisp.
The problem occurs upstream of emacs ever being started. I can reproduce the problem with these
steps:
$ rm -rf .slime .cache/common-lisp/* quicklisp
$ curl -O https://beta.quicklisp.org/quicklisp.lisp
$ sbcl --load quicklisp.lisp
* (quicklisp-quickstart:install)
* (ql:quickload "quicklisp-slime-helper")
To load "quicklisp-slime-helper":
Load 1 ASDF system:
asdf
Install 3 Quicklisp releases:
alexandria quicklisp-slime-helper slime
; Fetching #<URL "http://beta.quicklisp.org/archive/slime/2022-02-20/slime-v2.27.tgz">
; 803.72KB
==================================================
823,006 bytes in 0.09 seconds (9273.62KB/sec)
; Fetching #<URL
"http://beta.quicklisp.org/archive/alexandria/2022-02-20/alexandria-20220220…"> ; 55.16KB
==================================================
56,486 bytes in 0.01 seconds (5516.21KB/sec)
; Fetching #<URL
"http://beta.quicklisp.org/archive/quicklisp-slime-helper/2015-07-09/quickli…">
; 2.16KB ==================================================
2,211 bytes in 0.00 seconds (0.00KB/sec)
; 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.27/contrib/swank-util.lisp" (written
24 MAR 2022 12:08:30 PM): .
; wrote /home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-util.fasl
; compilation finished in 0:00:00.010
; compiling file
"/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-repl.lisp" (written
24 MAR 2022 12:08:30 PM): ......................................... [package swank-repl]..
; wrote /home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-repl.fasl
; compilation finished in 0:00:00.040
; compiling file
"/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-c-p-c.lisp"
(written 24 MAR 2022 12:08:30 PM): .
; wrote /home/jcunningham/.slime/fasl/2.27/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.27/contrib/swank-arglists.lisp"
(written 24 MAR 2022 12:08:30 PM): ................
; wrote /home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-arglists.fasl
; compilation finished in 0:00:00.360
; compiling file
"/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-fuzzy.lisp"
(written 24 MAR 2022 12:08:30 PM): ...
; wrote /home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-fuzzy.fasl
; compilation finished in 0:00:00.080
; compiling file
"/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-fancy-inspector.lisp"
(written 24 MAR 2022 12:08:30 PM): ........ .
; wrote
/home/jcunningham/.slime/fasl/2.27/sbcl-2.2.2-linux-x86-64/contrib/swank-fancy-inspector.fasl ;
compilation finished in 0:00:00.163 ; compiling file
"/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/contrib/swank-presentations.lisp"
(written 24 MAR 2022 12:08:30 PM): ;; ;; Error compiling
/home/jcunningham/quicklisp/dists/quicklisp/software/slime-v2.27/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 {10019B0073}>:
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.
(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]
Neither locate nor find show any signs of any other copy of swank or slime on this system. The only
thing in my .sbclrc is this:
;;; The following lines added by ql:add-to-init-file:
;;#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
;;; Added this to test reading bad char streams
(setf sb-impl::*default-external-format* :utf-8)
;;; Added this so I can change the names of package symbols and get
;;; prompted about whether or not I want to drop them:
(setf sb-ext:*on-package-variance* '(:error t))
I'm running out of ideas. Does anyone have any?
Thanks.
--Jeff