sbcl 1.4.0 room.pure.lisp fails on Mac OS X 10.13

Bug #1720763 reported by Bob Felts
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Medium
Unassigned

Bug Description

Built 1.4.0 from 1.3.21. Tests fail:

// Running /Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp in COMPILE evaluator mode
::: Running (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)
While evaluating the form starting at line 16, column 0
  of #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp":
Unhandled TYPE-ERROR: The value #<invalid object #x19FE43F> is not of type NUMBER when binding SB-KERNEL::X
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100192F603}>
0: (SB-KERNEL:TWO-ARG-< #<invalid object #x19FE43F> 0) [external]
1: (SB-VM::GENERIC-<)
Unhandled SIMPLE-ERROR: Array element type of :DISPLACED-TO array does not match specified element type

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100192F603}>
0: (SB-KERNEL:TWO-ARG-< #<invalid object #x19FE43F> 0) [external]
1: (SB-VM::GENERIC-<)
#<SIMPLE-ERROR while printing frame 2. The partial output is: "2: ">
3: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
#<SIMPLE-ERROR while printing frame 4. The partial output is: "4: ">
5: (SB-FORMAT::S-FORMAT-DIRECTIVE-INTERPRETER #<SB-PRETTY:PRETTY-STREAM {102B199973}> #<~S> (" " #<> #<~@:_> "is " #<> "not " #<> "of " #<> "type " #<> #<~@:_> ...) #<unused argument> (VECTOR NIL))
6: (SB-FORMAT::INTERPRET-DIRECTIVE-LIST #<SB-PRETTY:PRETTY-STREAM {102B199973}> (#<~S> " " #<> #<~@:_> "is " #<> "not " #<> "of " #<> "type " #<> ...) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL))
7: ((FLET "PPRINT-BLOCK" :IN SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK) (VECTOR NIL) (1 . #<SB-PRETTY:PRETTY-STREAM {102B199973}>) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
8: ((LABELS #:BODY-NAME-2 :IN SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER))
9: ((FLET "WITH-PRETTY-STREAM0" :IN SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
10: (SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER #<CLOSURE (FLET "PPRINT-BLOCK" :IN SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK) {19FD55B}> #<SB-PRETTY:PRETTY-STREAM {102B199973}> "" NIL "" (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL))
11: (SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK #<SB-PRETTY:PRETTY-STREAM {102B199973}> (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) "" NIL ("The " #<> "value " #<> #<~@:_> #<~2@T> #<~S> " " #<> #<~@:_> "is " #<> ...) "" T)
12: (SB-FORMAT::<-FORMAT-DIRECTIVE-INTERPRETER #<SB-PRETTY:PRETTY-STREAM {102B199973}> #<~@<> ("The value " #<~@:_> #<~2@T> #<~S> " " #<~@:_> "is not of type " #<~@:_> #<~2@T> #<~/sb-impl:print-type-specifier/> #<~@[> " " ...) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) #<unavailable argument>)
13: (SB-FORMAT::INTERPRET-DIRECTIVE-LIST #<SB-PRETTY:PRETTY-STREAM {102B199973}> (#<~@<> "The value " #<~@:_> #<~2@T> #<~S> " " #<~@:_> "is not of type " #<~@:_> #<~2@T> #<~/sb-impl:print-type-specifier/> #<~@[> ...) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL))
14: (SB-FORMAT::%FORMAT #<SB-PRETTY:PRETTY-STREAM {102B199973}> "~@<The value ~@:_~2@T~S ~@:_is not of type ~@:_~2@T~/sb-impl:print-type-specifier/~@[ ~@:_~a~]~:@>" (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL) (#<error printing a (SIMPLE-ARRAY NIL (#<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)): #<TYPE-ERROR expected-type: NUMBER datum: #<invalid object #x19FE43F>>> VECTOR NIL))
#<SIMPLE-ERROR while printing frame 15. The partial output is: "15: (FORMAT #<SB-PRETTY:PRETTY-STREAM {102B199973}> \"~@<The value ~@:_~2@T~S ~@:_is not of type ~@:_~2@T~/sb-impl:print-type-specifi">
#<SIMPLE-ERROR while printing frame 16. The partial output is: "16: (FORMAT #<SB-PRETTY:PRETTY-STREAM {102B199973}> \"~@<The value ~@:_~2@T~S ~@:_is not of type ~@:_~2@T~/sb-impl:print-type-specifi">
17: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
18: (PRINC #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>> #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
19: (SB-FORMAT::A-FORMAT-DIRECTIVE-INTERPRETER #<SB-PRETTY:PRETTY-STREAM {102B199973}> #<~A> ("\"") #<unused argument> NIL)
20: (SB-FORMAT::INTERPRET-DIRECTIVE-LIST #<SB-PRETTY:PRETTY-STREAM {102B199973}> (#<~A> "\"") ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) (#<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
21: ((FLET "PPRINT-BLOCK" :IN SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK) NIL (4 . #<SB-PRETTY:PRETTY-STREAM {102B199973}>) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
22: ((LABELS #:BODY-NAME-2 :IN SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER))
23: ((FLET "WITH-PRETTY-STREAM0" :IN SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER) #<SB-PRETTY:PRETTY-STREAM {102B199973}>)
24: (SB-PRETTY::CALL-LOGICAL-BLOCK-PRINTER #<CLOSURE (FLET "PPRINT-BLOCK" :IN SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK) {19FDCAB}> #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> "" NIL "" (:UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
25: (SB-FORMAT::INTERPRET-FORMAT-LOGICAL-BLOCK #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) (:UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) "" NIL (#<~A> " " #<~S> " " #<~:_> "due to " #<~S> ": " #<~4I> #<~:_> "\"" #<~A> ...) "" T)
26: (SB-FORMAT::<-FORMAT-DIRECTIVE-INTERPRETER #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> #<~@<> (#<~A> " " #<~S> " " #<~:_> "due to " #<~S> ": " #<~4I> #<~:_> "\"" #<~A> ...) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) #<unavailable argument>)
27: (SB-FORMAT::INTERPRET-DIRECTIVE-LIST #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> (#<~@<> #<~A> " " #<~S> " " #<~:_> "due to " #<~S> ": " #<~4I> #<~:_> "\"" ...) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) (:UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
28: (SB-FORMAT::%FORMAT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> "~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) (:UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
29: (SB-FORMAT::?-FORMAT-DIRECTIVE-INTERPRETER #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> #<~@?> (#<~%>) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) #<unavailable argument>)
30: (SB-FORMAT::INTERPRET-DIRECTIVE-LIST #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> (#<~@?> #<~%>) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
31: (SB-FORMAT::%FORMAT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> "~&::: ~@?~%" ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) ("~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>))
32: (FORMAT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> "~&::: ~@?~%" "~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>)
33: (FORMAT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {1000007233}> "~&::: ~@?~%" "~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>) [more]
34: (TEST-UTIL::LOG-MSG "~@<~A ~S ~:_due to ~S: ~4I~:_\"~A\"~:>" :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) TYPE-ERROR #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>)
35: (TEST-UTIL::FAIL-TEST :UNEXPECTED-FAILURE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE) #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>)
36: ((FLET "H0" :IN #:G2475) #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>)
37: (SB-KERNEL::%SIGNAL #<TYPE-ERROR expected-type: VECTOR datum: #<error printing a (SIMPLE-ARRAY NIL ..): #<TYPE-ERROR expected-type: NUMBER ..>>>)
#<SIMPLE-ERROR while printing frame 38. The partial output is: "38: ">
#<SIMPLE-ERROR while printing frame 39. The partial output is: "39: ">
40: ((:METHOD PRINT-OBJECT (VECTOR T)) #(#<error printing a (VECTOR NIL 20): #<TYPE-ERROR expected-type: VECTOR datum: (error printing condition)>> #<SB-IMPL::STRING-OUTPUT-STREAM {102B198CA3}>) [fast-method]
41: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<SB-IMPL::STRING-OUTPUT-STREAM {102B198CA3}>)
42: (SB-INT:STRINGIFY-OBJECT #(#<error printing a (VECTOR NIL 20): #<TYPE-ERROR expected-type: VECTOR datum: (error printing condition)>>)
43: ((LAMBDA (SB-VM::OBJ SB-VM::OBJ-TYPE SB-VM::SIZE) :IN SB-VM:PRINT-ALLOCATED-OBJECTS) #(#<error printing a (VECTOR NIL 20): #<TYPE-ERROR expected-type: VECTOR datum: (error printing condition)>> 249 80)
44: (SB-VM::MAP-OBJECTS-IN-RANGE #<CLOSURE (LAMBDA (SB-VM::OBJ SB-VM::OBJ-TYPE SB-VM::SIZE) :IN SB-VM:PRINT-ALLOCATED-OBJECTS) {102AC72FBB}> 34429876880 34429894616)
45: ((FLET SB-VM::DO-1-SPACE :IN SB-VM::MAP-ALLOCATED-OBJECTS) :DYNAMIC)
46: (SB-VM::MAP-ALLOCATED-OBJECTS #<CLOSURE (LAMBDA (SB-VM::OBJ SB-VM::OBJ-TYPE SB-VM::SIZE) :IN SB-VM:PRINT-ALLOCATED-OBJECTS) {102AC72FBB}> :DYNAMIC)
47: (SB-VM:PRINT-ALLOCATED-OBJECTS :DYNAMIC :PERCENT 10 :PAGES 5 :TYPE NIL :LARGER NIL :SMALLER NIL :COUNT NIL :STREAM #<SB-IMPL::STRING-OUTPUT-STREAM {102AC72B43}>)
48: ((LAMBDA NIL :IN "/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp"))
49: (SB-INT:SIMPLE-EVAL-IN-LEXENV (THE T (LET ((TEST-UTIL::*THREADS-TO-JOIN* NIL) (TEST-UTIL::*THREADS-TO-KILL* NIL)) (BLOCK #:G2475 (HANDLER-BIND (#) (PROGN # # #))))) #<NULL-LEXENV>)
50: (SB-INT:SIMPLE-EVAL-IN-LEXENV (IF (TEST-UTIL::SKIPPED-P NIL) (TEST-UTIL::FAIL-TEST :SKIPPED-DISABLED (QUOTE (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) "Test disabled for this combination of platform and features") (THE T (LET ((TEST-UTIL::*THREADS-TO-JOIN* NIL) (TEST-UTIL::*THREADS-TO-KILL* NIL)) (BLOCK #:G2475 (HANDLER-BIND # #))))) #<NULL-LEXENV>)
51: (SB-INT:SIMPLE-EVAL-IN-LEXENV (COND ((TEST-UTIL::BROKEN-P NIL) (TEST-UTIL::FAIL-TEST :SKIPPED-BROKEN (QUOTE #1=(SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) "Test broken on this platform")) ((TEST-UTIL::SKIPPED-P NIL) (TEST-UTIL::FAIL-TEST :SKIPPED-DISABLED (QUOTE #1#) "Test disabled for this combination of platform and features")) (T (LET ((TEST-UTIL::*THREADS-TO-JOIN* NIL) (TEST-UTIL::*THREADS-TO-KILL* NIL)) (BLOCK #:G2475 (HANDLER-BIND # #))))) #<NULL-LEXENV>)
52: (SB-INT:SIMPLE-EVAL-IN-LEXENV (WITH-TEST (:NAME (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) (DOLIST (SPACE (QUOTE (:READ-ONLY :DYNAMIC :IMMOBILE :STATIC))) (WITH-OUTPUT-TO-STRING (STREAM) (SB-VM:PRINT-ALLOCATED-OBJECTS SPACE :PERCENT 10 :STREAM STREAM)))) #<NULL-LEXENV>)
53: (EVAL-TLF (WITH-TEST (:NAME (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) (DOLIST (SPACE (QUOTE (:READ-ONLY :DYNAMIC :IMMOBILE :STATIC))) (WITH-OUTPUT-TO-STRING (STREAM) (SB-VM:PRINT-ALLOCATED-OBJECTS SPACE :PERCENT 10 :STREAM STREAM)))) 1 NIL)
54: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (WITH-TEST (:NAME (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) (DOLIST (SPACE (QUOTE (:READ-ONLY :DYNAMIC :IMMOBILE :STATIC))) (WITH-OUTPUT-TO-STRING (STREAM) (SB-VM:PRINT-ALLOCATED-OBJECTS SPACE :PERCENT 10 :STREAM STREAM)))) 1)
55: ((LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) (WITH-TEST (:NAME (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)) (DOLIST (SPACE (QUOTE (:READ-ONLY :DYNAMIC :IMMOBILE :STATIC))) (WITH-OUTPUT-TO-STRING (STREAM) (SB-VM:PRINT-ALLOCATED-OBJECTS SPACE :PERCENT 10 :STREAM STREAM)))) :CURRENT-INDEX 1)
56: (SB-C::%DO-FORMS-FROM-INFO #<CLOSURE (LAMBDA (SB-KERNEL:FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE) {102AB846CB}> #<SB-C::SOURCE-INFO {102AB84683}> SB-C::INPUT-ERROR-IN-LOAD)
57: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file /Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" {102AB82533}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
58: ((FLET SB-FASL::THUNK :IN LOAD))
59: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {19FF47B}> #<SB-INT:FORM-TRACKING-STREAM for "file /Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" {102AB82533}>)
60: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM for "file /Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" {102AB82533}> NIL)
61: (LOAD #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :UTF-8)
62: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOAD #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" :EXTERNAL-FORMAT :UTF-8) #<NULL-LEXENV>)
63: (EVAL (LOAD #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp" :EXTERNAL-FORMAT :UTF-8))
64: (RUN-TESTS::PURE-RUNNER (#P"/Users/wrf3/downloads/sbcl-1.4.0/tests/arith.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/array.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/assembler.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/case.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/character.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/clos.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/coerce.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/compiler-2.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/compiler.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/condition.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/constantp.pure.lisp" #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/filesys.pure.lisp" ...) #<FUNCTION RUN-TESTS::LOAD-TEST>)
65: (RUN-TESTS::RUN-ALL)
66: (SB-INT:SIMPLE-EVAL-IN-LEXENV (RUN-TESTS::RUN-ALL) #<NULL-LEXENV>)
67: (EVAL (RUN-TESTS::RUN-ALL))
68: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(setf sb-ext:*evaluator-mode* :compile)") (:EVAL . "(with-compilation-unit () (load \"run-tests.lisp\"))") (:EVAL . "(run-tests::run-all)")))
69: (SB-IMPL::TOPLEVEL-INIT)
70: ((FLET "WITHOUT-INTERRUPTS-BODY-26" :IN SAVE-LISP-AND-DIE))
71: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting
2: ::: test failed, expected 104 return code, got 1

Build & test:
sh make.sh --dynamic-space-size=32Gb
cd tests && sh ./run-tests.sh

uname -a
Darwin wrf3s-MacBook-Pro.local 17.0.0 Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64

Revision history for this message
Bob Felts (wrf3) wrote :

Compiling 1.3.21 with 1.3.21 on Mac OS X 10.13:

// Running /Users/wrf3/downloads/sbcl-1.3.21/tests/room.pure.lisp in COMPILE evaluator mode
::: Running (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)
::: Success (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)
// Running /Users/wrf3/downloads/sbcl-1.3.21/tests/seq.pure.lisp in COMPILE evaluator mode

So this appears to be a regression error.

Revision history for this message
Stas Boukarev (stassats) wrote :

Can't reproduce.

Revision history for this message
Bob Felts (wrf3) wrote :

Did you compile with --dynamic-space-size=32Gb ? Absent that, the build and test suite work. With that, the test fails. So this is a regression error introduced in 1.4.0. Compiling 1.3.21 with --dynamic-space-size=32Gb using 1.3.21 works.

Revision history for this message
Stas Boukarev (stassats) wrote :

Yes.

Revision history for this message
Bob Felts (wrf3) wrote :

I tried it again, building 1.4.0 with --dynamic-space-size=32Gb using 1.3.21 and this time the tests completed successfully. This is one of _those_ kinds of bugs.

Revision history for this message
Bob Felts (wrf3) wrote :

And I tried it yet again and it failed:

// Running /Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp in COMPILE evaluator mode
::: Running (SB-VM:PRINT-ALLOCATED-OBJECTS :SMOKE)
While evaluating the form starting at line 16, column 0
  of #P"/Users/wrf3/downloads/sbcl-1.4.0/tests/room.pure.lisp":
Unhandled TYPE-ERROR: The value #<invalid object #x19FE43F> is not of type NUMBER when binding SB-KERNEL::X
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100192F603}>
0: (SB-KERNEL:TWO-ARG-< #<invalid object #x19FE43F> 0) [external]
1: (SB-VM::GENERIC-<)
Unhandled SIMPLE-ERROR: Array element type of :DISPLACED-TO array does not match specified element type

I'm executing this shell script:

TARGET=sbcl-1.4.0
cd ~/Downloads
curl -L "http://prdownloads.sourceforge.net/sbcl/$TARGET-source.tar.bz2?download" > $TARGET.tar.bz2
tar -xf $TARGET.tar.bz2
rm $TARGET.tar.bz2
cd $TARGET
sh make.sh --dynamic-space-size=32Gb
cd tests && sh ./run-tests.sh
cd ..
sudo INSTALL_ROOT=/usr/local sh install.sh

In this case, the build was done with 1.4.0, since I went ahead and installed it after a manual build and test worked...

Revision history for this message
Bob Felts (wrf3) wrote :

So I built sbcl 1.4.0 using 1.4.0.
sbcl --version
SBCL 1.4.0

cd test
sh ./run-tests.sh
# passed
sh ./run-tests.sh
# failed
sh ./run-tests.sh
# passed
sh ./run-tests.sh
# failed
sh ./run-tests.sh
# failed
sh ./run-tests.sh
# failed
sh ./run-tests.sh
# passed

It's obviously intermittent. But now it isn't clear if it depends on --dynamic-space-size=32Gb or not or if it's a regression.

Revision history for this message
Stas Boukarev (stassats) wrote :

I was able to reproduce it only after adding
(defvar *x* (make-array 20 :element-type NIL))
into room.pure.lisp
and increasing the number of pages for print-allocated-objects.

Revision history for this message
Stas Boukarev (stassats) wrote :

Reduced to

(block nil
  (sb-vm::map-allocated-objects
   (lambda (obj obj-type size)
     (declare (ignore size))
     (when (eql obj-type sb-vm:complex-vector-widetag)
       (handler-case
           (with-output-to-string (stream)
             (when (plusp (length obj))
               (aref obj 0)))
         (error (c)
           (setf *print-array* nil)
           (let ((sb-ext:*suppress-print-errors* t))
             (princ c))))))
   :dynamic))

Changed in sbcl:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Bob Felts (wrf3) wrote :

Spasibo, Stas.

Revision history for this message
Stas Boukarev (stassats) wrote :

Basically the whole test is broken, it finds a complex vector whose storage was stack allocated at some point. Or the whole print-allocated-objects thing is broken, can't really print random stuff and expect it to work.

Revision history for this message
Stas Boukarev (stassats) wrote :

Just removed the test, in 9d76f07430555ad21d728e6aee6419750fac1565.

Changed in sbcl:
status: Triaged → Fix Committed
Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.