Skip to Content.
Sympa Menu

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

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Craig A. Berry" <craigberry AT mac.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Getting DB error = 20017 - Unexpected EOF from the server
  • Date: Thu, 19 Mar 2009 13:53:44 -0500


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





Archive powered by MHonArc 2.6.24.

Top of Page