Subject FB 2.1 Embedded hangs on exit
Author Richard Wesley
Hey All -

We are having an problem with FB embedded hanging when process
terminates abnormally:

An access violation is thrown, causing the application to terminate.
All threads except the main thread seem to be killed, and the main
thread begins detaching dlls.

On DETACH_PROCESS call to DllMain, firebird shuts down all databases.
Part of this is a call to CCH_fini to shutdown the buffer cache
manager for the database.
Part of CCH_fini�s logic is to wait for the cache_writer to shut
down. To do this it waits on the ISC event dbb-
>dbb_writer_event_fini (cch.cpp:1239)
This event is set by the cache writer buffer thread when the thread
shuts down (cch.cpp:4381).

In our case however, the buffer writer thread has been killed without
setting the event, so the main thread blocks indefinitely.

Any suggestions on what we can do?


Richard Wesley Senior Software Developer Tableau

[Non-text portions of this message have been removed]