Hi, It seems the patch "Sun Nov 11 17:31:19 CET 2007 attila.lendvai@gmail.com" is causing some problems when compiling Postmodern on SBCL. As soon as I unpull the patch using darcs the problem goes away and Postmodern compiles. I tried both SBCL-1.0.12 and latest SBCL from CVS -- same problem:
CL-USER> (require :postmodern) .. .. ; compiling file "/home/lars/programming/lisp/postmodern/cl-postgres/protocol.lisp" (written 26 FEB 2008 11:08:47 AM): ; compiling (IN-PACKAGE :CL-POSTGRES) ; compiling (DEFINE-CONDITION PROTOCOL-ERROR ...) ; compiling (DEFMACRO MESSAGE-CASE ...) ; compiling (DEFUN READ-BYTE-DELIMITED ...) ; compiling (DEFUN GET-ERROR ...) ; compiling (DEFINE-CONDITION POSTGRESQL-WARNING ...) ; compiling (DEFUN GET-WARNING ...) ; compiling (DEFUN AUTHENTICATE ...)
Here is the backtrace:
The value NIL is not of type SB-C::NODE. [Condition of type TYPE-ERROR]
Restarts: 0: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {B1C9CA9}> on #<ASDF:CL-SOURCE-FILE "protocol" {B1C9D59}>. 1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {B1C9CA9}> on #<ASDF:CL-SOURCE-FILE "protocol" {B1C9D59}> as having been successful. 2: [ABORT] Return to SLIME's top level. 3: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {B20BD39}>)
Backtrace: 0: (SB-C::NODE-HOME-LAMBDA NIL)[:EXTERNAL] 1: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME SB-C::.ANONYMOUS. :%DEBUG-NAME (SB-C::TL-XEP CL-POSTGRES::AUTHENTICATE) :KIND :EXTERNAL :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> :WHERE-FROM :DEFINED :VARS (#:G251 #:G252 #:G253 #:G254 #:G255) {B3DB279}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}>) {C484619}>) 2: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME CL-POSTGRES::AUTHENTICATE :%DEBUG-NAME NIL :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION # #)> :WHERE-FROM :DEFINED :VARS (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) {B363571}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}>) {C484649}>) 3: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G245 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL *)> :WHERE-FROM :DEFINED :VARS NIL {B3B5E79}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PARAMETERS :TYPE #SB-KERNEL:STRUCTURE-CLASSOID HASH-TABLE {B3639F9}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484631}>) 4: (SB-C::CLOSE-OVER #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G245 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL *)> :WHERE-FROM :DEFINED :VARS NIL {B3B5E79}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PARAMETERS :TYPE #SB-KERNEL:STRUCTURE-CLASSOID HASH-TABLE {B3639F9}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484631}> #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G209 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL #)> :WHERE-FROM :DEFINED :VARS NIL {B368459}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME #:G206 :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B367E51}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PASSWORD {B363449}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::USER {B3633F1}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484661}>) 5: (SB-C::%ADD-LAMBDA-VARS-TO-CLOSURES #<SB-C::CLAMBDA :%SOURCE-NAME CL-POSTGRES::READ-UINT4 :%DEBUG-NAME NIL :KIND :LET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> :WHERE-FROM :DEFINED :VARS (CL-POSTGRES::SOCKET) {B38D7E1}>) 6: (SB-C::ADD-LAMBDA-VARS-AND-LET-VARS-TO-CLOSURES #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G209 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL (VALUES NULL &OPTIONAL))> :WHERE-FROM :DEFINED :VARS NIL {B368459}>) 7: (SB-C::PHYSENV-ANALYZE #<SB-C:COMPONENT :NAME SB-IMPL::ANSI-STREAM-P {B4FB671}>) 8: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME SB-IMPL::ANSI-STREAM-P {B4FB671}>) 9: (SB-C::%COMPILE (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE (LET # # # # # ...))) #SB-FASL:FASL-OUTPUT "/home/lars/programming/lisp/postmodern/cl-postgres/protocol.fasl")[:EXTERNAL] 10: (SB-C::FOPCOMPILE-FUNCTION (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE (LET # # # # # ...))) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7) T) 11: (SB-C::FOPCOMPILE (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 12: (SB-C::CONVERT-AND-MAYBE-COMPILE (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7)) 13: ((FLET SB-C::DEFAULT-PROCESSOR) (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) 14: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #)) (PROGN (EVAL-WHEN # #) #1#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 15: (SB-C::PROCESS-TOPLEVEL-PROGN ((SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) (#1=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #)) (PROGN (EVAL-WHEN # #) #1#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 16: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) ((PROGN (EVAL-WHEN # #) (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 17: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN # # T)) (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #))) ((PROGN (EVAL-WHEN # #) (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 18: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN # # T)) (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #))) (SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 19: ((FLET SB-C::DEFAULT-PROCESSOR) (DEFUN CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) "Try to initiate a connection. Caller should close the socket if this raises a condition." (LET (#) (CL-POSTGRES::STARTUP-MESSAGE CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::DATABASE) (FORCE-OUTPUT CL-POSTGRES::SOCKET) (LOOP #) (LOOP #) ...))) 20: (SB-C::PROCESS-TOPLEVEL-FORM (DEFUN CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) "Try to initiate a connection. Caller should close the socket if this raises a condition." (LET (#) (CL-POSTGRES::STARTUP-MESSAGE CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::DATABASE) (FORCE-OUTPUT CL-POSTGRES::SOCKET) (LOOP #) (LOOP #) ...)) (SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 21: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >) 22: ((LAMBDA NIL)) 23: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA NIL) {C43F43D}>)[:EXTERNAL] 24: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >) 25: (COMPILE-FILE #P"/home/lars/programming/lisp/postmodern/cl-postgres/protocol.lisp")[:EXTERNAL]
Hello Lars,
For now, I can not find or reproduce your problem on SBCL 1.0.14. I take it you have removed your fasl files before re-compiling? To my (untrained) eyes, the backtrace is pretty much useless, and the error message makes it sound like some kind of internal compiler error -- searching the web for it only yields a single hit discussing an old SBCL bug. Are you on an uncommon platform? (I think me and Attila both use Linux.)
Regards, Marijn
2008/2/26 Lars Rune Nøstdal larsnostdal@gmail.com:
Hi, It seems the patch "Sun Nov 11 17:31:19 CET 2007 attila.lendvai@gmail.com" is causing some problems when compiling Postmodern on SBCL. As soon as I unpull the patch using darcs the problem goes away and Postmodern compiles. I tried both SBCL-1.0.12 and latest SBCL from CVS -- same problem:
CL-USER> (require :postmodern) .. .. ; compiling file "/home/lars/programming/lisp/postmodern/cl-postgres/protocol.lisp" (written 26 FEB 2008 11:08:47 AM): ; compiling (IN-PACKAGE :CL-POSTGRES) ; compiling (DEFINE-CONDITION PROTOCOL-ERROR ...) ; compiling (DEFMACRO MESSAGE-CASE ...) ; compiling (DEFUN READ-BYTE-DELIMITED ...) ; compiling (DEFUN GET-ERROR ...) ; compiling (DEFINE-CONDITION POSTGRESQL-WARNING ...) ; compiling (DEFUN GET-WARNING ...) ; compiling (DEFUN AUTHENTICATE ...)
Here is the backtrace:
The value NIL is not of type SB-C::NODE. [Condition of type TYPE-ERROR]
Restarts: 0: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {B1C9CA9}> on #<ASDF:CL-SOURCE-FILE "protocol" {B1C9D59}>. 1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {B1C9CA9}> on #<ASDF:CL-SOURCE-FILE "protocol" {B1C9D59}> as having been successful. 2: [ABORT] Return to SLIME's top level. 3: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {B20BD39}>)
Backtrace: 0: (SB-C::NODE-HOME-LAMBDA NIL)[:EXTERNAL] 1: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME SB-C::.ANONYMOUS. :%DEBUG-NAME (SB-C::TL-XEP CL-POSTGRES::AUTHENTICATE) :KIND :EXTERNAL :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> :WHERE-FROM :DEFINED :VARS (#:G251 #:G252 #:G253 #:G254 #:G255) {B3DB279}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}>) {C484619}>) 2: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME CL-POSTGRES::AUTHENTICATE :%DEBUG-NAME NIL :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION # #)> :WHERE-FROM :DEFINED :VARS (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) {B363571}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}>) {C484649}>) 3: ((LABELS SB-C::FLOOD) #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G245 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL *)> :WHERE-FROM :DEFINED :VARS NIL {B3B5E79}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PARAMETERS :TYPE #<SB-KERNEL:STRUCTURE-CLASSOID HASH-TABLE> {B3639F9}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484631}>) 4: (SB-C::CLOSE-OVER #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G245 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL *)> :WHERE-FROM :DEFINED :VARS NIL {B3B5E79}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B38D641}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PARAMETERS :TYPE #<SB-KERNEL:STRUCTURE-CLASSOID HASH-TABLE> {B3639F9}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484631}> #<SB-C::PHYSENV :LAMBDA #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G209 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL #)> :WHERE-FROM :DEFINED :VARS NIL {B368459}> :CLOSURE (#<SB-C::LAMBDA-VAR :%SOURCE-NAME #:G206 :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID STREAM (read-only)> {B367E51}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::PASSWORD {B363449}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::USER {B3633F1}> #<SB-C::LAMBDA-VAR :%SOURCE-NAME CL-POSTGRES::SOCKET {B363399}>) {C484661}>) 5: (SB-C::%ADD-LAMBDA-VARS-TO-CLOSURES #<SB-C::CLAMBDA :%SOURCE-NAME CL-POSTGRES::READ-UINT4 :%DEBUG-NAME NIL :KIND :LET :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)> :WHERE-FROM :DEFINED :VARS (CL-POSTGRES::SOCKET) {B38D7E1}>) 6: (SB-C::ADD-LAMBDA-VARS-AND-LET-VARS-TO-CLOSURES #<SB-C::CLAMBDA :%SOURCE-NAME #1=#:G209 :%DEBUG-NAME (LABELS #1#) :KIND NIL :TYPE #<SB-KERNEL:FUN-TYPE (FUNCTION NIL (VALUES NULL &OPTIONAL))> :WHERE-FROM :DEFINED :VARS NIL {B368459}>) 7: (SB-C::PHYSENV-ANALYZE #<SB-C:COMPONENT :NAME SB-IMPL::ANSI-STREAM-P {B4FB671}>) 8: (SB-C::COMPILE-COMPONENT #<SB-C:COMPONENT :NAME SB-IMPL::ANSI-STREAM-P {B4FB671}>) 9: (SB-C::%COMPILE (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE (LET # # # # # ...))) #<SB-FASL:FASL-OUTPUT "/home/lars/programming/lisp/postmodern/cl-postgres/protocol.fasl">)[:EXTERNAL] 10: (SB-C::FOPCOMPILE-FUNCTION (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE (LET # # # # # ...))) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7) T) 11: (SB-C::FOPCOMPILE (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 12: (SB-C::CONVERT-AND-MAYBE-COMPILE (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) #2=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) #1#) (PROGN (EVAL-WHEN # #) #2#) SB-C::ORIGINAL-SOURCE-START 0 7)) 13: ((FLET SB-C::DEFAULT-PROCESSOR) (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) 14: (SB-C::PROCESS-TOPLEVEL-FORM (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) (BLOCK CL-POSTGRES::AUTHENTICATE #)) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION)) (#1=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #)) (PROGN (EVAL-WHEN # #) #1#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 15: (SB-C::PROCESS-TOPLEVEL-PROGN ((SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) (#1=(EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #)) (PROGN (EVAL-WHEN # #) #1#) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 16: (SB-C::PROCESS-TOPLEVEL-FORM (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN (QUOTE CL-POSTGRES::AUTHENTICATE) (SB-INT:NAMED-LAMBDA CL-POSTGRES::AUTHENTICATE # #) "Try to initiate a connection. Caller should close the socket if this raises a condition." (QUOTE NIL) (SB-C:SOURCE-LOCATION))) ((PROGN (EVAL-WHEN # #) (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 17: (SB-C::PROCESS-TOPLEVEL-PROGN ((EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN # # T)) (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #))) ((PROGN (EVAL-WHEN # #) (EVAL-WHEN # #)) SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 18: (SB-C::PROCESS-TOPLEVEL-FORM (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL) (SB-C:%COMPILER-DEFUN # # T)) (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) (SB-IMPL::%DEFUN # # "Try to initiate a connection. Caller should close the socket if this raises a condition." # #))) (SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 19: ((FLET SB-C::DEFAULT-PROCESSOR) (DEFUN CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) "Try to initiate a connection. Caller should close the socket if this raises a condition." (LET (#) (CL-POSTGRES::STARTUP-MESSAGE CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::DATABASE) (FORCE-OUTPUT CL-POSTGRES::SOCKET) (LOOP #) (LOOP #) ...))) 20: (SB-C::PROCESS-TOPLEVEL-FORM (DEFUN CL-POSTGRES::AUTHENTICATE (CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::PASSWORD CL-POSTGRES::DATABASE) "Try to initiate a connection. Caller should close the socket if this raises a condition." (LET (#) (CL-POSTGRES::STARTUP-MESSAGE CL-POSTGRES::SOCKET CL-POSTGRES::USER CL-POSTGRES::DATABASE) (FORCE-OUTPUT CL-POSTGRES::SOCKET) (LOOP #) (LOOP #) ...)) (SB-C::ORIGINAL-SOURCE-START 0 7) NIL) 21: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >) 22: ((LAMBDA NIL)) 23: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA NIL) {C43F43D}>)[:EXTERNAL] 24: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >) 25: (COMPILE-FILE #P"/home/lars/programming/lisp/postmodern/cl-postgres/protocol.lisp")[:EXTERNAL]
-- Lars Rune Nøstdal http://nostdal.org/
postmodern-devel mailing list postmodern-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/postmodern-devel
For now, I can not find or reproduce your problem on SBCL 1.0.14. I take it you have removed your fasl files before re-compiling? To my
fyi, i've seen this myself, too with sbcl head on linux/x86 64. but it was coming and going, and i think it only happened when i changed some cl-postgres files which got recompiled in an image that already contained cl-postgres. but i can't reproduce it now, and i've not seen it for a while now.
For now, I have removed the inline declaration for the integer readers from the repository, since they seem to be what causes this. Most likely, the problem is with SBCL, not our code, but since I am unable to reproduce the issue I can not say for sure.
Marijn
postmodern-devel@common-lisp.net