[postmodern-devel] problem with a patch `integer-reader'
Marijn Haverbeke
marijnh at gmail.com
Tue Feb 26 10:50:56 UTC 2008
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 at gmail.com>:
> Hi,
> It seems the patch "Sun Nov 11 17:31:19 CET 2007
> attila.lendvai at 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 at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/postmodern-devel
>
>
More information about the postmodern-devel
mailing list