FirebirdSQL / firebird

Firebird server, client and tools
https://www.firebirdsql.org/
1.22k stars 213 forks source link

External engine SYSTEM not found #7484

Closed synaschwabe closed 1 year ago

synaschwabe commented 1 year ago

Hi,

I was checking the issue for several days with no idea where the error external engine SYSTEM not found comes from.

It is raised on executing the following comand:

select rdb$time_zone_util.database_version()
from rdb$database

The database size is ~40GB and converted from Firebird 2.5 to Firebird 4.0.2 (super server). There are some changed parameters in firebird.conf:

DatabaseAccess = Full
RemoteAccess = true
UdfAccess = Restrict C:\Program Files\Firebird\Firebird_4_0_2\UDF
DataTypeCompatibility = 2.5
ReadConsistency = 0
AuthServer = Srp, Win_Sspi  'mixed autentication required
AuthClient = Srp, Win_Sspi
UserManager = Srp
RemoteServicePort = 3050
WireCompression = true
RelaxedAliasChecking = 1
TempDirectories = D:\FB_CACHE
ServerMode = Super
DefaultDbCachePages = 30K
WireCrypt = Disabled

and in databases.conf for production database (server has 256GB of memory working with >50 connections):

PROD = D:\DB\PROD.FDB
{
  DefaultDbCachePages = 2M
}

Installation was made from zip kit.

Strange thing is, that after restarting firebird the statement does work. After some hours or maybe after day shift it doesn't work anymore. And more confusing is the fact that executing the same query in a database copy on the same server doesn't raise the error. But after a few minutes it was raised again in database copy. There is no entry in firebird.log.

Here is a compare of configurations deviating from default configuration:

RDB$CONFIG_NAME;RDB$CONFIG_VALUE;RDB$CONFIG_DEFAULT
DefaultDbCachePages;2097152;2048
RemoteServicePort;3050;0
DatabaseAccess;Full;Full
UdfAccess;Restrict C:\Program Files\Firebird\Firebird_4_0_2\UDF;None
TempDirectories;D:\FB_CACHE;
RelaxedAliasChecking;true;false
AuthServer;Srp, Win_Sspi;Srp256
AuthClient;Srp, Win_Sspi;Srp256, Srp, Win_Sspi, Legacy_Auth
UserManager;Srp;Srp
ServerMode;Super;Super
WireCrypt;Disabled;Required
RemoteAccess;true;true
WireCompression;true;false
ReadConsistency;false;true
DataTypeCompatibility;2.5;

Some help woukd be great. Thanks.

sim1984 commented 1 year ago

Confirm. I had this in 5.0 when using a profiler. Then it passed by itself, I did not understand the reason.

asfernandes commented 1 year ago

Easy to reproduce:

synaschwabe commented 1 year ago

Is this reproducable that not every connection raises this error? There are 50+ database connections at the same time and the error is only on clients that run older operating systems. One is on the server (w2k16) itself and on a Windows 7 machine. Can I set any configuration to have a quick fix? Roadmap says 4.0.3 will be released in q1/2023. Is there a more detailled release date?

asfernandes commented 1 year ago

For me it was simple as the passes I put and I do not see a way to not reproduce using these passes.

synaschwabe commented 1 year ago

Is there a fixed date for 4.0.3. Roadmap still says Q1 2023. Thanks.

zanseb commented 11 months ago

Is there a fixed date for 4.0.3. Roadmap still says Q1 2023. Thanks.

@synaschwabe FYI 4.0.3 was released 2 weeks ago. (https://firebirdsql.org/en/news/firebird-4-0-3-sub-release-is-available/)