[cl-irc-devel] cl-irc 0.8.0 on SBCL 1.0.23

TC-Rucho tc.rucho at gmail.com
Thu Dec 11 22:46:38 UTC 2008


Hello, I've just had my first exposure to cl-irc. I was using cl-irc 0.7
and I had a really weird error from time to time while the bot was idle
or processing some request [weird-error.txt] and [weird-error2.txt].
After unsuccessfully trying to determine the cause of the error, I
decided to update cl-irc but an (asdf-install:install 'cl-irc) failed:
[cl-irc-compilation-error.txt]

It fails to compile protocol.lisp
Seems that the latest flexi-stream package does not have
flexi-stream-encoding-error

Anyway, using an older flexi-streams package seemed to solve the problem
for the time being.

However, there are some things I would like to point out. Please correct
me if I'm mistaken.
   1. When using IRC:TRAILING-ARGUMENT a warning pops up saying it's
deprecated... but... which one should I use instead? I don't see any
comment in the source code suggesting another one, examples all use
IRC:TRAILING-ARGUMENT and ever cl-irc's source uses it, so what am I
supposed to do?
   2. When connecting to freenode, it _always_ errors due to an unknown
response from nickserv upon identify [id-error.txt]
   3. There's no documentation at all.
   4. Examples outdated(?) (all of them use deprecated functions)
   5. AFAIK no contact information but this email address (one would
expect some kind of irc contact/support for an irc library project)
   6. For some reason, when I redefine a hook, cl-irc behaves like if it
cached the previous function, so I'm forced to take the all hooks away,
re-add them and START-BACKGROUND-MESSAGE-HANDLER (which sometimes
triggered the first error I mentioned (and it's also marked as
deprecated, again, no suggestion of what kind of replacement should I
use)). Of course this hassle can be partially avoided defining a
function that does the dirty job but this is not what I would call a
straightforward "on the fly change of functionality".



-------------- next part --------------
The value -83 is not of type (MOD 1152921504606846973).
   [Condition of type TYPE-ERROR]

Restarts:
 0: [TERMINATE-THREAD] Terminate this thread (#<THREAD RUNNING {100402C261}>)

Backtrace:
  0: (SB-KERNEL:SYSTEM-AREA-UB8-COPY #.(SB-SYS:INT-SAP #X7FFBCD046000) 162 #.(SB-SYS:INT-SAP #X7FFBCD046000) 0 -83)[:EXTERNAL]
      Locals:
        SB-DEBUG::ARG-0 = 5
        SB-DEBUG::ARG-1 = #.(SB-SYS:INT-SAP #X7FFBCD046000)
        SB-DEBUG::ARG-2 = 162
        SB-DEBUG::ARG-3 = #.(SB-SYS:INT-SAP #X7FFBCD046000)
        SB-DEBUG::ARG-4 = 0
        SB-DEBUG::ARG-5 = -83
  1: ((FLET #:WITHOUT-INTERRUPTS-BODY-[REFILL-INPUT-BUFFER]1754))
      [No Locals]
  2: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "a socket" {100475C001}>)
      Locals:
        SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "a socket" {100475C001}>
  3: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "a socket" {100475C001}> NIL NIL)
      Locals:
        SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "a socket" {100475C001}>
        SB-DEBUG::ARG-1 = NIL
        SB-DEBUG::ARG-2 = NIL
      Catch-tags:
        SB-IMPL::EOF-INPUT-CATCHER
  4: (READ-LINE #<SB-SYS:FD-STREAM for "a socket" {100475C001}> T NIL #<unused argument>)
      Locals:
        SB-IMPL::EOF-ERROR-P = T
        SB-IMPL::EOF-VALUE = NIL
        STREAM = #<SB-SYS:FD-STREAM for "a socket" {100475C001}>
  5: ((SB-PCL::FAST-METHOD READ-IRC-MESSAGE (CONNECTION)) #<unavailable argument> #<unavailable argument> #<CONNECTION irc.freenode.net {1004724BE1}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CONNECTION irc.freenode.net {1004724BE1}>
  6: ((SB-PCL::FAST-METHOD READ-MESSAGE (CONNECTION)) #<unavailable argument> #<unavailable argument> #<CONNECTION irc.freenode.net {1004724BE1}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CONNECTION irc.freenode.net {1004724BE1}>
  7: ((SB-PCL::FAST-METHOD READ-MESSAGE-LOOP (CONNECTION)) #<unavailable argument> #<unavailable argument> #<CONNECTION irc.freenode.net {1004724BE1}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CONNECTION irc.freenode.net {1004724BE1}>
  8: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
      [No Locals]
      Catch-tags:
        SB-IMPL::%END-OF-THE-WORLD
        SB-INT:TOPLEVEL-CATCHER
  9: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]477))
      [No Locals]
 10: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7FFBC753CEF9}> #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {100402C261}> :STATE 1) #<SB-THREAD:THREAD RUNNING {100402C261}> T)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7FFBC753CEF9}>
        SB-DEBUG::ARG-1 = #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {100402C261}> :STATE 1)
        SB-DEBUG::ARG-2 = #<SB-THREAD:THREAD RUNNING {100402C261}>
        SB-DEBUG::ARG-3 = T
 11: ((LAMBDA NIL))
      [No Locals]
 12: ("foreign function: #x41E372")
      [No Locals]
 13: ("foreign function: #x415DFA")
      [No Locals]
-------------- next part --------------
The value -40 is not of type (MOD 1152921504606846973).
   [Condition of type TYPE-ERROR]

Restarts:
 0: [TERMINATE-THREAD] Terminate this thread (#<THREAD RUNNING {1002BB3BC1}>)

Backtrace:
  0: (SB-KERNEL:SYSTEM-AREA-UB8-COPY #.(SB-SYS:INT-SAP #X7F7BC64F9000) 68 #.(SB-SYS:INT-SAP #X7F7BC64F9000) 0 -40)[:EXTERNAL]
      Locals:
        SB-DEBUG::ARG-0 = 5
        SB-DEBUG::ARG-1 = #.(SB-SYS:INT-SAP #X7F7BC64F9000)
        SB-DEBUG::ARG-2 = 68
        SB-DEBUG::ARG-3 = #.(SB-SYS:INT-SAP #X7F7BC64F9000)
        SB-DEBUG::ARG-4 = 0
        SB-DEBUG::ARG-5 = -40
  1: ((FLET #:WITHOUT-INTERRUPTS-BODY-[REFILL-INPUT-BUFFER]1754))
      [No Locals]
  2: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "a socket" {10040F8451}>)
      Locals:
        SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "a socket" {10040F8451}>
  3: (SB-IMPL::INPUT-UNSIGNED-8BIT-BYTE #<SB-SYS:FD-STREAM for "a socket" {10040F8451}> NIL NIL)
      Locals:
        SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "a socket" {10040F8451}>
        SB-DEBUG::ARG-1 = NIL
        SB-DEBUG::ARG-2 = NIL
      Catch-tags:
        SB-IMPL::EOF-INPUT-CATCHER
  4: (READ-BYTE #<SB-SYS:FD-STREAM for "a socket" {10040F8451}> NIL NIL)
      Locals:
        SB-IMPL::EOF-ERROR-P = NIL
        SB-IMPL::EOF-VALUE = NIL
        STREAM = #<SB-SYS:FD-STREAM for "a socket" {10040F8451}>
  5: (READ-SEQUENCE-UNTIL #<unavailable argument> #<unavailable argument> #<unavailable argument>)[:EXTERNAL]
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-3 = :<NOT-AVAILABLE>
  6: ((SB-PCL::FAST-METHOD READ-IRC-MESSAGE (CONNECTION)) #<unavailable argument> #<unavailable argument> #<CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CONNECTION irc.freenode.net {1004044B51}>
  7: ((SB-PCL::FAST-METHOD READ-MESSAGE (CONNECTION)) #<unavailable argument> #<unavailable argument> #<CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CONNECTION irc.freenode.net {1004044B51}>
  8: (READ-MESSAGE-LOOP #<CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = #<CONNECTION irc.freenode.net {1004044B51}>
  9: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
      [No Locals]
      Catch-tags:
        SB-IMPL::%END-OF-THE-WORLD
        SB-INT:TOPLEVEL-CATCHER
 10: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]477))
      [No Locals]
 11: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7F7BC1AE2EF9}> #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {1002BB3BC1}> :STATE 1) #<SB-THREAD:THREAD RUNNING {1002BB3BC1}> T)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7F7BC1AE2EF9}>
        SB-DEBUG::ARG-1 = #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {1002BB3BC1}> :STATE 1)
        SB-DEBUG::ARG-2 = #<SB-THREAD:THREAD RUNNING {1002BB3BC1}>
        SB-DEBUG::ARG-3 = T
 12: ((LAMBDA NIL))
      [No Locals]
 13: ("foreign function: #x41E372")
      [No Locals]
 14: ("foreign function: #x415DFA")
      [No Locals]
-------------- next part --------------
; compiling file "/home/tc-rucho/.sbcl/site/cl-irc-0.8.0/protocol.lisp" (written 06 JAN 2007 10:31:05 AM):
; compiling (IN-PACKAGE :IRC)
; compiling (DEFINE-CONDITION NO-SUCH-REPLY ...)
; compiling (DEFCLASS IRC-MODE ...)
; compiling (DEFGENERIC SET-MODE-VALUE ...)
; compiling (DEFGENERIC UNSET-MODE-VALUE ...)
; compiling (DEFGENERIC RESET-MODE-VALUE ...)
; compiling (DEFGENERIC HAS-VALUE-P ...)
; compiling (DEFMETHOD RESET-MODE-VALUE ...)
; compiling (DEFCLASS BOOLEAN-VALUE-MODE ...)
; compiling (DEFMETHOD SET-MODE-VALUE ...)
; compiling (DEFMETHOD UNSET-MODE-VALUE ...)
; compiling (DEFMETHOD HAS-VALUE-P ...)
; compiling (DEFCLASS SINGLE-VALUE-MODE ...)
; compiling (DEFMETHOD SET-MODE-VALUE ...)
; compiling (DEFMETHOD UNSET-MODE-VALUE ...)
; compiling (DEFMETHOD HAS-VALUE-P ...)
; compiling (DEFCLASS LIST-VALUE-MODE ...)
; compiling (DEFMETHOD SET-MODE-VALUE ...)
; compiling (DEFMETHOD UNSET-MODE-VALUE ...)
; compiling (DEFMETHOD HAS-VALUE-P ...)
; compiling (DEFCLASS CONNECTION ...)
; compiling (DEFMETHOD PRINT-OBJECT ...)
; compiling (DEFGENERIC ADD-DEFAULT-HOOKS ...)
; compiling (DEFGENERIC CLIENT-RAW-LOG ...)
; compiling (DEFGENERIC CONNECTEDP ...)
; compiling (DEFGENERIC READ-MESSAGE ...)
; compiling (DEFGENERIC READ-IRC-MESSAGE ...)
; compiling (DEFGENERIC SEND-IRC-MESSAGE ...)
; compiling (DEFGENERIC GET-HOOKS ...)
; compiling (DEFGENERIC ADD-HOOK ...)
; compiling (DEFGENERIC REMOVE-HOOK ...)
; compiling (DEFGENERIC REMOVE-HOOKS ...)
; compiling (DEFGENERIC REMOVE-ALL-HOOKS ...)
; compiling (DEFGENERIC CASE-MAP-NAME ...)
; compiling (DEFGENERIC RE-APPLY-CASE-MAPPING ...)
; compiling (DEFUN MAKE-CONNECTION ...)
; compiling (DEFMETHOD ADD-DEFAULT-HOOKS ...)
; compiling (DEFMETHOD CLIENT-RAW-LOG ...)
; compiling (DEFMETHOD CONNECTEDP ...)
; compiling (DEFMETHOD READ-MESSAGE ...)
; compiling (DEFVAR *PROCESS-COUNT* ...)
; compiling (DEFUN START-PROCESS ...)
; compiling (DEFUN START-BACKGROUND-MESSAGE-HANDLER ...)
; compiling (DEFUN STOP-BACKGROUND-MESSAGE-HANDLER ...)
; compiling (DEFUN READ-MESSAGE-LOOP ...); compilation aborted because of fatal error:
;   READ failure in COMPILE-FILE:
;     SB-INT:SIMPLE-READER-PACKAGE-ERROR at 12359 (line 349, column 56) on #<SB-SYS:FD-STREAM for "file /home/tc-rucho/.sbcl/site/cl-irc-0.8.0/protocol.lisp" {100413BE01}>:
;       Symbol "FLEXI-STREAM-ENCODING-ERROR" not found in the FLEXI-STREAMS package.
; compilation aborted after 0:00:00

WARNING:
   COMPILE-FILE warned while performing #<COMPILE-OP NIL {100400DF81}> on
   #<CL-SOURCE-FILE "protocol" {1002815F21}>.

debugger invoked on a ASDF:COMPILE-FAILED in thread #<THREAD "initial thread" RUNNING {10027461A1}>:
  erred while invoking #<COMPILE-OP NIL {100400DF81}> on
  #<CL-SOURCE-FILE "protocol" {1002815F21}>

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [TRY-RECOMPILING] Try recompiling protocol
  1: [RETRY          ] Retry performing #<ASDF:COMPILE-OP NIL {1002B76BD1}> on
                       #<ASDF:CL-SOURCE-FILE "protocol" {1002815F21}>.
  2: [ACCEPT         ] Continue, treating #<ASDF:COMPILE-OP NIL {1002B76BD1}>
                       on #<ASDF:CL-SOURCE-FILE "protocol" {1002815F21}> as
                       having been successful.
  3: [ABORT          ] Exit debugger, returning to top level.

((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
#<unavailable argument>
#<unavailable argument>
#<ASDF:COMPILE-OP NIL {100400DF81}>
#<ASDF:CL-SOURCE-FILE "protocol" {1002815F21}>)
0]
-------------- next part --------------
No such reply 901.
   [Condition of type CL-IRC:NO-SUCH-REPLY]

Restarts:
 0: [CONTINUE] Ignore unknown reply.
 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD RUNNING {1003D1D741}>)

Backtrace:
  0: (CL-IRC:FIND-REPLY-NAME 901)[:EXTERNAL]
      Locals:
        SB-DEBUG::ARG-0 = 1
        SB-DEBUG::ARG-1 = 901
  1: (CL-IRC::CREATE-IRC-MESSAGE ":zelazny.freenode.net 901 tc-bot TC-Rucho n=tc-bot unaffiliated/tc-rucho :You are now logged in. (id TC-Rucho, username n=tc-bot, hostname unaffiliated/tc-rucho)")
      Locals:
        SB-DEBUG::ARG-0 = ":zelazny.freenode.net 901 tc-bot TC-Rucho n=tc-bot unaffiliated/tc-rucho :You are now logged in. (id TC-Rucho, username n=tc-bot, hostname unaffiliated/tc-rucho)"
  2: ((SB-PCL::FAST-METHOD CL-IRC::READ-IRC-MESSAGE (CL-IRC:CONNECTION)) #<unavailable argument> #<unavailable argument> #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>
  3: ((SB-PCL::FAST-METHOD CL-IRC:READ-MESSAGE (CL-IRC:CONNECTION)) #<unavailable argument> #<unavailable argument> #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-1 = :<NOT-AVAILABLE>
        SB-DEBUG::ARG-2 = #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>
  4: (CL-IRC:READ-MESSAGE-LOOP #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>)
      Locals:
        SB-DEBUG::ARG-0 = #<CL-IRC:CONNECTION irc.freenode.net {1004044B51}>
  5: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
      [No Locals]
      Catch-tags:
        SB-IMPL::%END-OF-THE-WORLD
        SB-INT:TOPLEVEL-CATCHER
  6: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]477))
      [No Locals]
  7: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7F7BC09EEEF9}> #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {1003D1D741}> :STATE 1) #<SB-THREAD:THREAD RUNNING {1003D1D741}> T)
      Locals:
        SB-DEBUG::ARG-0 = #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {7F7BC09EEEF9}>
        SB-DEBUG::ARG-1 = #S(SB-THREAD:MUTEX :NAME "thread result lock" :%OWNER #<SB-THREAD:THREAD RUNNING {1003D1D741}> :STATE 1)
        SB-DEBUG::ARG-2 = #<SB-THREAD:THREAD RUNNING {1003D1D741}>
        SB-DEBUG::ARG-3 = T
  8: ((LAMBDA NIL))
      [No Locals]
  9: ("foreign function: #x41E372")
      [No Locals]
 10: ("foreign function: #x415DFA")
      [No Locals]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/cl-irc-devel/attachments/20081211/f34f2cb2/attachment.sig>


More information about the cl-irc-devel mailing list