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" "[EMAIL PROTECTED]"
"[EMAIL PROTECTED]" "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 <[EMAIL PROTECTED]> 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
> [email protected]
> http://common-lisp.net/cgi-bin/mailman/listinfo/iolib-devel
--
'()
_______________________________________________
iolib-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/iolib-devel