EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: "Unexpected UDP failure WIN32 Socket Library Error 10054"
From: "Jeff Hill" <[email protected]>
To: "'matthias muntwiler'" <[email protected]>, "'Goetz Pfeiffer'" <[email protected]>, "'Geoff Savage'" <[email protected]>
Cc: <[email protected]>
Date: Thu, 31 Jan 2002 12:32:01 -0700
All,

This is in reply to questions about the "Unexpected UDP failure WIN32
Socket Library Error 10054" message on Microsoft Windows. The message
appears to be benign, but nevertheless I would like to track down its
cause.

I am unable to reproduce this message using ca_test on my new MS Windows
2000 machine that has service pack two installed. I have used NT quite a
bit and don't recall seeing this there either.

I suspect a bug in certain versions of the windows socket library. I
would very much like to know what version of the windows service pack is
installed on MS Windows based systems that are able to reproduce this
message. 

For those that are interested, here are the gory details:

An esoteric detail of the sockets interface is that a datagram (UDP)
socket that is connected with the "connect()" system call will
disconnect, and the "recvfrom()" system call will return "connection
reset by peer", if the destination host returns ICMP "port unreachable"
because there is currently no UDP server on that port. 

However, the CA client library isn't connecting its UDP socket with the
"connect()" system call. Therefore, I am guessing that certain versions
of the windows socket library are flawed so that they return "connection
reset by peer" when ICMP "port unreachable" is received even if the
socket isn't connected. This does not match the behavior of any of the
other socket libraries I have used.

Here is a MS bug report that does not appear to recognize the root
cause, being that the socket library should not return "connection reset
by peer" if the UDP socket isn't connected, but I assume that somewhere
in the bowls of the MS machine someone has, and that this was fixed by a
service pack. It is odd that MS mentions nothing about this occurring on
NT while Geoff reports seeing the message there.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q263823

If the service pack fixes the problem then I am inclined to add a
description of this to the R3.14 known problems list, and take no
further action. Otherwise, we will need to investigate further.

Jeff

> -----Original Message-----
> From: matthias muntwiler [mailto:[email protected]]
> Sent: Thursday, January 31, 2002 9:18 AM
> To: [email protected]
> Subject: Re: Epics 3.13.5 supporting Windows 2000 ?
> 
> i can reproduce your error message on my win2k system with a "caget"
> command at the command prompt whenever "caRepeater" is not running.
> (check it by launching and stopping it manually.)
> 
> caRepeater.exe is started automatically by the ca.dll - probably with
> ca_task_initialize. in order to suppress the message in your code,
> waiting until caRepeater is running may help. i've never got the error
> with my own code which uses direct ca.dll calls - for what reason
ever.
> 
> besides, i'd like to emphasize that channel access runs very well on
my
> win2k system. i write a client application for a photoemission
> spectroscopy experiment that runs under EPICS. the code is written in
> borland delphi (object pascal), and it wasn't a big deal to access
> ca.dll functions directly.
> 
> yours
> matthias muntwiler
> 
> Goetz Pfeiffer wrote:
> > When I start my test-program which is similar to executing a "caget"
> > I see the following error message:
> >
> > "Unexpected UDP failure WIN32 Socket Library Error 10054"
> >
> > The actual reading of the record works, but the error message is
> printed
> > each time I try to read a record, sometimes the message is printed
> > twice, before the value can be read.
> >
> > I have two questions:
> >
> > Does anyone know this error message ?
> >
> > Has anyone sucessfully tested EPICS 3.13.5 or previous versions with
> > Windows 2000 ?
> 
> 
> **************************************************************
>   matthias muntwiler
>   surface physics, university of zurich
>   swiss light source (sls), paul-scherrer-institut, villigen
> 
>   mailto:[email protected]
>   http://www.physik.unizh.ch/groups/grouposterwalder/
> **************************************************************



References:
Re: Epics 3.13.5 supporting Windows 2000 ? matthias muntwiler

Navigate by Date:
Prev: Re: et_wish, threadInit and osiThread.h Benjamin Sailer
Next: RE: caTCL with R3.14 and Linux Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Epics 3.13.5 supporting Windows 2000 ? matthias muntwiler
Next: et_wish, threadInit and osiThread.h Benjamin Sailer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·