[Openmcl-devel] bug with usocket and/or trunk ccl - "error #22"

Chun Tian (binghe) binghe.lisp at gmail.com
Wed May 20 11:56:37 PDT 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://lists.clozure.com/pipermail/openmcl-devel/attachments/20150520/1c932714/attachment.bin>


More information about the Openmcl-devel mailing list