Engine crashes when you frequently load and unload UDF dll in firebird. Especially when you're accessing multiple databases.
1. Copy the fast.dll to the udf folder.
2. copy multiple versions of the test.fdb to "d:\1\test.Fdb", "d:\2\test.fdb" ... "d:\10\test.fdb"
3. Launch firebird
4. Run the attached app. Or basically, Open a connection, execute the UDF function, close the connection.
Do this with multiple threads on multiple databases. The firebird process will crashes within 10 minutes with an access violation.
Workaround is to open another database that uses the udf. As long as the dll stays in memory, no crashes. As soon as it is unloaded, you have a fair chance that it crashes.