Subject Interesting problem, any ideas
Author Wilson, Fred
We've had an interesting problem at a site, and since, have been able to
reproduce it here in the lab. We have some software running on multiple
clients (NT4.0SP5) talking to an IB (5.6) database running on a server
(NT4.0SP5, TCP/IP NP))..
The software is running on 7 clients or so.
We have other software (also talking to the same DB) running on another
client, configured the same.
At some point, we believe that the offending software is trashing (through
poor threading design) one of the datamods. What we see is a "lockup" of all
the clients. That is, the software freezes, unable to "talk" to the
database. This even includes the other, somewhat non-related software,
running on another client.
Attempting to connect to the database, from a client machine, via WISQL, at
this time, produces a "hung" WISQL application. That is it simply hangs with
the SQL shaped cursor.
From any of the clients, when in this state, you can open a command prompt
and you *can* successfully ping the server box.
IB does *not* appear to be dead. The CPU usage (IB) drops to 0% on the
Opening WISQL on the server and attempting to connect via a local connection
*IS* successful and the database appears fine.
Opening WISQL on the server and attempting to connect via TCP/IP is *NOT*
successful, it simply "hangs", as with the clients, with a SQL shaped
The really interesting thing is that opening WISQL on another *server* box
(this one running W2000, IB5.6) and attempting to connect to the database
*is* successful.
When the "offending" application, on one of the clients, is killed, via task
manager, everthing is all of the sudden fine and working as expected.
The only thing in the Interbase.log file are the (expected) 10054's from the
application that was forcefully killed.
Any ideas about what is going on?
IB appears fine, the engine itself, based on the fact that I can connect
locally via WISQL and do whatever I want in/to the database.
It appears that some "driver" level network layer is "locked" until the
offending (whatever the heck it's doing) application is killed.

Best regards,
Fred Wilson
SE, Bell & Howell