This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 1.7.7 blocking socket problem


Sorry that this message is not a true reply to Corinna's reply.  I was
not yet actually subscribed to the mailing list when she sent her
message, so I couldn't reply.

Sorry also for not attaching the cygcheck.out file, which I have now
done.  I did put my Cygwin version in the subject of my message (1.7.7),
as suggested in the reporting guidelines.

Mark


On Nov 17 11:20, Mark Rivers wrote:
> Folks,
> 
> I believe I have discovered a problem with blocking sockets on Cygwin.
> The problem is that very rarely a call to send() will never return.
> 
> I am having problem when using the Channel Access TCP/IP protocol in
the
> EPICS control system (http://www.aps.anl.gov/epics/).
> 
> I have isolated the problem to a call to send() on the server which
> never returns.  This problem happens with a large number of
well-tested
> clients, running on both Linux and Windows.  I can build the same
EPICS
> server without Cygwin, using the MS VC++ Windows compiler and
libraries
> and it does not fail.  When the call to send() hangs it is sending a
> large packet (just over 8KB).  The failure rate is very low, perhaps
> once in 10 million calls to send().

Wow, that's not very often.  You missed all the stuff from
http://cygwin.com/problems.html, so we don't know what Cygwin release
you're talking about.  If it's Cygwin 1.5, you're out of luck since we
don't support that anymore.  Otherwise...

> I realize that my application is difficult to reproduce for the Cygwin
> developers.  I am willing to try to write a simple socket server and
> client to try to reproduce the problem in a simple test setup. 

...that would be most helpful.

> But
> before I do that I would like to first know if there is a known
problem
> of this sort that has already been reported, and perhaps fixed.

No, not really.  I wouldn't claim that Cygwin's socket implementation is
bug free, but this kind of very occassional hang is new to me.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat


-----Original Message-----
From: Mark Rivers 
Sent: Wednesday, November 17, 2010 11:20 AM
To: 'cygwin AT cygwin DOT com'
Subject: 1.7.7 blocking socket problem

Folks,

I believe I have discovered a problem with blocking sockets on Cygwin.
The problem is that very rarely a call to send() will never return.

I am having problem when using the Channel Access TCP/IP protocol in the
EPICS control system (http://www.aps.anl.gov/epics/).

I have isolated the problem to a call to send() on the server which
never returns.  This problem happens with a large number of well-tested
clients, running on both Linux and Windows.  I can build the same EPICS
server without Cygwin, using the MS VC++ Windows compiler and libraries
and it does not fail.  When the call to send() hangs it is sending a
large packet (just over 8KB).  The failure rate is very low, perhaps
once in 10 million calls to send().

I realize that my application is difficult to reproduce for the Cygwin
developers.  I am willing to try to write a simple socket server and
client to try to reproduce the problem in a simple test setup.  But
before I do that I would like to first know if there is a known problem
of this sort that has already been reported, and perhaps fixed.  I did
look through the mailing list archives and did not see anything.

This problem occurs on every Cygwin system it has been tested on (more
than 6), so it is not restricted to particular hardware.  All systems
are running Windows XP SP3 I believe.

Thanks very much,
Mark Rivers

Attachment: cygcheck.out
Description: cygcheck.out

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]