[Openmcl-devel] bug with usocket and/or trunk ccl - "error #22"
Chun Tian (binghe)
binghe.lisp at gmail.com
Wed May 20 18:56:37 UTC 2015
Issue fixed, problem is in usocket (of course). The created server socket is IPv4, but client socket is IPv6, that’s why the sending data cannot be received … now using “localhost” they’re both IPv6 sockets.
I’ve committed to Git master [1], this time the original test code runs perfectly.
Thanks to everyone, let me know if there’re still other issues for CCL 1.11.
--
Chun
[1] https://github.com/usocket/usocket/commit/966de96f5f1954f7f5aa91e1191317e12a5b8350
Il giorno 20/mag/2015, alle ore 20:44, Karsten Poeck <Karsten.Poeck at gmail.com> ha scritto:
> On 20.05.15 20:25, Chun Tian (binghe) wrote:
>> Hi,
>>
>> I was working on this issue since 10 hours ago when I firstly saw the mail. I’ve already committed an initial fix [1] to usocket Git master, in which I handled two compatibility issues between usocket and ccl-1.11, and now there’s no error reported when creating and sending sockets. But it seems that CCL::SEND-TO cannot actually send out the data to a “connected” UDP socket, as a result the test code is blocked at (usocket:socket-receive …).
>>
>> Usocket’s backend code for CCL is basically just a wrapper (even more true for ccl-1.11), my next step is to remove all usocket wrappers and only use CCL’s native API to reproduce the same issue. I’ll submit trac tickets to CCL if I found something.
>>
>> Regards,
>>
>> Chun
>>
>
> Looking at the code for socket-connect in current usocket from quicklisp there are a 2 things that leaved me slightly puzzled.
>
> The signature is:
> (defun socket-connect (host port &key (protocol :stream) element-type
> timeout deadline nodelay
> local-host local-port)
>
> But later it does (host-to-hbo local-host). This fails miserably when local-host is nil, which seems to be an ok use of it (and happens in our example for the client socket)
>
> It also does pass :address-family (openmcl-socket:socket-address-family remote) to openmcl-socket:make-socket.
>
> But remote is only set, when (and host port) otherwise it stays nil, so the socket-address will also fail. This happens for me in the server socket.
>
> Looking at your commit you seem to have addressed this already though :-)
>
> Karsten
>
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://mailman.common-lisp.net/pipermail/usocket-devel/attachments/20150520/1c932714/attachment.sig>
More information about the usocket-devel
mailing list