[ace-users] Socket error 0 on send_n with ace Reactor (ACE_SOCK_Stream)

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Sun Jul 8 13:58:05 CDT 2007


Hi Ron,

   Thanks for passing this info along!
   
   Doug

>On Jul 8, 3:22 pm, Ron Grosberg <ron.grosb... at gmail.com> wrote:
>> Hi,
>> I am working with ACE reactor and ACE_SOCK_Stream. normally everything
>> works fine.
>> we have one scenario, in which we are working with 2 application, 2
>> sockets each - one inside the server (sunos 10), and one outside of
>> it.
>> the first running application works fine, but the second one cannot
>> send data through the socket. the return value is 0 (0 bytes sent),
>> and errno=0. we tried to do several things:
>> 1. replace the ace send_n with a regular send. didn't work
>> 2. getsockopt(fd, SOL_SOCKET, SO_ERROR, (char *)&value, &val_len ) -
>> to receive the error. got error 0 again....
>> 3. getsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&value, &val_len ) to
>> receive the maximum size we can send. when the socket works fine, this
>> works, but after the first send error we get errno 34 - "Result too
>> large", which i haven't found documentation for anywhere...
>> 4. Resending the data in a loop, we still get error 0, and nothing is
>> sent
>>
>> anyone has any IDEA?
>
>OK, Found the problem. after replacing the send_n with a regular send
>(not ace) I got error 11 - resource temporarily unavailable. after
>some reading - it seems that solaris SunOs 5.10 has problems with the
>new TCP Fusion mechanism, and that's what did the problem. I disabled
>the TCP Fusion, and everything worked like magic.
>as Sun said:
>To work around the described issue until patches can be installed,
>disable TCP Fusion by adding the following line to the "/etc/system"
>file and rebooting the system:
>
>    set ip:do_tcp_fusion = 0x0
>
>(taken from http://sunsolve.sun.com/search/document.do?assetkey=1-26-102667-1)
>


-- 
Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Vanderbilt University                        WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203                          NET: d.schmidt at vanderbilt.edu



More information about the Ace-users mailing list