Subject Re: Another "connection forcibly closed by the remote host" problem
Author Scott Moon
--- In, "Adam" <s3057043@...> wrote:
> --- In, "Scott Moon" <smoon63@>
> wrote:
> >
> > That brings up another point - that's all that is in the log. Is
> > there a setting I'm missing that tells Firebird what and how much
> > to enter in the log? Be gentle - I've only been working with FB
> > for a few months. Most of my time has been spent with Oracle and
> > SQLServer, that will write volumes to the log.
> >
> No, it tends to be pretty quiet unless there is a problem. Mainly
> when it starts / stops. You sometimes get some some winsock error
> codes when connections are abandonned etc.

That's what had me worried - on the old server we were seeing several
winsock errors in the log per day, and we've seen none since the

> Perhaps check the windows event log to be 100% sure but unless
> there has been a really severe problem that prevented it from even
> writing the log file, the service looks like it has not crashed.

The Application and System logs are clean other than showing the Db
startups. Nothing else to report there - looks like FB is behaving

> You mention about an idle time. Is it a repeatable precise length
> of time when the problem occurs? If so, it is some timeout. Some
> powersave 'features' can cause this to occur, as can some vpn
> timeouts. Try and isolate whether the problem occurs locally. Open
> an iSQL window on the console of the server and leave it for
> however long causes a problem then try and run any query. If it
> works, then you know your problem is between client and server
> assuming that 0 traffic = dead connection.

Yes - the error occurs consistently when returning to one of the
applications after 60 minutes of idle time subsequent to connecting
to the database. We haven't checked for the local occurrence yet -
good call. Dimitry had suggested earlier that I should check the
power save setting on the network adapter. The virtual adapter
doesn't have a power setting, but I have asked our network admin to
check on the setting for the physical machine. Unfortunately I'm the
only one awake right now!

> A temporary workaround until you locate the problem would be to run
> a simple query like 'select 1 from RDB$DATABASE' every 30 minutes
> using some sort of timer as a trigger, a home grown keepalive I
> suppose.
> Adam

We have done this with the one application that we developed in-
house, and it seems to have worked. I believe it runs a simple query
every five minutes. Problem is that our big inventory system is off-
the-shelf and we can't touch the code. Of course that's the system
that they log into and stay connected all day, so it crashes every
time they come back to use it. I guess the last gasp is to make the
warehouse folks change the way they use the software, but then we
have to deal with unhappy warehouse guys!

Thanks for the input - I'm listening.