Subject Re-2: [firebird-support] Engine crash on gds_free
Author bl@wobe-systems.com
Phil
> Is your app multi-threaded? And if so, are you sure it is thread safe?

Yes it is. Each thread has it's own DB connection that is opened on thread creation with the "connection data" passed in by the parent thread/app.

> We have a problem with one of our apps that produced very simlar log file
> entries (including the 100054 errors), and it turned out that some of the
> code was not as thread safe as it could be (one connection being accessed
> by more than one thread).

I will have a look and see if there are any two DB operations sharing a thread that should not.
Actually the app has been running in several installations 24/7 for more that 2 years now and never had this type of crash before. But well this might be the curse of mulithreading ...

> Also, as you are using HT, check that you really are fixing to 1 of the 4
> logical CPU's rather than just 1 of the physical ones. In some versions of
>
> Windows we have found that the Set CPU Affienity only tied the process to
> the physical CPU and not one of the logical ones in an HT enviornment.

This I have checked before to decide wether to turn HT off or not by performing a hight load query. CPU performance display of Taskmanager shows activity only on the logical CPU that the fbserver was bound to.

Bjoern