[hunchentoot-devel] Problems with SBCL on MacOS
Cyrus Harmon
ch-tbnl at bobobeach.com
Mon Mar 24 04:25:00 UTC 2008
comments below...
On Mar 23, 2008, at 8:25 PM, Jens Teich wrote:
> MacOS X 10.5.2
> Aquamacs (latest) with GNU Emacs 22.1.91.2
> SBCL 1.0.12
>
> When loading :hunchentoot-test, the following happens. I'm puzzled
> because ASDF says compile failed,
> but a fasl file is written.
>
> When I start the webserver with this fasl-file, strange things
> happen. The test-site works after
> (start.server :port 4242), but the REPL prompt doesn't appear again.
> Looks like an infinite loop.
>
> Jens
I'd start with the WARNING here:
> CL-USER> (asdf :hunchentoot-test)
> ; compiling file "/Users/jensteich/Lisp/hunchentoot-0.15.3/port-
> sbcl.lisp" (written 13 FEB 2008 05:02:18 PM):
> ; compiling (IN-PACKAGE :HUNCHENTOOT)
> ; compiling (WARN "Without thread support, this library is only
> useful for development.")
> ;
> ; caught WARNING:
> ; Without thread support, this library is only useful for
> development.
and suggest that you build and install a threaded version of SBCL for
running hunchentoot.
What happens down below is that the debugger gets entered because ASDF
(correctly or not; I guess this point is arguable) treats this WARNING
as an error and enters the debugger to let you know that you're
compilation didn't succeed without a warning.
I'd suggest getting the SBCL source, enabling threads, building a
threaded SBCL and using that for your hunchentoot development.
Good luck,
Cyrus
> ; compiling (DEFMACRO DEFCONSTANT ...)
> ; compiling (DEFUN MAKE-LOCK ...)
> ; compiling (DEFMACRO WITH-LOCK ...)
> ; compiling (DEFVAR *INCF-MUTEX* ...)
> ; compiling (DEFMACRO ATOMIC-INCF ...)
> ; compiling (DEFUN ENSURED-SLEEP-MILLIS ...)
> ;
> ; caught STYLE-WARNING:
> ; redefining ENSURED-SLEEP-MILLIS in DEFUN
>
> ; compiling (COMMON-LISP:HANDLER-CASE (SB-EXT:WITH-TIMEOUT
> 1.e-7 ...) ...); in: LAMBDA NIL
> ; (SB-KERNEL:FLOAT-WAIT)
> ;
> ; note: deleting unreachable code
>
> ; (HUNCHENTOOT::ENSURED-SLEEP-MILLIS 5)
> ;
> ; note: deleting unreachable code
>
> ; file: /Users/jensteich/Lisp/hunchentoot-0.15.3/port-sbcl.lisp
> ; in: EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
> ; (HUNCHENTOOT::ENSURED-SLEEP-MILLIS 5)
> ;
> ; note: deleting unreachable code
>
> ; compiling (DEFMACRO WITH-TIMEOUT ...)
> ; compiling (DEFUN PROCESS-RUN-FUNCTION ...)
> ; compiling (DEFUN PROCESS-KILL ...)
> ; compiling (DEFINE-SYMBOL-MACRO *CURRENT-PROCESS* ...)
> ; compiling (DEFUN PROCESS-ALLOW-SCHEDULING ...)
> ; compiling (DEFUN RESOLVE-HOSTNAME ...)
> ; compiling (DEFUN START-UP-SERVER ...)
> ; compiling (DEFUN FORMAT-ADDRESS ...)
> ; compiling (DEFUN MAKE-SOCKET-STREAM ...)
> ; compiling (WHEN (FIND-SYMBOL "*DEBUG-PRINT-VARIABLE-
> ALIST*" ...) ...)
> ; compiling (DEFUN GET-BACKTRACE ...)
>
> ; /Users/jensteich/Lisp/hunchentoot-0.15.3/port-sbcl.fasl written
> ; compilation finished in 0:00:00
> WARNING:
> COMPILE-FILE warned while performing #<COMPILE-OP NIL {13F28EE1}> on
> #<CL-SOURCE-FILE "port-sbcl" {12106F59}>.
>
>
> erred while invoking #<COMPILE-OP NIL {13F28EE1}> on
> #<CL-SOURCE-FILE "port-sbcl" {12106F59}>
> [Condition of type ASDF:COMPILE-FAILED]
>
> Restarts:
> 0: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {13F28EE1}> on
> #<ASDF:CL-SOURCE-FILE "port-sbcl" {12106F59}>.
> 1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {13F28EE1}> on
> #<ASDF:CL-SOURCE-FILE "port-sbcl" {12106F59}> as having been
> successful.
> 2: [ABORT-REQUEST] Abort handling SLIME request.
> 3: [ABORT] Exit debugger, returning to top level.
>
> Backtrace:
> 0: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-
> SOURCE-FILE)) #<unavailable argument> #<unavailable argument>
> #<ASDF:COMPILE-OP NIL {13F28EE1}> #<ASDF:CL-SOURCE-FILE "port-
> sbcl" {12106F59}>)
> Locals:
> SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
> SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
> SB-DEBUG::ARG-2 = #<ASDF:COMPILE-OP NIL {13F28EE1}>
> SB-DEBUG::ARG-3 = #<ASDF:CL-SOURCE-FILE "port-sbcl" {12106F59}>
> 1: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0.
> SB-PCL::.ARG1.)) #<unavailable argument> #<unavailable argument>
> #<ASDF:COMPILE-OP NIL {13F28EE1}> #<ASDF:CL-SOURCE-FILE "port-
> sbcl" {12106F59}>)
> Locals:
> SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
> SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
> SB-DEBUG::ARG-2 = #<ASDF:COMPILE-OP NIL {13F28EE1}>
> SB-DEBUG::ARG-3 = #<ASDF:CL-SOURCE-FILE "port-sbcl" {12106F59}>
> 2: ((LAMBDA NIL))
> Locals:
> 3: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
> Locals:
> 4: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA NIL) {1175099D}>)
> Locals:
> SB-DEBUG::ARG-0 = 1
> SB-DEBUG::ARG-1 = #<CLOSURE (LAMBDA NIL) {1175099D}>
> 5: (ASDF:OPERATE ASDF:LOAD-OP :HUNCHENTOOT-TEST)
> Locals:
> SB-DEBUG::ARG-0 = 2
> SB-DEBUG::ARG-1 = ASDF:LOAD-OP
> SB-DEBUG::ARG-2 = :HUNCHENTOOT-TEST
> 6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF :HUNCHENTOOT-TEST) #<NULL-
> LEXENV>)
> Locals:
> SB-DEBUG::ARG-0 = (ASDF :HUNCHENTOOT-TEST)
> SB-DEBUG::ARG-1 = #<NULL-LEXENV>
> 7: (SWANK::EVAL-REGION "(asdf :hunchentoot-test)
> " T)
> Locals:
> SWANK::PACKAGE-UPDATE-P = T
> STRING = "(asdf :hunchentoot-test)
> "
> 8: ((LAMBDA NIL))
> Locals:
> 9: ((SB-PCL::FAST-METHOD SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS (T))
> #<unused argument> #<unused argument> #<CLOSURE (LAMBDA NIL)
> {13F10B5D}>)
> Locals:
> SWANK-BACKEND::FN = #<CLOSURE (LAMBDA NIL) {13F10B5D}>
> 10: (SWANK::CALL-WITH-BUFFER-SYNTAX #<CLOSURE (LAMBDA NIL)
> {13F10B5D}>)
> Locals:
> SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA NIL) {13F10B5D}>
> 11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL
> "(asdf :hunchentoot-test)
> ") #<NULL-LEXENV>)
> Locals:
> SB-DEBUG::ARG-0 = (SWANK:LISTENER-EVAL "(asdf :hunchentoot-
> test)
> ")
> SB-DEBUG::ARG-1 = #<NULL-LEXENV>
> 12: ((LAMBDA NIL))
> Locals:
> 13: ((SB-PCL::FAST-METHOD SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK (T
> T)) #<unused argument> #<unused argument> #<FUNCTION SWANK:SWANK-
> DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL) {13F1004D}>)
> Locals:
> SWANK-BACKEND::FUN = #<CLOSURE (LAMBDA NIL) {13F1004D}>
> SWANK-BACKEND::HOOK = #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
> 14: ((LAMBDA NIL))
> Locals:
> 15: ((SB-PCL::FAST-METHOD SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK (T
> T)) #<unused argument> #<unused argument> #<FUNCTION SWANK:SWANK-
> DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL) {11A2F69D}>)
> Locals:
> SWANK-BACKEND::FUN = #<FUNCTION (LAMBDA NIL) {11A2F69D}>
> SWANK-BACKEND::HOOK = #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
> 16: (SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION {11EDB211}>
> #<CLOSURE (LAMBDA NIL) {13F0DC7D}>)
> Locals:
> SB-DEBUG::ARG-0 = #<SWANK::CONNECTION {11EDB211}>
> SB-DEBUG::ARG-1 = #<CLOSURE (LAMBDA NIL) {13F0DC7D}>
> 17: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {11EDB211}>
> #<FUNCTION (LAMBDA NIL) {11A2F69D}>)
> Locals:
> SB-DEBUG::ARG-0 = #<SWANK::CONNECTION {11EDB211}>
> SB-DEBUG::ARG-1 = #<FUNCTION (LAMBDA NIL) {11A2F69D}>
> 18: (SWANK::HANDLE-REQUEST #<SWANK::CONNECTION {11EDB211}>)
> Locals:
> SB-DEBUG::ARG-0 = #<SWANK::CONNECTION {11EDB211}>
> 19: (SWANK::PROCESS-AVAILABLE-INPUT #<SB-SYS:FD-STREAM for "a
> socket" {11ED0B81}> #<CLOSURE (LAMBDA NIL) {13F0DC3D}>)
> Locals:
> SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "a socket" {11ED0B81}>
> SB-DEBUG::ARG-1 = #<CLOSURE (LAMBDA NIL) {13F0DC3D}>
> 20: ((FLET SWANK::HANDLER))
> Locals:
> 21: ((LAMBDA (SWANK-BACKEND::_)) #<unused argument>)
> Locals:
> SWANK-BACKEND::FN = #<CLOSURE (FLET SWANK::HANDLER) {1205871D}>
> 22: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL)
> Locals:
> SB-DEBUG::ARG-0 = NIL
> SB-DEBUG::ARG-1 = NIL
> SB-DEBUG::ARG-2 = NIL
> 23: (SB-SYS:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL)
> Locals:
> SB-IMPL::DIRECTION = :INPUT
> SB-IMPL::FD = 0
> TIMEOUT = NIL
> 24: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard
> input" {122792D1}>)
> Locals:
> SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "standard
> input" {122792D1}>
> 25: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "standard
> input" {122792D1}> NIL #:EOF-OBJECT)
> Locals:
> SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "standard
> input" {122792D1}>
> SB-DEBUG::ARG-1 = NIL
> SB-DEBUG::ARG-2 = #:EOF-OBJECT
> Catch-tags:
> SB-IMPL::EOF-INPUT-CATCHER
> 26: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {122792D1}>
> NIL #:EOF-OBJECT #<unused argument>)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = #:EOF-OBJECT
> STREAM = #<SB-SYS:FD-STREAM for "standard input" {122792D1}>
> 27: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100BCC61}>
> NIL #:EOF-OBJECT #<unused argument>)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = #:EOF-OBJECT
> STREAM = #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100BCC61}>
> 28: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-
> INPUT* {11A5D7E1}> NIL #:EOF-OBJECT #<unused argument>)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = #:EOF-OBJECT
> STREAM = #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-
> INPUT* {11A5D7E1}>
> 29: (READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL
> SWANK::*CURRENT-STANDARD-INPUT* {11A5D7E1}> NIL (NIL) T)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = (NIL)
> SB-IMPL::RECURSIVEP = T
> STREAM = #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-
> INPUT* {11A5D7E1}>
> 30: (READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL
> SWANK::*CURRENT-STANDARD-INPUT* {11A5D7E1}> NIL (NIL) NIL)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = (NIL)
> SB-IMPL::RECURSIVEP = NIL
> STREAM = #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-
> INPUT* {11A5D7E1}>
> 31: (READ #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-INPUT*
> {11A5D7E1}> NIL (NIL) NIL)
> Locals:
> SB-IMPL::EOF-ERROR-P = NIL
> SB-IMPL::EOF-VALUE = (NIL)
> SB-IMPL::RECURSIVEP = NIL
> STREAM = #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-STANDARD-
> INPUT* {11A5D7E1}>
> 32: (SB-IMPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL
> SWANK::*CURRENT-STANDARD-INPUT* {11A5D7E1}> #<unavailable argument>)
> Locals:
> SB-DEBUG::ARG-0 = #<SYNONYM-STREAM :SYMBOL SWANK::*CURRENT-
> STANDARD-INPUT* {11A5D7E1}>
> SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
> 33: (SB-IMPL::REPL-FUN NIL)
> Locals:
> SB-DEBUG::ARG-0 = NIL
> 34: (SB-IMPL::REPL-FUN NIL)
> Locals:
> SB-DEBUG::ARG-0 = 1
> SB-DEBUG::ARG-1 = NIL
> 35: ((LAMBDA NIL))
> Locals:
> Catch-tags:
> SB-INT:TOPLEVEL-CATCHER
> 36: ((LAMBDA NIL))
> Locals:
> SB-DEBUG::ARG-0 = 0
> 37: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL)
> {11BF7F0D}>)
> Locals:
> SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA NIL) {11BF7F0D}>
> 38: (SB-IMPL::TOPLEVEL-REPL NIL)
> Locals:
> SB-DEBUG::ARG-0 = NIL
> 39: (SB-IMPL::TOPLEVEL-INIT)
> Locals:
> 40: ((LABELS SB-IMPL::RESTART-LISP))
> Locals:
> Catch-tags:
> SB-IMPL::%END-OF-THE-WORLD
>
>
>
>
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel
More information about the Tbnl-devel
mailing list