[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