Subject Re: [firebird-support] Target Machine actively refused it
Author Helen Borrie
At 02:44 PM 12/01/2005 +0530, you wrote:

>Hi List,
>Strange problem.
>We have Firebird SS 1.0 6.2.794 with Guardian running on a twin processor
>Windows 2003 server.
>we have CPU_AFFINITY set to 2

Revert the cpu_affinity to 1. Windows causes Firebird SS to lurch into a
"see-saw effect" with multiple processors, i.e. when one cpu reaches near
full capacity, Windows will swing the entire process over to the other cpu,
"out of the frying pan and into the fire".

>All clients are able to connect and function properly.
>Intermittently the clients will freeze. (Stop responding). At this time
>new clients cannot connect.

This is the outcome of the see-saw effect. The system leaves itself with
no capacity to create any new process threads.

>During this time when we try to connect using a debugger we get a message
>"No Connection could be made because the target machine actively refused it"
>This happens on other machines on the network as well as the machine on
>which Firebird Server (Windows 2003) is running.
>Our clients are written using Delphi and IBO
>Sometimes after sometime the problem will get solved on its own.

Eventually, a connection will have timed out, or a task will have
completed, freeing up some processor capacity.

>However if we restart Firebird Server the problem is definetely solved and
>clients are able to work.
>This happens about 3 to 4 times a day. During this time the Interbase .log
>on both client and server is showing 10054 and 10053 errors

Those are socket errors: crashed server, crashed client, or connections
refused after the earlier crashes.

>At this time if we check in task manager the CPU activity is not more than
>20 to 25% and the memory usage is also quite reasonable

Once the server has crashed, the activity consumption drops; Guardian
restarts the server and all will seem OK until next time Windows decides to
swing the whole lot over to the other cpu.

>Can anybody give me some idea of what the problem could be

Just accept that Firebird 1 and 1.5 don't support SMP and Windows is not
friendly about it. I have heard of a situation where a particular
motherboard/chip combination is tolerant of Firebird, but yours clearly isn't.

After resetting cpu_affinity to 1, shut down and restart the server.