Subject Re: [IBO] AVs in gds32.dll
Author Helen Borrie
At 10:28 AM 28-09-01 +0200, you wrote:
>Hi,
>
>we are using IBO as the database connection in a heavily multi-threaded
>application. We are using separate TIB_Session and a TIBODatabase for every
>thread (we need a TDataset compatible IBO dataset, so using TIBOQuery to
>access the tables).
>
>I could manage to get rid of the "cannot read from connection..." errors
>with creating the database with CreateForSession, but there is a regular
>(once in every 2-3 hours) error:
>
>"Access violation at address 4055EAC4 in module 'gds32.dll'. Read of address
>00000004"

The important question is: are you making local database connections or connecting via TCP/IP (LOCALHOST)?

If your web app (and therefore GDS32.dll) is on the same box as the database server, connecting locally is NOT thread-safe. IB was never designed for local use and LIBS was added late in its history as a developer tool. It was never intended for deployment.

The problem comes because, with LIBS, the client and the server share the same IPC space. If you connect your web app to the database using local loopback (connecting localhost, or another servername using the localhost IP address) you *don't* get this IPC space conflict and you won't get these AVs.

If you are already using tcp/ip for the local connection (thus eliminating this as the cause) I'd e suspicious about the version of gds32.dll you are using...

Regards,
Helen

All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________