Zulu-Inuoe / jzon

A correct and safe(er) JSON RFC 8259 reader/writer with sane defaults.
MIT License
151 stars 14 forks source link

`COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "com.inuoe.jzon" "schubfach">` #70

Open barracuda156 opened 2 weeks ago

barracuda156 commented 2 weeks ago
; compiling file "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/build/source/cl-com.inuoe.jzon/src/schubfach.lisp" (written 27 MAR 2024 07:06:25 AM):

; file: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/build/source/cl-com.inuoe.jzon/src/schubfach.lisp
; in: DEFUN %WRITE-SIGNIFICANT-FRACTION-DIGITS64
;     (LET* ((COM.INUOE.JZON/SCHUBFACH::Q1
;             (COM.INUOE.JZON/SCHUBFACH::%INT32
;              (COM.INUOE.JZON/SCHUBFACH::%>>>64 # 25)))
;            (COM.INUOE.JZON/SCHUBFACH::R1
;             (COM.INUOE.JZON/SCHUBFACH::%INT32 (- COM.INUOE.JZON/SCHUBFACH::Q #)))
;            (COM.INUOE.JZON/SCHUBFACH::POSM8 (- COM.INUOE.JZON/SCHUBFACH::POS 8)))
;       (COND
;        ((ZEROP COM.INUOE.JZON/SCHUBFACH::R1)
;         (SETF COM.INUOE.JZON/SCHUBFACH::Q0 COM.INUOE.JZON/SCHUBFACH::Q1)
;         (SETF COM.INUOE.JZON/SCHUBFACH::POS COM.INUOE.JZON/SCHUBFACH::POSM8))
;        (T
;         (COM.INUOE.JZON/SCHUBFACH::%WRITE-FRACTION-DIGITS
;          COM.INUOE.JZON/SCHUBFACH::Q1 COM.INUOE.JZON/SCHUBFACH::POSM8
;          COM.INUOE.JZON/SCHUBFACH::POS-LIM COM.INUOE.JZON/SCHUBFACH::BUF
;          COM.INUOE.JZON/SCHUBFACH::DS)
;         (SETF COM.INUOE.JZON/SCHUBFACH::Q0 COM.INUOE.JZON/SCHUBFACH::R1)
;         (SETF COM.INUOE.JZON/SCHUBFACH::POS-LIM
;                 COM.INUOE.JZON/SCHUBFACH::POSM8))))
; 
; note: deleting unreachable code

;     (COM.INUOE.JZON/SCHUBFACH::%MULTIPLY-HIGH COM.INUOE.JZON/SCHUBFACH::Q
;                                               6189700196426901375)
; 
; caught WARNING:
;   Constant
;     6189700196426901375 conflicts with its asserted type
;     (UNSIGNED-BYTE 32).
;   See also:
;     The SBCL Manual, Node "Handling of Types"

; in: DEFUN %WRITE-DOUBLE
;     (LET* ((COM.INUOE.JZON/SCHUBFACH::VB40
;             (COM.INUOE.JZON/SCHUBFACH::%INT32
;              (* COM.INUOE.JZON/SCHUBFACH::M10 40)))
;            (COM.INUOE.JZON/SCHUBFACH::DIFF
;             (COM.INUOE.JZON/SCHUBFACH::%INT32
;              (- COM.INUOE.JZON/SCHUBFACH::VBL COM.INUOE.JZON/SCHUBFACH::VB40))))
;       (OR (>= (LOGXOR (+ # 40) COM.INUOE.JZON/SCHUBFACH::DIFF) 0)
;           (PROGN
;            (SETF COM.INUOE.JZON/SCHUBFACH::M10 #)
;            (SETF COM.INUOE.JZON/SCHUBFACH::E10 #)
;            NIL)))
; 
; note: deleting unreachable code

;     (COM.INUOE.JZON/SCHUBFACH::%MULTIPLY-HIGH COM.INUOE.JZON/SCHUBFACH::VB
;                                               461168601842738792)
; 
; caught WARNING:
;   Constant 461168601842738792 conflicts with its asserted type (UNSIGNED-BYTE 32).
;   See also:
;     The SBCL Manual, Node "Handling of Types"

; wrote /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/.home/.cache/common-lisp/sbcl-2.4.10-macosx-ppc32/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/build/source/cl-com.inuoe.jzon/src/schubfach-tmpTNV77KDS.fasl
; compilation finished in 0:00:01.289
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD tid=267 "main thread" RUNNING
                                                          {11571289}>:
  COMPILE-FILE-ERROR while
  compiling #<CL-SOURCE-FILE "com.inuoe.jzon" "schubfach">

Backtrace for: #<SB-THREAD:THREAD tid=267 "main thread" RUNNING {11571289}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {170CF001}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {170CF001}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {170CF001}>)
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 "com.inuoe.jzon" "schubfach">)))
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 "com.inuoe.jzon" "schubfach">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "com.inuoe.jzon" "schubfach">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM :AROUND (ASDF/LISP-ACTION:COMPILE-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "com.inuoe.jzon" "schubfach">) [fast-method]
8: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "com.inuoe.jzon" "schubfach">) [fast-method]
9: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {113E12B9}>) [fast-method]
10: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
11: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {113E12B9}>) [fast-method]
12: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "com.inuoe.jzon-tests"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
13: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "com.inuoe.jzon-tests">)
14: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/OPERATE:BUILD-OP > #<ASDF/SYSTEM:SYSTEM "com.inuoe.jzon-tests">) [fast-method]
16: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/OPERATE:BUILD-OP COM.INUOE.JZON-TESTS)
17: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
18: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP COM.INUOE.JZON-TESTS) [fast-method]
19: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {113E118D}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
20: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
21: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {113E110D}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
22: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/OPERATE:BUILD-OP COM.INUOE.JZON-TESTS) [fast-method]
23: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:OPERATE (QUOTE ASDF/OPERATE:BUILD-OP) (QUOTE COM.INUOE.JZON-TESTS)) #<NULL-LEXENV>)
24: (EVAL (ASDF/OPERATE:OPERATE (QUOTE ASDF/OPERATE:BUILD-OP) (QUOTE COM.INUOE.JZON-TESTS)))
25: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require \"asdf\")") (:EVAL . #<(SIMPLE-ARRAY CHARACTER (258)) (setf asdf:*central-registry* (list* (quote *default-pathname-defaults*) #p"/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/build/system/" #p"/opt/... {11696B4F}>) (:EVAL . "(asdf:operate (quote asdf:build-op) (quote com.inuoe.jzon-tests))") (:QUIT)))
26: (SB-IMPL::TOPLEVEL-INIT)
27: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
28: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
29: (SB-IMPL::%START-LISP)

unhandled condition in --disable-debugger mode, quitting
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition
;   caught 2 WARNING conditions
;   caught 7 STYLE-WARNING conditions
;   printed 1061 notes
Command failed: /opt/local/bin/sbcl --no-sysinit --no-userinit --non-interactive --eval '(require "asdf")' --eval '(setf asdf:*central-registry* (list* (quote *default-pathname-defaults*) #p"/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lisp_cl-com.inuoe.jzon/cl-com.inuoe.jzon/work/build/system/" #p"/opt/local/share/common-lisp/system/" asdf:*central-registry*))' --eval '(asdf:operate (quote asdf:build-op) (quote com.inuoe.jzon-tests))' 2>&1
Exit code: 1
Zulu-Inuoe commented 2 weeks ago

Thanks. Looks like it has to do with 32-bit SBCL's implementation of sb-kernel:%multiply-high. That was a mistake on my part to assume it always operated on 64-bit values