screenshotbot / screenshotbot-oss

A Screenshot Testing service to tie with your existing Android, iOS and Web screenshot tests
https://screenshotbot.io
Mozilla Public License 2.0
238 stars 13 forks source link

Error when loading in SBCL/CentOS #2

Closed liweijian closed 3 years ago

liweijian commented 3 years ago

SBCL version: 1.4.0-1.el7

With logs:

$ sbcl --script launch.lisp
To load "log4cl":
  Load 1 ASDF system:
    log4cl
; Loading "log4cl"
.
To load "documentation-utils":
  Load 1 ASDF system:
    documentation-utils
; Loading "documentation-utils"

 <INFO> [17:27:46] cl-user prepare-image.lisp () -
  *local-project-directories: (#P"/data/cs601/lwj/hobs/screenshotbot-oss/third-party/"
                               #P"/data/cs601/lwj/hobs/screenshotbot-oss/src/"
                               #P"/data/cs601/lwj/hobs/screenshotbot-oss/quicklisp/local-projects/")
To load "cl-ppcre":
  Load 1 ASDF system:
    cl-ppcre
; Loading "cl-ppcre"
.
To load "server":
  Load 1 ASDF system:
    server
; Loading "server"
...........; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Symbol "BROKEN-PIPE" not found in the SB-INT package.
;   
;       Line: 208, Column: 45, File-Position: 8569
;   
;       Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/src/hunchentoot-extensions/better-easy-handler.lisp" {10041ADD03}>
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                          {100194E933}>:
  COMPILE-FILE-ERROR while
  compiling #<CL-SOURCE-FILE "hunchentoot-extensions" "better-easy-handler">

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100194E933}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1005709943}> #<unused argument>)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1005709943}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1005709943}>)
3: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT "~/asdf-action::format-action/" :CONTEXT-ARGUMENTS ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "hunchentoot-extensions" "better-easy-handler">)))
4: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "hunchentoot-extensions" "better-easy-handler">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "hunchentoot-extensions" "better-easy-handler">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "hunchentoot-extensions" "better-easy-handler">) [fast-method]
8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1001F446B3}>) [fast-method]
9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1001F446B3}>) [fast-method]
11: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "server"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "server"> :VERBOSE NIL)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
14: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "server"> :VERBOSE NIL) [fast-method]
15: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "server" :VERBOSE NIL)
16: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "server" :VERBOSE NIL) [fast-method]
18: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1001F35CCB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1001F1E54B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "server" :VERBOSE NIL) [fast-method]
22: (ASDF/OPERATE:LOAD-SYSTEM "server" :VERBOSE NIL)
23: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1001F1E4AB}>)
24: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "server" :PROMPT NIL)
25: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1001ED04AB}>) [fast-method]
26: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {10082AC343}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1001ED04AB}>) [fast-method]
27: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) ("server") :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
28: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {1001EC637B}>)
29: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD "server") #<NULL-LEXENV>)
30: (EVAL-TLF (QUICKLISP-CLIENT:QUICKLOAD "server") 2 NIL)
31: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (QUICKLISP-CLIENT:QUICKLOAD "server") 2)
32: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (QUICKLISP-CLIENT:QUICKLOAD "server") :CURRENT-INDEX 2)
33: (SB-C::%DO-FORMS-FROM-INFO #<CLOSURE (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {10019655DB}> #<SB-C::SOURCE-INFO {1001965593}> SB-C::INPUT-ERROR-IN-LOAD)
34: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/launch.lisp" {1001956703}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
35: ((FLET SB-FASL::THUNK :IN LOAD))
36: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {7FFFF09676BB}> #<SB-SYS:FD-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/launch.lisp" {1001956703}>)
37: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/launch.lisp" {1001956703}> NIL)
38: (LOAD #<SB-SYS:FD-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/launch.lisp" {1001956703}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
39: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file /data/cs601/lwj/hobs/screenshotbot-oss/launch.lisp" {1001956703}>)
40: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::PROCESS-SCRIPT))
41: (SB-IMPL::PROCESS-SCRIPT "launch.lisp")
42: (SB-IMPL::TOPLEVEL-INIT)
43: ((FLET "WITHOUT-INTERRUPTS-BODY-35" :IN SAVE-LISP-AND-DIE))
44: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting
; 
; compilation unit aborted
;   caught 2 fatal ERROR conditions
;   caught 1 ERROR condition
tdrhq commented 3 years ago

Interesting, I'm using sbcl 1.4.16, let me look up the changelogs to see what changed between those versions.

tdrhq commented 3 years ago

The broken-pipe condition was indeed added in 1.4.16: https://github.com/sbcl/sbcl/commit/0c9c598d388e2431bbe423fb1306017204c14bae, I'll patch this so that we're only checking for this on latest versions. In the meantime you can either upgrade sbcl, use CCL, or use docker. I'll have the patch by EOD, should be easy.

liweijian commented 3 years ago

Update the sbcl in CentOS is kind of a nightmare, I would prefer to use docker:)