Subject Re: [firebird-support] Win32 10054 error, Firebird-Linux, clients-Windows
Author Helen Borrie
At 01:40 PM 27/11/2003 +0100, you wrote:

>To Helen:
>On some coputers - usually win95-98 there's no other way how to deal with
>the error only to restart it. When the error appears it cycles, you click
>"OK" and another error appears and so on.

OK, this isn't a Firebird exception, it's bad exception handling in the
application software. I think you mentioned that you got an updated
version of this software. When you report the problem to your supplier,
you can describe it as "going into a loop when it receives an exception
from the server." That's one of your problems and it's the one that is
bugging your users.

The other part of the problem is to discover why the clients are losing the
server (giving rise to the exception which your application server doesn't
handle properly). There's where the problem is local.

>On CRTL-ALT-DEL I can finish the
>error task but the system again cycles in asking "Finish" or "Continue",
>then after another CRTL-ALT-DEL the system restarts. Some computers -
>usually win2000 don't cycle and the system restarts correctly by means of
>windows (icone Start-finish-restart)

So you are talking about client machines here, not the server. That's not
so bad. When clients crash the application, they will only lose their own
data. Data stored in the database won't be affected...*except* do please
check whether you have forced writes on or off. You inherited an
ex-InterBase database and IB 6 by default creates databases with FW
off. You are a little safer with this because your db server is Linux, but
if you have clients crashing a lot, it's going to be a lot safer with FW on.

Use the isql tool to log in to the database as owner or sysdba, and type
SHOW DATABASE;
The FW setting should appear near the bottom of the output.

If you find Forced Writes is off, come back here and someone will tell you
how to set it on.

>Thank you for your help, I will try some different version of client and the
>I will see if it solves the problem.

Use the client that matches the version and date of the server executable
and root out those rogue versions of gds32.dll on the workstation hard disks.

The name of the server executable is ibserver (if you are using
Superserver) or ib_inet_server (if you are using Classic). You should find
them in /opt/Firebird/bin. To find out whether the server is Classic or
SS, do a
ps -aux | grep ib
from a Linux shell.

heLen