[beirc-devel] character decoding (?) bug

Cyrus Harmon ch-lisp at bobobeach.com
Sun Jan 23 15:42:57 UTC 2011


When running beirc, I periodically see the following error:

* (beirc:beirc)

#S(CLIM-INTERNALS::PROCESS
   :NAME "BEIRC GUI process"
   :STATE NIL
   :WHOSTATE NIL
   :FUNCTION #<CLOSURE (LAMBDA #) {1004BAC449}>
   :THREAD #<SB-THREAD:THREAD "BEIRC GUI process" RUNNING {1004BAC5A1}>)
* 
debugger invoked on a TYPE-ERROR in thread #<THREAD "BEIRC GUI process" RUNNING
                                             {1004BAC5A1}>:
  The value 1052 is not of type (UNSIGNED-BYTE 8).

I assume this is caused by someone sending a unicode character to a channel and beirc not handling it properly. Unfortunately, at least when called from a non-slime REPL, this causes the whole window to lock up and doesn't even drop the REPL into the debugger, which makes debugging somewhat challenging. So I think there are (at least) two problems here:

1. beirc doesn't handle unicode characters

and

2. error handling should be improved such that the user has a chance to do something less destructive than killing the process.

thanks,

cyrus





More information about the beirc-devel mailing list