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@common-lisp.net http://common-lisp.net/mailman/listinfo/tbnl-devel