Re: MS SQL Server 2008 R2 and freetds 0.82
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <1298976501.2855.36.camel@freddy> |
Good!
These rows are sufficient to me to exclude a FreeTDS problem
5903 poll([{fd=4, events=POLLOUT, revents=POLLOUT}], 1, 3600000) = 1
5903 sendto(4, "\1\1\1J\0\0\1\0u\0p\0d\0a\0t\0e\0 \0s\0u\0p\0r\0e
\0"..., 330, MSG_NOSIGNAL, NULL, 0) = 330
5903 write(3, "token.c:539:tds_process_tokens(0"..., 70) = 70
5903 write(3, "util.c:156:Changed query state f"..., 55) = 55
5903 poll([{fd=4, events=POLLIN, revents=POLLIN|POLLERR|POLLHUP}], 1,
3600000) = 1
5903 recvfrom(4, 0x7fbfffeb38, 8, 16384, 0, 0) = -1 ECONNRESET
(Connection reset by peer)
A query is sent than FreeTDS expect a reply but got hang without any
timeout (you used an hour timeout which did not occur).
Looking on how mssql handle keep alive it sends a keep-alive evey XXX
milliseconds (default is 30000, 30 seconds), see Keep Alive settings in
TCP/IP Properties of Sql Server Configuration Manager. Than Linux (in
this case the tcp/ip stack that is the kernel not the program) have to
reply. Is possible that for some strange firewall/security problem keep
alive does not arrive or acknowledge is not received by sql server
causing the forced disconnection. Contact your system administrator
(RedHat, Windows and network ones)
Try to check also keep alive settings
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
# cat /proc/sys/net/ipv4/tcp_keepalive_intvl
75
# cat /proc/sys/net/ipv4/tcp_keepalive_probes
9
Regards
Frediano Ziglio
Il giorno ven, 25/02/2011 alle 10.11 -0800, Doug ha scritto:
> Hi,
>
> Tried that with the 0.82 patched version and still had the same issue :( Any suggestion if anything else might be incorrect? Thanks a million.
>
> Doug
>
> -------------------------------
> token.c:495:tds_process_tokens(0x539360, 0x7fbfffed70, (nil), 0x6914)
> util.c:162:Changed query state from PENDING to READING
> util.c:334:tdserror(0x538120, 0x539360, 20004, 104)
> util.c:368:tdserror: client library returned TDS_INT_CANCEL(2)
> util.c:389:tdserror: returning TDS_INT_CANCEL(2)
> util.c:162:Changed query state from READING to DEAD
> token.c:510:processing result tokens. marker is 0()
> token.c:108:tds_process_default_tokens() marker is 0()
> token.c:111:leaving tds_process_default_tokens() connection dead
> util.c:110:logic error: cannot change query state from DEAD to PENDING
> mem.c:609:tds_free_all_results()
>
>
>
> --- On Fri, 2/25/11, Ken Collins <[email protected]> wrote:
>
> > From: Ken Collins <[email protected]>
> > Subject: Re: [freetds] MS SQL Server 2008 R2 and freetds 0.82
> > To: "FreeTDS Development Group" <[email protected]>, "Frediano Ziglio" <[email protected]>
> > Date: Friday, February 25, 2011, 7:15 AM
> >
> > Nice! I had a few reports of this from TinyTDS too and
> > ended up doing an insane amount of defensive programming to
> > adjust for it. Good to know the latest updates work.
> >
> > - Ken
> >
> > > It's a known problem related to a mis-detected timeout
> > reported as a
> > > read error. Use post 0.82 patches (http://freetds.sourceforge.net/) or
> > > patched version.
> > >
> > > bye
> > > freddy77
> > > _______________________________________________
> > > FreeTDS mailing list
> > > [email protected]
> > > http://lists.ibiblio.org/mailman/listinfo/freetds
> >
> > _______________________________________________
> > FreeTDS mailing list
> > [email protected]
> > http://lists.ibiblio.org/mailman/listinfo/freetds
> >
>
>
>