Subject Access violation in GDS32.DLL (in find_event)Access violation in GDS32.DLL (in find_event)
Author Henk van der Meer
Sorry if this is the second post, I did never see the first one.

Hi,

I've been trying to find a problem in our application for a few days now
and don't know where to look next.

Our application uses FIBPlus to connect to the database. FIBPlus uses
GDS32.
We use events a lot.
Our application listens to the events and updates the screens when
something changed.
This works OK, never a problem.

Because of the way the application was designed we sometimes need to
reopen the database.
So everything is closed. And the same or an other database is opened again.
This works OK most of the times.

But sometime our application crashes.
Dr Watson shows an access violation in GDS32.DLL (see end of message).

I think it crashes in find_event, but I don't know why.

Can somebody help me?

Thank you,

Henk van der Meer

We use Windows XP SP 2
We usually use GDS32.dll is from Firebird 2.0.3
The one used for this stack dump is a dbg build fbclient, renamed to
GDS32.dll



*----> State Dump for Thread Id 0xd0c <----*

eax=02894d7c ebx=02894d7c ecx=00000011 edx=00000000 esi=02894d7c
edi=10025450
eip=10024913 esp=02b9fcd4 ebp=02b9ffb4 iopl=0 nv up ei pl nz ac
pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
efl=00000212

function: gds32!find_event
10024906 83c40c add esp,0xc
10024909 c3 ret
1002490a cc int 3
1002490b cc int 3
1002490c cc int 3
1002490d cc int 3
1002490e cc int 3
1002490f cc int 3
gds32!find_event:
10024910 8b5074 mov edx,[eax+0x74]
FAULT ->10024913 8b421c mov eax,[edx+0x1c]
ds:0023:0000001c=????????
10024916 85c0 test eax,eax
10024918 7412 jz gds32!find_event+0x1c (1002492c)
1002491a 8d9b00000000 lea ebx,[ebx]
10024920 394818 cmp [eax+0x18],ecx
10024923 7409 jz gds32!find_event+0x1e (1002492e)
10024925 8b4008 mov eax,[eax+0x8]
10024928 85c0 test eax,eax
1002492a 75f4 jnz gds32!find_event+0x10 (10024920)
1002492c 33c0 xor eax,eax
1002492e c3 ret

*----> Stack Back Trace <----*
WARNING: Stack unwind information not available. Following frames may be
wrong.
ChildEBP RetAddr Args to Child 02b9fcd0 100254ab 00000000
02894d7c 00000034 gds32!find_event+0x3
02b9ff5c 100141a7 02894d7c 00000000 01d73ea0 gds32!event_thread+0x5b
02b9ff80 7c349565 0289fc5c 00000000 0012f72c gds32!`anonymous
namespace'__threadStart+0x47
02b9ffb4 7c80b683 01d73e08 00000000 0012f72c MSVCR71!_threadstartex+0x6f
02b9ffec 00000000 7c3494f6 01d73e08 00000000
kernel32!GetModuleFileNameA+0x1b4