lem-project / lem

Common Lisp editor/IDE with high expansibility
http://lem-project.github.io/
MIT License
2.4k stars 178 forks source link

Package-locked-error during lem install #1503

Open tetrazolium opened 2 months ago

tetrazolium commented 2 months ago

After cloning from git, installing qlot, running qlot init inside, then running make sdl2-ncurses, I encounter the following error:

...lem/.qlot/dists/quicklisp/software/cl-setlocale-20201220-git/src/constants__grovel.grovel-tmp.lisp
.While evaluating the form starting at line 2, column 0
  of #P"/home/user/.local/share/lem/scripts/build-sdl2-ncurses.lisp":

debugger invoked on a PACKAGE-LOCKED-ERROR in thread
#<THREAD tid=10137 "main thread" RUNNING {1000E60133}>:
  Lock on package LEM/BUFFER/INTERNAL violated when
  removing local nickname LINE for #<PACKAGE "LEM/BUFFER/LINE"> while in
  package COMMON-LISP-USER.
See also:
  The SBCL Manual, Node "Package Locks"

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

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE                     ] Ignore the package lock.
  1: [IGNORE-ALL                   ] Ignore all package locks in the context of this operation.
  2: [UNLOCK-PACKAGE               ] Unlock the package.
  3: [TRY-RECOMPILING              ] Recompile package and try loading it again
  4: [RETRY                        ] Retry
                                     loading FASL for #<CL-SOURCE-FILE "lem" "buffer" "package">.
  5: [ACCEPT                       ] Continue, treating
                                     loading FASL for #<CL-SOURCE-FILE "lem" "buffer" "package">
                                     as having been successful.
  6:                                 Retry ASDF operation.
  7: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  8:                                 Retry ASDF operation.
  9:                                 Retry ASDF operation after resetting the
                                     configuration.
 10: [ABORT                        ] Give up on "lem-ncurses"
 11: [REGISTER-LOCAL-PROJECTS      ] Register local projects and try again.
 12: [RETRY                        ] Retry EVAL of current toplevel form.
 13:                                 Ignore error and continue loading file "/home/user/.local/share/lem/scripts/build-sdl2-ncurses.lisp".
 14:                                 Abort loading file "/home/user/.local/share/lem/scripts/build-sdl2-ncurses.lisp".
 15:                                 Ignore runtime option --load "scripts/build-sdl2-ncurses.lisp".
 16:                                 Skip rest of --eval and --load options.
 17:                                 Skip to toplevel READ/EVAL/PRINT loop.
 18: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the process).

(PACKAGE-LOCK-VIOLATION #<PACKAGE "LEM/BUFFER/INTERNAL"> :SYMBOL NIL :FORMAT-CONTROL "removing local nickname ~A for ~A" :FORMAT-ARGUMENTS ("LINE" #<PACKAGE "LEM/BUFFER/LINE">))

When I unlock-package, or exit and rerun make sdl2-ncurses, it appears to complete successfully. However, when I run lem in ncurses mode, it will hang at a black sceen for about 20 seconds, before giving the following error:

lock on package LEM/BUFFER/INTERNAL violated when removing local nickname LINE for
See also:
  The SBCL Manual, Node "Package Locks"
Backtrace for: #<SB-THREAD:THREAD tid=10964 "editor" RUNNING {10038C0003}>
0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))
1: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN UIOP/STREAM:CAL
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRI
4: (LEM-CORE:POP-UP-BACKTRACE #<SB-EXT:PACKAGE-LOCKED-ERROR "removing local nickna
5: ((LAMBDA (CONDITION) :IN LEM-CORE::TOPLEVEL-COMMAND-LOOP) #<SB-EXT:PACKAGE-LOCK
6: (SB-KERNEL::%SIGNAL #<SB-EXT:PACKAGE-LOCKED-ERROR "removing local nickname ~A f
7: (CERROR "Ignore the package lock." SB-EXT:PACKAGE-LOCKED-ERROR :PACKAGE #<PACKA
8: (SB-EXT:PACKAGE-LOCK-VIOLATION #<PACKAGE "LEM/BUFFER/INTERNAL"> :SYMBOL NIL :FO
9: (SB-IMPL::ASSERT-PACKAGE-UNLOCKED #<PACKAGE "LEM/BUFFER/INTERNAL"> "removing lo
10: (SB-EXT:REMOVE-PACKAGE-LOCAL-NICKNAME "LINE" #<PACKAGE "LEM/BUFFER/INTERNAL">)
11: (UIOP/PACKAGE::INSTALL-PACKAGE-LOCAL-NICKNAMES #<PACKAGE "LEM/BUFFER/INTERNAL"
12: (UIOP/PACKAGE:ENSURE-PACKAGE :LEM/BUFFER/INTERNAL :NICKNAMES NIL :DOCUMENTATIO
13: ("top level form") [toplevel]
14: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM fo
15: ((LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL))
16: (SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::L
17: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/sybil/.cache/common-
18: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<SB-SYS:FD-STREAM for "file /home/s
19: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :I
20: (LOAD #P"/home/sybil/.cache/common-lisp/sbcl-2.4.5-linux-x64/home/sybil/.local
21: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LIS
22: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASD
23: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
24: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LIS
25: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:
26: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100534A453}
27: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
28: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100
29: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPON
30: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<AS
31: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
32: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<A
33: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF
34: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
35: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "lem-le
36: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:O
37: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
38: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:O
39: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "lem-le
40: (ASDF/OPERATE:LOAD-SYSTEM "lem-legit" :VERBOSE NIL)
41: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<FUNCTION (LAMBDA NIL :IN Q
42: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "lem-legit" :PROMPT NIL)
43: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument>
44: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T))
45: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) "lem-legit" :PROMPT NIL :SILENT NIL
46: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<FUNCTION (LAMBDA NIL :IN QUICKLISP-CLIE
cxxxr commented 2 months ago

I'm having trouble with this too. As a workaround, I'm selecting CONTINUE on restarts.

cxxxr commented 4 weeks ago

https://github.com/lem-project/lem/commit/cab3fad8f45c6f558f81ae1bc50c6124254a92b4 This change has stopped the errors from occurring. I think I've managed to get the SBCL compiler in a good mood.

edit: An error occurred afterwards :(

abourramouss commented 2 weeks ago

Same issue happening in fukamachi/.lem#3