Another problem is that LispWorks' stream-read-sequence and stream-write-sequence generic function's lambda list is a little different: no "&optional".
After last patch, now I can got this compile error:
Error: Lambda list (STREAM SEQ &OPTIONAL START END) is not congruent with the lambda list (STREAM SEQUENCE SYSTEM::START SYSTEM::END) of #<STANDARD-GENERIC-FUNCTION STREAM-WRITE-SEQUENCE 41E03239C4>.
After use another trivial patch, I think this problem can be solved:
diff -rN old-iolib/io.streams/gray-stream-methods.lisp new-iolib/io.streams/gray-stream-methods.lisp 139c139 < &optional (start 0) end) ---
#-lispworks &optional #-lispworks (start 0) #+lispworks start end)
288c288 < &optional (start 0) end) ---
#-lispworks &optional #-lispworks (start 0) #+lispworks start end)
But this still cannot solve all problems. There are serious memory access bug in IOlib on 64bit platform, I'm trying to debug and fix it. (both 64bit SBCL and 64bit LispWorks cannot use net.socket)
In LispWorks like this:
CL-USER 4 > (net.smtp-client:send-email "mail.163.org" "binghe@163.org" "binghe@163.org" "test mail from lispworks" "Hi, binghe.")
Error: Signal B [code 0] at 41E093E83F {inside #<Function 1 subfunction of (TOP-LEVEL-FORM 19) 41E093E83C>} rax E093E80C ; rbx 41E093E83C ; rcx 2 ; rdx 41C0293B40 rsp 4040136DF8 ; rbp 4040136E00 ; rdi 6C07C000002AAA ; rsi 0 r8 40000530F9 ; r9 38 ; r10 8 ; r11 4040137101 r12 40502DB583 ; r13 40502DD1FB ; r14 4000049809 ; r15 414001772C 1 (abort) Return to level 0. 2 Return to top loop level 0.
Type :b for backtrace, :c <option number> to proceed, or :? for other options
CL-USER 5 : 1 > :b Call to ERROR Call to NET.SOCKETS::SOCKADDR-STORAGE->SOCKADDR Call to NET.SOCKETS::MAKE-HOST-FROM-ADDRINFO Call to (METHOD NET.SOCKETS:LOOKUP-HOST (STRING)) Call to NET.SOCKETS:CONVERT-OR-LOOKUP-INET-ADDRESS Call to NET.SOCKETS:MAKE-SOCKET Call to NET.SMTP-CLIENT::MAKE-SMTP-SOCKET Call to NET.SMTP-CLIENT::SEND-SMTP Call to NET.SMTP-CLIENT:SEND-EMAIL Call to EVAL Call to CAPI::CAPI-TOP-LEVEL-FUNCTION Call to CAPI::INTERACTIVE-PANE-TOP-LOOP Call to (SUBFUNCTION MP::PROCESS-SG-FUNCTION MP::INITIALIZE-PROCESS-STACK)
Have you any 64-bit test platform to identify this? (SBCL has the same problem)
Thanks.
Chun Tian (binghe)
Stelian Ionescu sionescu@common-lisp.net writes:
On Fri, Jun 08, 2007 at 02:20:24AM +0800, Chun Tian (binghe) wrote:
Hi, IOLib
The line 31 of iolib/io.streams/pkgdcl.lisp miss a "lispworks" feature. This caused io.streams package cannot import symbols from lispworks' stream package, and cause a error when I use net.smtp-client:
Error: The class #<STANDARD-CLASS IO.STREAMS:DUAL-CHANNEL-GRAY-STREAM 40D0347A5B> cannot be finalized because the following superclass is not defined: #<FORWARD-REFERENCED-CLASS IO.STREAMS:FUNDAMENTAL-BINARY-INPUT-STREAM 40D03479CB>. 1 (abort) Return to level 0. 2 Return to top loop level 0.
Type :b for backtrace, :c <option number> to proceed, or :? for other options
A trivial patch may fix this.
thanks, I've committed your patch :)
-- (sign :name "Stelian Ionescu" :aka "fe[nl]ix" :quote "Quidquid latine dictum sit, altum videtur.") _______________________________________________ iolib-devel mailing list iolib-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/iolib-devel