Skip to content

Fails to build with SBCL 2.5 #8

@cho-m

Description

@cho-m

When trying to build CafeOBJ in Homebrew for macOS Tahoe, the build failed with latest SBCL 2.5.8 (log below and at https://github.com/Homebrew/homebrew-core/actions/runs/17885505178/job/50858701160#step:3:10587)

Locally, I see that SBCL 2.4.11 still builds CafeOBJ but SBCL 2.5.0 fails.


Error message when run with --disable-debugger (as interactive debugger is problematic for CI):

  Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD tid=259 "main thread" RUNNING
                                    {7006320283}>:
    The value
      (#<SB-C::REF
         :%SOURCE-NAME TERM
         :LEAF #<SB-C::LAMBDA-VAR
                 :%SOURCE-NAME TERM
                 :TYPE #<SB-KERNEL:HAIRY-TYPE (SATISFIES IS-TERM)>
                 :WHERE-FROM :DECLARED {70052864E3}> {70052C4443}>
       #<SB-C::REF
         :%SOURCE-NAME NORMAL-FORM
         :LEAF #<SB-C::LAMBDA-VAR
                 :%SOURCE-NAME NORMAL-FORM {70052AC433}> {70052AD543}>)
  
    is not of type
      SB-C::VALUED-NODE
  
  Backtrace for: #<SB-THREAD:THREAD tid=259 "main thread" RUNNING {7006320283}>
  0: (SB-C::NODE-CONSERVATIVE-TYPE (#<SB-C::REF :%SOURCE-NAME TERM :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME TERM :TYPE #<SB-KERNEL:HAIRY-TYPE (SATISFIES IS-TERM)> :WHERE-FROM :DECLARED {70052864E3}> {70052C4443}> #<SB-C::REF :%SOURCE-NAME NORMAL-FORM :LEAF #<SB-C::LAMBDA-VAR :%SOURCE-NAME NORMAL-FORM {70052AC433}> {70052AD543}>))
  1: (SB-C::LVAR-CONSERVATIVE-TYPE #<SB-C::LVAR 1 {70052FBA33}>)
  2: (SB-C::CAR-DERIVE-TYPE-OPTIMIZER #<SB-C::COMBINATION :FUN #<SB-C::REF  :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME CAR :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (LIST) (VALUES T &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {700528AD13}> {70052AABF3}> :ARGS (#<SB-ALIEN:CAST :%TYPE-CHECK NIL :VALUE #<SB-C::LVAR 2 {70052AAD63}> :ASSERTED-TYPE #<SB-KERNEL:UNION-TYPE LIST> :TYPE-TO-CHECK #<SB-KERNEL:NAMED-TYPE *> {70052FBA93}>) {70052AAC63}>)
  3: ((FLET SB-C::PROCESS-INFO :IN SB-C::IR1-OPTIMIZE-COMBINATION))
  4: (SB-C::IR1-OPTIMIZE-COMBINATION #<SB-C::COMBINATION :FUN #<SB-C::REF  :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME CAR :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (LIST) (VALUES T &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {700528AD13}> {70052AABF3}> :ARGS (#<SB-ALIEN:CAST :%TYPE-CHECK NIL :VALUE #<SB-C::LVAR 2 {70052AAD63}> :ASSERTED-TYPE #<SB-KERNEL:UNION-TYPE LIST> :TYPE-TO-CHECK #<SB-KERNEL:NAMED-TYPE *> {70052FBA93}>) {70052AAC63}>)
  5: (SB-C::IR1-OPTIMIZE #<SB-C:COMPONENT :NAME "DEFUN NORMALIZE-TERM" :REANALYZE T {7005312FD3}> NIL)
  6: (SB-C::IR1-OPTIMIZE-UNTIL-DONE #<SB-C:COMPONENT :NAME "DEFUN NORMALIZE-TERM" :REANALYZE T {7005312FD3}>)
  7: (SB-C::IR1-OPTIMIZE-PHASE-1 #<SB-C:COMPONENT :NAME "DEFUN NORMALIZE-TERM" :REANALYZE T {7005312FD3}>)
  8: (SB-C::IR1-PHASES #<SB-C:COMPONENT :NAME "DEFUN NORMALIZE-TERM" :REANALYZE T {7005312FD3}>)
  9: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME "DEFUN NORMALIZE-TERM" :REANALYZE T {7005312FD3}>)
  10: (SB-C::COMPILE-TOPLEVEL (#<SB-C::CLAMBDA :%SOURCE-NAME SB-C::.ANONYMOUS. :%DEBUG-NAME "top level form" :KIND (TOPLEVEL) :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> :WHERE-FROM :DEFINED :VARS NIL {70052858A3}>) NIL)
  11: (SB-C::CONVERT-AND-MAYBE-COMPILE (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE (SB-C::TOP-LEVEL-FORM)) (DECLARE (TYPE TERM TERM) (OPTIMIZE (SPEED 3) (SAFETY 0)) (VALUES (OR NULL T))) (BLOCK NORMALIZE-TERM (WHEN *REWRITE-DEBUG* (WITH-OUTPUT-SIMPLE-MSG NIL # #)) (LET (#) (WHEN # # #) (WHEN # #) (COND # # #))))) (#1=(SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE (SB-C::TOP-LEVEL-FORM)) (DECLARE (TYPE TERM TERM) (OPTIMIZE # #) (VALUES #)) (BLOCK NORMALIZE-TERM (WHEN *REWRITE-DEBUG* #) (LET # # # #)))) (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE NORMALIZE-TERM) T NIL NIL)) #1#) SB-C::ORIGINAL-SOURCE-START 0 61))
  12: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE (SB-C::TOP-LEVEL-FORM)) (DECLARE (TYPE TERM TERM) (OPTIMIZE (SPEED 3) (SAFETY 0)) (VALUES (OR NULL T))) (BLOCK NORMALIZE-TERM (WHEN *REWRITE-DEBUG* (WITH-OUTPUT-SIMPLE-MSG NIL # #)) (LET (#) (WHEN # # #) (WHEN # #) (COND # # #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE NORMALIZE-TERM) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE #) (DECLARE # # #) (BLOCK NORMALIZE-TERM # #)))) SB-C::ORIGINAL-SOURCE-START 0 61) NIL)
  13: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE NORMALIZE-TERM) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE (SB-C::TOP-LEVEL-FORM)) (DECLARE (TYPE TERM TERM) (OPTIMIZE # #) (VALUES #)) (BLOCK NORMALIZE-TERM (WHEN *REWRITE-DEBUG* #) (LET # # # #))))) ((PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE NORMALIZE-TERM) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE #) (DECLARE # # #) (BLOCK NORMALIZE-TERM # #)))) SB-C::ORIGINAL-SOURCE-START 0 61) NIL)
  14: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN (QUOTE NORMALIZE-TERM) T NIL NIL)) (SB-IMPL::%DEFUN (QUOTE NORMALIZE-TERM) (SB-INT:NAMED-LAMBDA NORMALIZE-TERM (TERM) (DECLARE (SB-C::TOP-LEVEL-FORM)) (DECLARE (TYPE TERM TERM) (OPTIMIZE # #) (VALUES #)) (BLOCK NORMALIZE-TERM (WHEN *REWRITE-DEBUG* #) (LET # # # #))))) (SB-C::ORIGINAL-SOURCE-START 0 61) NIL)
  15: (SB-C::PROCESS-TOPLEVEL-FORM (DEFUN NORMALIZE-TERM (TERM) (DECLARE (TYPE TERM TERM) (OPTIMIZE (SPEED 3) (SAFETY 0)) (VALUES (OR NULL T))) (WHEN *REWRITE-DEBUG* (WITH-OUTPUT-SIMPLE-MSG NIL (FORMAT T "[normalize-term]:(NF=~A,LP=~A,OD=~A) " (TERM-IS-REDUCED? TERM) (TERM-IS-LOWEST-PARSED? TERM) (TERM-IS-ON-DEMAND? TERM)) (TERM-PRINT-WITH-SORT TERM))) (LET ((STRATEGY NIL)) (WHEN (TERM-IS-REDUCED? TERM) (WHEN (TERM-IS-BUILTIN-CONSTANT? TERM) (UPDATE-LOWEST-PARSE TERM)) (RETURN-FROM NORMALIZE-TERM T)) (WHEN (TERM-IS-APPLICATION-FORM? TERM) (SETQ STRATEGY (METHOD-REWRITE-STRATEGY #))) (COND ((NULL STRATEGY) (MARK-TERM-AS-REDUCED TERM) T) ((AND *MEMO-REWRITE* #) (TERM-REPLACE TERM #) NIL) (T (REDUCE-TERM TERM STRATEGY) NIL)))) (SB-C::ORIGINAL-SOURCE-START 0 61) NIL)
  16: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) (DEFUN NORMALIZE-TERM (TERM) (DECLARE (TYPE TERM TERM) (OPTIMIZE (SPEED 3) (SAFETY 0)) (VALUES (OR NULL T))) (WHEN *REWRITE-DEBUG* (WITH-OUTPUT-SIMPLE-MSG NIL (FORMAT T "[normalize-term]:(NF=~A,LP=~A,OD=~A) " (TERM-IS-REDUCED? TERM) (TERM-IS-LOWEST-PARSED? TERM) (TERM-IS-ON-DEMAND? TERM)) (TERM-PRINT-WITH-SORT TERM))) (LET ((STRATEGY NIL)) (WHEN (TERM-IS-REDUCED? TERM) (WHEN (TERM-IS-BUILTIN-CONSTANT? TERM) (UPDATE-LOWEST-PARSE TERM)) (RETURN-FROM NORMALIZE-TERM T)) (WHEN (TERM-IS-APPLICATION-FORM? TERM) (SETQ STRATEGY (METHOD-REWRITE-STRATEGY #))) (COND ((NULL STRATEGY) (MARK-TERM-AS-REDUCED TERM) T) ((AND *MEMO-REWRITE* #) (TERM-REPLACE TERM #) NIL) (T (REDUCE-TERM TERM STRATEGY) NIL)))) :CURRENT-INDEX 61)
  17: (SB-C::%DO-FORMS-FROM-INFO #<FUNCTION (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-C::SUB-COMPILE-FILE) {700412A23B}> #<SB-C::SOURCE-INFO {7014670113}> SB-C::INPUT-ERROR-IN-COMPILE-FILE)
  18: ((LAMBDA NIL :IN SB-C::SUB-COMPILE-FILE))
  19: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
  20: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO {7014670113}> NIL)
  21: (COMPILE-FILE #P"/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/chaos/cafein/rengine.lisp" :OUTPUT-FILE #P#<(SIMPLE-ARRAY CHARACTER (202)) /private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/.brew_home/.cache/common-lisp/sbcl-2.5.8-macosx-arm64/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/chaos/cafein/rengine-tmpN1ZVB1HZ.fa... {700546514F}> :VERBOSE NIL :PRINT NIL :EXTERNAL-FORMAT :UTF-8 :PROGRESS NIL :TRACE-FILE NIL :BLOCK-COMPILE NIL :ENTRY-POINTS NIL :EMIT-CFASL NIL)
  22: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:COMPILE-FILE*) {70146700DB}> NIL)
  23: (UIOP/PATHNAME:CALL-WITH-ENOUGH-PATHNAME #P"/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/chaos/cafein/rengine.lisp" NIL #<FUNCTION (LAMBDA (UIOP/LISP-BUILD::INPUT-FILE) :IN UIOP/LISP-BUILD:COMPILE-FILE*) {701467009B}>)
  24: (UIOP/LISP-BUILD:COMPILE-FILE* #P"/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/chaos/cafein/rengine.lisp" :OUTPUT-FILE #P"/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/.brew_home/.cache/common-lisp/sbcl-2.5.8-macosx-arm64/private/tmp/cafeobj-20250920-5366-m40q34/cafeobj-1.6.2/chaos/cafein/rengine.fasl" :EXTERNAL-FORMAT :UTF-8 :WARNINGS-FILE NIL)
  25: (ASDF/LISP-ACTION:PERFORM-LISP-COMPILATION #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "chaosx" "chaos" "cafein" "rengine">)
  26: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "chaosx" "chaos" "cafein" "rengine">)
  27: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
  28: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "chaosx" "chaos" "cafein" "rengine">) [fast-method]
  29: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {70050F0423}>) [fast-method]
  30: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
  31: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {70050F0423}>) [fast-method]
  32: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "chaosx"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
  33: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "chaosx">)
  34: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
  35: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "chaosx">) [fast-method]
  36: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP COMMON-LISP-USER::CHAOSX)
  37: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
  38: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP COMMON-LISP-USER::CHAOSX) [fast-method]
  39: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {70050F027B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
  40: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
  41: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {70050F018B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
  42: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP COMMON-LISP-USER::CHAOSX) [fast-method]
  43: (COMMON-LISP-USER::MAKE-CAFEOBJ ".")
  44: (SB-INT:SIMPLE-EVAL-IN-LEXENV (COMMON-LISP-USER::MAKE-CAFEOBJ COMMON-LISP-USER::*CHAOS-ROOT*) #<NULL-LEXENV>)
  45: (SB-INT:SIMPLE-EVAL-IN-LEXENV (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (COMMON-LISP-USER::MAKE-CAFEOBJ COMMON-LISP-USER::*CHAOS-ROOT*)) #<NULL-LEXENV>)
  46: (EVAL (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (COMMON-LISP-USER::MAKE-CAFEOBJ COMMON-LISP-USER::*CHAOS-ROOT*)))
  47: (SB-EXT:INTERACTIVE-EVAL (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (COMMON-LISP-USER::MAKE-CAFEOBJ COMMON-LISP-USER::*CHAOS-ROOT*)) :EVAL NIL)
  48: (SB-IMPL::REPL-FUN NIL)
  49: ((LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL))
  50: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL) {104D9048B}>)
  51: (SB-IMPL::TOPLEVEL-REPL NIL)
  52: (SB-IMPL::TOPLEVEL-INIT)
  53: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
  54: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
  55: (SB-IMPL::%START-LISP)
  
  unhandled condition in --disable-debugger mode, quitting
  
  ; compilation aborted after 0:00:00.105
  ; 
  ; compilation unit aborted
  ;   caught 2 fatal ERROR conditions
  ;   caught 3 STYLE-WARNING conditions
  ;   printed 408 notes
  make: *** [dumps/sbcl/cafeobj.sbcl] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions