[freetds] Getting DB error = 20017 - Unexpected EOF from the server

Craig A. Berry craigberry at mac.com
Thu Mar 19 14:53:44 EDT 2009


On Mar 19, 2009, at 11:17 AM, Jeff.Goodwin at fairchildsemi.com wrote:

> We found the process that was doing the killing and there were  
> multiple
> scenarios of why a process would be killed.  The one that got the TSQL
> process was a check in the sysprocesses table for any hostprocess name
> that was not 8 characters in length.  If such a process was up for  
> more
> than 24 hours, it was killed.  It appears that the processes from the
> Sybase client on the VAX using the SRI INET driver seems to always  
> produce
> 8 character hostprocess names.  The connection from TSQL is less  
> than 8
> characters, thus it was killed after 24 hours.

That's a good one.  On a v7.0 Microsoft server (the nearest cousin I  
have to Sybase), sysprocesses.hostprocess is nchar(16) and what's  
actually in there is the PID (in decimal) of the process on VMS  
running the client.  I just tested it and it's the same regardless of  
whether I'm using Sybase's isql or FreeTDS's tsql.

You're never supposed to depend on the contents of a VMS process ID  
other than that it's "an opaque longword value," but generally  
speaking a system that has been up a long time and/or is a member of a  
cluster will be giving out bigger numbers as PIDs than one that  
isn't.   For example, the cluster info is in the upper bits somewhere,  
so you get a big number.

So I suspect at the moment your VAX has bigger process IDs than your  
Itanium, likely big enough to always give you 8 digits.  Of course  
Sybase may do it completely differently so this could be a red herring.

I also see that len(sysprocesses.hostprocess) is zero for local  
processes, so what you might have there is a poor man's idle process  
killer that tries to kill local processes that haven't done anything  
in 24 hours.

> I did find out that not only is the price for FreeTDS right, the  
> support is
> superb.


In the next few weeks I'll be embarking on an alpha-to-itanium  
conversion including FreeTDS as an important component, so helping you  
is helping myself as anything you churn up I might well be stumbling  
over soon.

________________________________________
Craig A. Berry
mailto:craigberry at mac.com

"... getting out of a sonnet is much more
  difficult than getting in."
                  Brad Leithauser



More information about the FreeTDS mailing list