lem icon indicating copy to clipboard operation
lem copied to clipboard

Random error when starting up on SLIME (Lem version: Docker Windows)

Open ValorZard opened this issue 1 year ago • 13 comments

To replicate: do M-x slime on Lem

Backtrace for: #<SB-THREAD:THREAD tid=19 "editor" RUNNING {100681ECC3}>
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:CALL-WITH-SAFE-IO-SYNTAX) {7F82CD4C6B6B}>3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {10012FFB1B}> :PACKAGE :4: (LEM-CORE:POP-UP-BACKTRACE #<LEM/COMMON/TIMER:TIMER-ERROR {10012FF8A3}>)
5: ((LAMBDA (CONDITION) :IN LEM-CORE:COMMAND-LOOP) #<LEM/COMMON/TIMER:TIMER-ERROR {10012FF8A3}>)
6: (SB-KERNEL::%SIGNAL #<LEM/COMMON/TIMER:TIMER-ERROR {10012FF8A3}>)
7: (ERROR LEM/COMMON/TIMER:TIMER-ERROR :TIMER #<LEM/COMMON/TIMER:TIMER "(LABELS INTERVAL IN RUN-SLIME)" {100628B363}> :C8: (LEM/COMMON/TIMER::CALL-TIMER-FUNCTION #<LEM/COMMON/TIMER:TIMER "(LABELS INTERVAL IN RUN-SLIME)" {100628B363}>)
9: ((LAMBDA NIL :IN LEM/COMMON/TIMER:SEND-TIMER-NOTIFICATION))
10: (LEM-CORE:RECEIVE-EVENT NIL)
11: (LEM-CORE::READ-EVENT-INTERNAL :ACCEPT-KEY T :ACCEPT-MOUSE T)
12: (LEM-CORE::READ-EVENT-WITH-RECORDING-AND-RUN-HOOKS :ACCEPT-KEY T :ACCEPT-MOUSE T)
13: (LEM-CORE:READ-COMMAND)
14: (LEM/COMMON/TIMER::CALL-WITH-IDLE-TIMERS #<FUNCTION (LAMBDA NIL :IN LEM-CORE::COMMAND-LOOP-BODY) {558EFABB}>)
15: (LEM-CORE::COMMAND-LOOP-BODY)
16: (LEM-CORE:COMMAND-LOOP)
17: (LEM-CORE::TOPLEVEL-COMMAND-LOOP #<FUNCTION (LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD) {10072C380B}>)
18: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
19: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
20: ((LABELS BORDEAUX-THREADS::%BINDING-DEFAULT-SPECIALS-WRAPPER :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
21: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
22: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-THREAD::RUN))
23: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))```

and then after I press space

12: (LEM-CORE::READ-EVENT-WITH-RECORDING-AND-RUN-HOOKS :ACCEPT-KEY T :ACCEPT-MOUSE T)
13: (LEM-CORE:READ-COMMAND)
14: (LEM/COMMON/TIMER::CALL-WITH-IDLE-TIMERS #<FUNCTION (LAMBDA NIL :IN LEM-CORE::COMMAND-LOOP-BODY) {558EFABB}>)
15: (LEM-CORE::COMMAND-LOOP-BODY)
16: (LEM-CORE:COMMAND-LOOP)                                                                                             17: (LEM-CORE::TOPLEVEL-COMMAND-LOOP #<FUNCTION (LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD) {10072C380B}>)             18: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
19: ((LAMBDA NIL :IN LEM-CORE::RUN-EDITOR-THREAD))
20: ((LABELS BORDEAUX-THREADS::%BINDING-DEFAULT-SPECIALS-WRAPPER :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
21: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))                                                                           22: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-THREAD::RUN))
23: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
24: ((FLET "WITHOUT-INTERRUPTS-BODY-" :IN SB-THREAD::RUN))
25: (SB-THREAD::RUN)
26: ("foreign function: call_into_lisp_")
27: ("foreign function: funcall1")

ValorZard avatar Sep 15 '24 01:09 ValorZard

It may be that the Lisp process is not starting. Is there anything displayed in the buffer called *Run Lisp/xxx*?

cxxxr avatar Sep 15 '24 01:09 cxxxr

https://drive.google.com/file/d/1rw6bLBedoBRKHh7scymlSMyR1kymhtK-/view?usp=sharing @cxxxr took a video of what happened

ValorZard avatar Sep 16 '24 00:09 ValorZard

What REPL is evaluating is probably the process of lem itself before SBCL starts up.

Is there anything displayed in the buffer called *Run Lisp/xxx*?

cxxxr avatar Sep 16 '24 07:09 cxxxr

@cxxxr I think this is it? image image image

ValorZard avatar Sep 19 '24 17:09 ValorZard

Thanks for posting the screenshot. I don't have a Windows PC to hand, so I can't reproduce it, but it looks like the server is failing to start up.

What will be the output of the following command?

$ docker exec -it <container-name> /bin/bash
$ sbcl
* (require :asdf)
* (asdf:load-asd #P"/app/.qlot/dists/micros/software/micros-ref-9fc7f1e5b0dbf1b9218a3f0aca7ed46e90aa86fd/micros.asd")
* (asdf:load-system :micros)

cxxxr avatar Sep 20 '24 02:09 cxxxr

@cxxxr

* (require :asdf)
("ASDF" "asdf" "UIOP" "uiop")
* (asdf:load-asd #P"/app/.qlot/dists/micros/software/micros-ref-9fc7f1e5b0dbf1b9218a3f0aca7ed46e90aa86fd/micros.asd")
#<ASDF/FIND-SYSTEM:DEFINE-OP >
#<ASDF/PLAN:SEQUENTIAL-PLAN {1003DA5E33}>
* (asdf:load-system :micros)

debugger invoked on a ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread
#<THREAD tid=26 "main thread" RUNNING {1000E78003}>:
  Component :MICROS not found

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: [ABORT                        ] Exit debugger, returning to top level.

((:METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) ASDF/LISP-ACTION:LOAD-OP :MICROS) [fast-method]
   error finding frame source: Bogus form-number: the source file has probably
                               changed too much to cope with.
   source: NIL

ValorZard avatar Sep 20 '24 03:09 ValorZard

Thank you. Hmm, it looks like you can't find micros. Do you think you can find it using the find command? I get the following result.

$ docker exec -it angry_cray /bin/bash
9de61e2dfbc3:/app# ls
CONTRIBUTING.md  ChangeLog.md     Dockerfile       LICENCE          Makefile         README.md        contrib          docker           docs             extensions       frontends        lem              lem-tests.asd    lem.asd          qlfile           qlfile.lock      roswell          screenshots      scripts          src              tests
9de61e2dfbc3:/app# ls .qlot
asdf.lisp             bin                   dists                 local-init            local-projects        qlot.conf             quicklisp             setup.lisp            source-registry.conf  tmp
9de61e2dfbc3:/app# find /app/.qlot/ -name micros.asd
/app/.qlot/dists/micros/software/micros-ref-9fc7f1e5b0dbf1b9218a3f0aca7ed46e90aa86fd/micros.asd
9de61e2dfbc3:/app# 

cxxxr avatar Sep 20 '24 03:09 cxxxr

@cxxxr

PS C:\Users\sraya> docker exec -it crazy_hopper /bin/bash
189157111c82:/app# ls
CONTRIBUTING.md  Makefile         docs             lem-tests.asd    qlfile.lock      src
ChangeLog.md     README.md        extensions       lem.asd          roswell          tests
Dockerfile       contrib          frontends        lib              screenshots
LICENCE          docker           lem              qlfile           scripts
189157111c82:/app# ls .qlot
asdf.lisp             dists                 local-projects        quicklisp             source-registry.conf
bin                   local-init            qlot.conf             setup.lisp            tmp
189157111c82:/app# find /app/.qlot/ -name micros.asd
/app/.qlot/dists/micros/software/micros-ref-994d4d67467ec1b6eddacad9dba385b42101679e/micros.asd
189157111c82:/app#

ValorZard avatar Sep 20 '24 17:09 ValorZard

Will this work?

937658054a71:/app# sbcl --eval '(require :asdf)' --eval '(asdf:load-asd #p"/app/.qlot/dists/micros/software/micros-ref-9fc7f1e5b0dbf1b9218a3f0aca7ed46e90aa86fd/micros.asd")' --eval '(asdf:load-system :micros)' --eval '(micros:create-server)'

cxxxr avatar Sep 21 '24 00:09 cxxxr

@cxxxr

PS C:\Users\sraya> docker exec -it angry_kare /bin/bash
3e7b0cb8bcfb:/app# find /app/.qlot/ -name micros.asd
/app/.qlot/dists/micros/software/micros-ref-994d4d67467ec1b6eddacad9dba385b42101679e/micros.asd
3e7b0cb8bcfb:/app# sbcl --eval '(require :asdf)' --eval '(asdf:load-asd #p"/app/.qlot/dists/micros/software/micros-ref-994d4d67467ec1b6eddacad9dba385b42101679e/micros.asd")' --eval '(asdf:load-system :micros)' --eval '(micros:create-server)'
This is SBCL 2.4.4, 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.
STYLE-WARNING:
   The new FTYPE proclamation for MICROS/BACKEND:GETPID
     (FUNCTION NIL (VALUES (SIGNED-BYTE 32) &OPTIONAL))
   does not match the derived return type
     (FUNCTION NIL *)
WARNING:
   redefining EMACS-INSPECT (#<SB-PCL:SYSTEM-CLASS COMMON-LISP:T>) in DEFMETHOD
WARNING:
   redefining THREAD-FOR-EVALUATION (#<STRUCTURE-CLASS MICROS::MULTITHREADED-CONNECTION>
                                     #<SB-MOP:EQL-SPECIALIZER :FIND-EXISTING>) in DEFMETHOD

debugger invoked on a SB-KERNEL:SIMPLE-PACKAGE-ERROR in thread
#<THREAD tid=62 "main thread" RUNNING {1004250133}>:
  The loader tried loading the symbol named QUICKLOAD into the package named QUICKLISP-CLIENT, but the package did not get defined, and does not exist.

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 lsp-api and try loading it again
  1: [RETRY                        ] Retry
                                     loading FASL for #<CL-SOURCE-FILE "micros" "lsp-api">.
  2: [ACCEPT                       ] Continue, treating
                                     loading FASL for #<CL-SOURCE-FILE "micros" "lsp-api">
                                     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: [CONTINUE                     ] Ignore runtime option --eval "(asdf:load-system :micros)".
  8: [ABORT                        ] Skip rest of --eval and --load options.
  9:                                 Skip to toplevel READ/EVAL/PRINT loop.
 10: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::CALL-WITH-LOADER-PACKAGE-NAMES #<FUNCTION (LAMBDA NIL :IN SB-FASL::LOAD-AS-FASL) {100285233B}>)
0]

ValorZard avatar Sep 21 '24 19:09 ValorZard

Thank you. I tried updating the docker image. Does the same error still occur?

cxxxr avatar Sep 23 '24 06:09 cxxxr

Yes :(

ValorZard avatar Sep 25 '24 21:09 ValorZard

This issue has been inactive for {days} days. If there is no activity within the next 14 days, it will be automatically closed. Please add a comment if it is still relevant.

github-actions[bot] avatar Aug 11 '25 18:08 github-actions[bot]

Closing this issue due to inactivity. Please reopen or create a new issue if the problem persists.

github-actions[bot] avatar Dec 16 '25 18:12 github-actions[bot]