[iolib-devel] Re: #+lispworks missing in iolib/io.streams/pkgdcl.lisp
Chun Tian binghe
binghe.lisp at gmail.com
Thu Jun 7 19:35:21 UTC 2007
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 at 163.org"
"binghe at 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 at 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 at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/iolib-devel
--
'()
More information about the iolib-devel
mailing list