Hello:
I'm processing a pretty big data set, but I was surprised to see SLIME fail with this message: Evaluation aborted on #<SWANK::SWANK-ERROR {1003C395A1}>.
... while the result of my computation continued to be printed on the *inferior-lisp* buffer, dispatch-event: (:WRITE-STRING "((0 0 0 0 0 0 [... 158M worth of 0's and 1's]
Here is the rest of what I found there, in case it helps with debugging. (Are there any configuration options you would recommend when working with large-scale data?)
Joe
encode-message dispatch-event: (:RETURN #<SB-THREAD:THREAD "initial thread" RUNNING {1002900DB1}> (:ABORT "#<SWANK::SWANK-ERROR {1003C395A1}>") 230) encode-message close-connection: The value 165020663 is not of type (COMMON-LISP:UNSIGNED-BYTE 24). ... deinstall-fd-handler ;; Event history end. ;; Backtrace: 0: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT) #<FUNCTION (LAMBDA #) {10A0472609}>) 1: (SWANK::SAFE-BACKTRACE) 2: (SWANK::MAKE-SWANK-ERROR #<TYPE-ERROR expected-type: (UNSIGNED-BYTE 24) datum: 165020663>)[:OPTIONAL] 3: ((FLET #:LAMBDA1275) #<TYPE-ERROR expected-type: (UNSIGNED-BYTE 24) datum: 165020663>) 4: (SIGNAL #<TYPE-ERROR expected-type: (UNSIGNED-BYTE 24) datum: 165020663>) 5: (ERROR TYPE-ERROR :DATUM 165020663 :EXPECTED-TYPE (UNSIGNED-BYTE 24)) 6: (SB-KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER ..) 7: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X7FFFF6665E00) #<unavailable argument>) 8: ("foreign function: call_into_lisp") 9: ("foreign function: funcall2") 10: ("foreign function: interrupt_internal_error") 11: ("foreign function: #x41052B") 12: (SWANK-RPC::WRITE-HEADER #<SB-SYS:FD-STREAM for "socket 127.0.0.1:36018, peer: 127.0.0.1:34439" {1003067A01}> 165020663)[:EXTERNAL] 13: (SWANK-RPC:WRITE-MESSAGE ..) 14: (SWANK::ENCODE-MESSAGE ..) 15: (SWANK::SEND-TO-EMACS ..) 16: (SWANK::SEND-REPL-RESULTS-TO-EMACS (((0 0 0 0 0 0 ...) (0 0 0 0 0 0 ...) (0 0 0 0 0 0 ...) (0 0 1 0 0 0 ...) (0 0 0 0 0 0 ...) (0 0 0 0 0 0 ...) ...))) 17: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {1002AFF3A9}>) 18: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<CLOSURE (LAMBDA #) {1002AFF2C9}>) 19: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA #) {1002AFF299}>) 20: (SWANK::REPL-EVAL ..) 21: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL "(setq matrix (mapcar (lambda (source) ..) 22: (EVAL (SWANK:LISTENER-EVAL "(setq matrix (mapcar (lambda (source) ..) 23: (SWANK:EVAL-FOR-EMACS ..) 24: (SWANK::PROCESS-REQUESTS T) 25: ((LAMBDA ())) 26: ((LAMBDA ())) 27: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {1002AF2449}>) 28: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {1002AF2449}>) 29: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #) (*STANDARD-INPUT* . #) (*TRACE-OUTPUT* . #) (*ERROR-OUTPUT* . #) (*DEBUG-IO* . #) (*QUERY-IO* . #) ...) #<CLOSURE (LAMBDA #) {1002AF2469}>) 30: (SWANK::HANDLE-REQUESTS #<SWANK::SINGLETHREADED-CONNECTION {1004282391}> T) 31: ((LABELS SWANK-BACKEND::RUN) 7) 32: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL) 33: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL) 34: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL T) 35: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard input" {1002901141}>) 36: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "standard input" {1002901141}> NIL #:EOF-OBJECT) 37: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {1002901141}> NIL #:EOF-OBJECT) 38: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {1002901141}> NIL #:EOF-OBJECT #<unused argument>) 39: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A7941}> NIL #:EOF-OBJECT #<unused argument>) 40: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A7941}> NIL (NIL) T) 41: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A7941}> NIL (NIL) NIL) 42: (READ #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A7941}> NIL (NIL) NIL) 43: (SB-IMPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {10001A7941}> #<unavailable argument>) 44: (SB-IMPL::REPL-FUN NIL) 45: ((LAMBDA ())) 46: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {1003030679}>) 47: (SB-IMPL::TOPLEVEL-REPL NIL) 48: (SB-IMPL::TOPLEVEL-INIT) 49: ((FLET #:WITHOUT-INTERRUPTS-BODY-[RESTART-LISP]30)) 50: ((LABELS SB-IMPL::RESTART-LISP)) ;; Connection to Emacs lost. [ ;; condition: The value 165020663 is not of type (UNSIGNED-BYTE 24). ;; type: TYPE-ERROR ;; style: :FD-HANDLER]
* Joe Corneli [2012-03-27 21:41] writes:
Hello:
I'm processing a pretty big data set, but I was surprised to see SLIME fail with this message: Evaluation aborted on #<SWANK::SWANK-ERROR {1003C395A1}>.
... while the result of my computation continued to be printed on the *inferior-lisp* buffer, dispatch-event: (:WRITE-STRING "((0 0 0 0 0 0 [... 158M worth of 0's and 1's]
Here is the rest of what I found there, in case it helps with debugging.
The maximum message length is 2^24 bytes. Do you really want to send 158MB? Or would be be happy if SLIME detects the problem and enters the debugger instead of disconnecting?
(Are there any configuration options you would recommend when working with large-scale data?)
Setting printer variables like *print-length* to fairly small values is usually a good idea.
Helmut