Show firebird.log [FOUND messages for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
Server crashed ?
Network / firewall ?

failed on teardown with "firebird.driver.types.DatabaseError: Unable to complete network request to host "localhost".
-Failed to establish a connection."

LOG DETAILS:

2025-05-13 08:53:14.055
2025-05-13 08:53:14.055 act = <firebird.qa.plugin.Action object at [hex]>
2025-05-13 08:53:14.056 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-05-13 08:53:14.056
2025-05-13 08:53:14.056     @pytest.mark.version('>=5.0.3')
2025-05-13 08:53:14.056     def test_1(act: Action, capsys):
2025-05-13 08:53:14.056
2025-05-13 08:53:14.056         if act.get_server_architecture() != 'SuperServer':
2025-05-13 08:53:14.056             pytest.skip('Applies only to SuperServer')
2025-05-13 08:53:14.056
2025-05-13 08:53:14.056         # Scan line-by-line through databases.conf, find line starting with REQUIRED_ALIAS and extract name of file that
2025-05-13 08:53:14.056         # must be created in the $(dir_sampleDb)/qa/ folder. This name will be used further as target database (tmp_fdb).
2025-05-13 08:53:14.056         # NOTE: we have to SKIP lines which are commented out, i.e. if they starts with '#':
2025-05-13 08:53:14.056         p_required_alias_ptn =  re.compile( '^(?!#)((^|\\s+)' + REQUIRED_ALIAS + ')\\s*=\\s*\\$\\(dir_sampleDb\\)/qa/', re.IGNORECASE )
2025-05-13 08:53:14.056         fname_in_dbconf = None
2025-05-13 08:53:14.056
2025-05-13 08:53:14.056         with open(act.home_dir/'databases.conf', 'r') as f:
2025-05-13 08:53:14.056             for line in f:
2025-05-13 08:53:14.056                 if p_required_alias_ptn.search(line):
2025-05-13 08:53:14.056                     # If databases.conf contains line like this:
2025-05-13 08:53:14.056                     #     tmp_8194_alias = $(dir_sampleDb)/qa/tmp_qa_8194.fdb
2025-05-13 08:53:14.057                     # - then we extract filename: 'tmp_qa_8194.fdb' (see below):
2025-05-13 08:53:14.057                     fname_in_dbconf = Path(line.split('=')[1].strip()).name
2025-05-13 08:53:14.057                     break
2025-05-13 08:53:14.057
2025-05-13 08:53:14.057         # if 'fname_in_dbconf' remains undefined here then propably REQUIRED_ALIAS not equals to specified in the databases.conf!
2025-05-13 08:53:14.057         #
2025-05-13 08:53:14.057         assert fname_in_dbconf
2025-05-13 08:53:14.057
2025-05-13 08:53:14.057         srv_cfg = """
2025-05-13 08:53:14.057             [local]
2025-05-13 08:53:14.057             host = localhost
2025-05-13 08:53:14.057             user = SYSDBA
2025-05-13 08:53:14.057             password = masterkey
2025-05-13 08:53:14.057         """
2025-05-13 08:53:14.057         srv_cfg = driver_config.register_server(name = 'test_srv_gh_8194', config = '')
2025-05-13 08:53:14.057
2025-05-13 08:53:14.057         db_cfg_name = 'tmp_8194'
2025-05-13 08:53:14.057         db_cfg_object = driver_config.register_database(name = db_cfg_name)
2025-05-13 08:53:14.057         db_cfg_object.server.value = srv_cfg.name
2025-05-13 08:53:14.057         db_cfg_object.protocol.value = NetProtocol.INET
2025-05-13 08:53:14.058         db_cfg_object.database.value = REQUIRED_ALIAS
2025-05-13 08:53:14.058         for i in range(LOOP_LIMIT):
2025-05-13 08:53:14.058             # ::: NB :::
2025-05-13 08:53:14.058             # charset must be 'utf8' otherwise problem can not be reproduced!
2025-05-13 08:53:14.058             # (see also note by the author of ticket in his starting message)
2025-05-13 08:53:14.058 >           with create_database(db_cfg_name, user = act.db.user, password = act.db.password, charset = 'utf8') as con:
2025-05-13 08:53:14.058
2025-05-13 08:53:14.058 tests\bugs\gh_8194_test.py:89:
2025-05-13 08:53:14.058 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-05-13 08:53:14.058
2025-05-13 08:53:14.058 database = 'tmp_8194'
2025-05-13 08:53:14.058
2025-05-13 08:53:14.058     def create_database(database: str, *, user: str=None, password: str=None, role: str=None,
2025-05-13 08:53:14.058                         no_gc: bool=None, no_db_triggers: bool=None, dbkey_scope: DBKeyScope=None,
2025-05-13 08:53:14.058                         crypt_callback: iCryptKeyCallbackImpl=None, charset: str=None,
2025-05-13 08:53:14.058                         overwrite: bool=False, auth_plugin_list=None,
2025-05-13 08:53:14.058                         session_time_zone: str=None) -> Connection:
2025-05-13 08:53:14.058         """Creates new database.
2025-05-13 08:53:14.058
2025-05-13 08:53:14.058         Arguments:
2025-05-13 08:53:14.058             database: DSN or Database configuration name.
2025-05-13 08:53:14.059             user: User name.
2025-05-13 08:53:14.059             password: User password.
2025-05-13 08:53:14.059             role: User role.
2025-05-13 08:53:14.059             no_gc: Do not perform garbage collection for this connection.
2025-05-13 08:53:14.059             no_db_triggers: Do not execute database triggers for this connection.
2025-05-13 08:53:14.059             dbkey_scope: DBKEY scope override for connection.
2025-05-13 08:53:14.059             crypt_callback: Callback that provides encryption key for the database.
2025-05-13 08:53:14.059             charset: Character set for connection.
2025-05-13 08:53:14.059             overwrite: Overwite the existing database.
2025-05-13 08:53:14.059             auth_plugin_list: List of authentication plugins override
2025-05-13 08:53:14.059             session_time_zone: Session time zone [Firebird 4]
2025-05-13 08:53:14.059
2025-05-13 08:53:14.059         Hooks:
2025-05-13 08:53:14.059             Event `.ConnectionHook.ATTACHED`: Executed before `Connection` instance is
2025-05-13 08:53:14.059             returned. Hook must have signature::
2025-05-13 08:53:14.059
2025-05-13 08:53:14.059                 hook_func(connection: Connection) -> None
2025-05-13 08:53:14.059
2025-05-13 08:53:14.059             Any value returned by hook is ignored.
2025-05-13 08:53:14.059         """
2025-05-13 08:53:14.060         db_config = driver_config.get_database(database)
2025-05-13 08:53:14.060         if db_config is None:
2025-05-13 08:53:14.060             db_config = driver_config.db_defaults
2025-05-13 08:53:14.060             db_config.database.value = database
2025-05-13 08:53:14.060             if db_config.server.value is None:
2025-05-13 08:53:14.060                 srv_config = driver_config.server_defaults
2025-05-13 08:53:14.060             else:
2025-05-13 08:53:14.060                 srv_config = driver_config.get_server(db_config.server.value)
2025-05-13 08:53:14.060                 if srv_config is None:
2025-05-13 08:53:14.060                     raise ValueError(f"Configuration for server '{db_config.server.value}' not found")
2025-05-13 08:53:14.060         else:
2025-05-13 08:53:14.060             if db_config.server.value is None:
2025-05-13 08:53:14.060                 srv_config = driver_config.server_defaults
2025-05-13 08:53:14.060             else:
2025-05-13 08:53:14.060                 srv_config = driver_config.get_server(db_config.server.value)
2025-05-13 08:53:14.060                 if srv_config is None:
2025-05-13 08:53:14.060                     raise ValueError(f"Configuration for server '{db_config.server.value}' not found")
2025-05-13 08:53:14.060         if user is None:
2025-05-13 08:53:14.060             user = db_config.user.value
2025-05-13 08:53:14.061             if user is None:
2025-05-13 08:53:14.061                 user = srv_config.user.value
2025-05-13 08:53:14.061         if password is None:
2025-05-13 08:53:14.061             password = db_config.password.value
2025-05-13 08:53:14.061             if password is None:
2025-05-13 08:53:14.061                 password = srv_config.password.value
2025-05-13 08:53:14.061         if role is None:
2025-05-13 08:53:14.061             role = db_config.role.value
2025-05-13 08:53:14.061         if charset is None:
2025-05-13 08:53:14.061             charset = db_config.charset.value
2025-05-13 08:53:14.061         if charset:
2025-05-13 08:53:14.061             charset = charset.upper()
2025-05-13 08:53:14.061         if auth_plugin_list is None:
2025-05-13 08:53:14.061             auth_plugin_list = db_config.auth_plugin_list.value
2025-05-13 08:53:14.061         if session_time_zone is None:
2025-05-13 08:53:14.061             session_time_zone = db_config.session_time_zone.value
2025-05-13 08:53:14.061         dsn = _connect_helper(db_config.dsn.value, srv_config.host.value, srv_config.port.value,
2025-05-13 08:53:14.061                               db_config.database.value, db_config.protocol.value)
2025-05-13 08:53:14.061         dpb = DPB(user=user, password=password, role=role, trusted_auth=db_config.trusted_auth.value,
2025-05-13 08:53:14.061                   sql_dialect=db_config.db_sql_dialect.value, timeout=db_config.timeout.value,
2025-05-13 08:53:14.062                   charset=charset, cache_size=db_config.cache_size.value,
2025-05-13 08:53:14.062                   no_linger=db_config.no_linger.value, utf8filename=db_config.utf8filename.value,
2025-05-13 08:53:14.062                   no_gc=no_gc, no_db_triggers=no_db_triggers, dbkey_scope=dbkey_scope,
2025-05-13 08:53:14.062                   dummy_packet_interval=db_config.dummy_packet_interval.value,
2025-05-13 08:53:14.062                   config=db_config.config.value, auth_plugin_list=auth_plugin_list,
2025-05-13 08:53:14.062                   session_time_zone=session_time_zone, set_bind=db_config.set_bind.value,
2025-05-13 08:53:14.062                   decfloat_round=db_config.decfloat_round.value,
2025-05-13 08:53:14.062                   decfloat_traps=db_config.decfloat_traps.value,
2025-05-13 08:53:14.062                   overwrite=overwrite, db_cache_size=db_config.db_cache_size.value,
2025-05-13 08:53:14.062                   forced_writes=db_config.forced_writes.value, page_size=db_config.page_size.value,
2025-05-13 08:53:14.062                   reserve_space=db_config.reserve_space.value, sweep_interval=db_config.sweep_interval.value,
2025-05-13 08:53:14.062                   db_sql_dialect=db_config.db_sql_dialect.value, db_charset=db_config.db_charset.value)
2025-05-13 08:53:14.062 >       return __make_connection(True, dsn, db_config.utf8filename.value,
2025-05-13 08:53:14.062                                  dpb.get_buffer(for_create=True), db_config.sql_dialect.value,
2025-05-13 08:53:14.062                                  charset, crypt_callback)
2025-05-13 08:53:14.062
2025-05-13 08:53:14.062 C:\Python3x\Lib\site-packages\firebird\driver\core.py:2242:
2025-05-13 08:53:14.062 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-05-13 08:53:14.062
2025-05-13 08:53:14.062 create = True, dsn = 'inet://tmp_gh_8194_alias', utf8filename = None
2025-05-13 08:53:14.063 dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey0\x04UTF8D\x04UTF8', sql_dialect = 3
2025-05-13 08:53:14.063 charset = 'UTF8', crypt_callback = None
2025-05-13 08:53:14.063
2025-05-13 08:53:14.063     def __make_connection(create: bool, dsn: str, utf8filename: bool, dpb: bytes,
2025-05-13 08:53:14.063                           sql_dialect: int, charset: str,
2025-05-13 08:53:14.063                           crypt_callback: iCryptKeyCallbackImpl) -> Connection:
2025-05-13 08:53:14.063         with a.get_api().master.get_dispatcher() as provider:
2025-05-13 08:53:14.063             if crypt_callback is not None:
2025-05-13 08:53:14.063                 provider.set_dbcrypt_callback(crypt_callback)
2025-05-13 08:53:14.063             if create:
2025-05-13 08:53:14.063 >               att = provider.create_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)
2025-05-13 08:53:14.063
2025-05-13 08:53:14.063 C:\Python3x\Lib\site-packages\firebird\driver\core.py:2062:
2025-05-13 08:53:14.063 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-05-13 08:53:14.063
2025-05-13 08:53:14.063 self = <firebird.driver.interfaces.iProvider object at [hex]>
2025-05-13 08:53:14.063 filename = 'inet://tmp_gh_8194_alias'
2025-05-13 08:53:14.063 dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey0\x04UTF8D\x04UTF8', encoding = 'utf-8'
2025-05-13 08:53:14.063
2025-05-13 08:53:14.063     def create_database(self, filename: str, dpb: bytes, encoding: str = 'ascii') -> iAttachment:
2025-05-13 08:53:14.064         "Replaces `isc_create_database()`"
2025-05-13 08:53:14.064         result = self.vtable.createDatabase(self, self.status, filename.encode(encoding), len(dpb), dpb)
2025-05-13 08:53:14.064 >       self._check()
2025-05-13 08:53:14.064
2025-05-13 08:53:14.064 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:1305:
2025-05-13 08:53:14.064 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-05-13 08:53:14.064
2025-05-13 08:53:14.064 self = <firebird.driver.interfaces.iProvider object at [hex]>
2025-05-13 08:53:14.064
2025-05-13 08:53:14.064     def _check(self) -> None:
2025-05-13 08:53:14.064         state = self.status.get_state()
2025-05-13 08:53:14.064         if StateFlag.ERRORS in state:
2025-05-13 08:53:14.064 >           raise self.__report(DatabaseError, self.status.get_errors())
2025-05-13 08:53:14.064 E           firebird.driver.types.DatabaseError: Error reading data from the connection.
2025-05-13 08:53:14.064
2025-05-13 08:53:14.064 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
2025-05-13 08:53:14.064 ---------------------------- Captured stdout setup ----------------------------
2025-05-13 08:53:14.064 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_11681\test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
request = <SubRequest 'db' for <Function test_1>>
db_path = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_11681')
db_cache = <firebird.qa.plugin.DbCache pytest object at [hex]>

    @pytest.fixture
    def database_fixture(request: pytest.FixtureRequest, db_path, db_cache) -> Database:
        db = Database(db_path, filename, user, password, charset, debug=str(request.module),
                      config_name=config_name, utf8filename=utf8filename)
        if not do_not_create:
            if from_backup is None and copy_of is None:
                db.create(page_size, sql_dialect, db_cache)
            elif from_backup is not None:
                db.restore(from_backup)
            elif copy_of is not None:
                db.copy(copy_of)
            if async_write:
                db.set_async_write()
            if init: # Do not check for None, we want to skip empty scripts as well
                try:
                    db.init(init)
                except Error as exc:
                    if hasattr(exc, 'stderr'):
                        request.node.user_properties.append(("dbinit-stderr", exc.stderr))
                    raise
        yield db
        if not do_not_drop:
>           db.drop()

src\firebird\qa\plugin.py:988: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

server = 'qa_rundaily_hq50'

    def connect_server(server: str, *, user: str=None, password: str=None,
                       crypt_callback: iCryptKeyCallbackImpl=None,
                       expected_db: str=None, role: str=None, encoding: str=None,
                       encoding_errors: str=None) -> Server:
        """Establishes a connection to server's service manager.
    
        Arguments:
            server: Server host machine or Server configuration name.
            user: User name.
            password: User password.
            crypt_callback: Callback that provides encryption key.
            expected_db: Database that would be accessed (for using services with non-default
                         security database)
            role: SQL role used for connection.
            encoding: Encoding for string values passed in parameter buffer. Default is
               `.ServerConfig.encoding`.
            encoding_errors: Error handler used for encoding errors. Default is
               `.ServerConfig.encoding_errors`.
    
        Hooks:
            Event `.ServerHook.ATTACHED`: Executed before `Service` instance is
            returned. Hook must have signature::
    
                hook_func(server: Server) -> None
    
            Any value returned by hook is ignored.
        """
        srv_config = driver_config.get_server(server)
        if srv_config is None:
            srv_config = driver_config.server_defaults
            host = server or None
            port = None
        else:
            host = srv_config.host.value
            port = srv_config.port.value
        if host is None:
            host = 'service_mgr'
        if not host.endswith('service_mgr'):
            if host and not host.endswith(':'):
                if port:
                    host += f"/{port}"
                host += ':'
            host += 'service_mgr'
        if user is None:
            user = srv_config.user.value
        if password is None:
            password = srv_config.password.value
        spb = SPB_ATTACH(user=user, password=password, config=srv_config.config.value,
                         trusted_auth=srv_config.trusted_auth.value,
                         auth_plugin_list=srv_config.auth_plugin_list.value,
                         expected_db=expected_db, encoding=srv_config.encoding.value,
                         errors=srv_config.encoding_errors.value, role=role)
        spb_buf = spb.get_buffer()
        with a.get_api().master.get_dispatcher() as provider:
            if crypt_callback is not None:
                provider.set_dbcrypt_callback(crypt_callback)
>           svc = provider.attach_service_manager(host, spb_buf)

C:\Python3x\Lib\site-packages\firebird\driver\core.py:5692: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.driver.interfaces.iProvider pytest object at [hex]>
service = 'localhost/33337:service_mgr'
spb = b'\x02\x02\x1c\x06SYSDBA\x1d\tmasterkey'

    def attach_service_manager(self, service: str, spb: bytes) -> iService:
        "Replaces `isc_service_attach()`"
        result = self.vtable.attachServiceManager(self, self.status, service.encode(), len(spb), spb)
>       self._check()

C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:1310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.driver.interfaces.iProvider pytest object at [hex]>

    def _check(self) -> None:
        state = self.status.get_state()
        if StateFlag.ERRORS in state:
>           raise self.__report(DatabaseError, self.status.get_errors())
E           firebird.driver.types.DatabaseError: Unable to complete network request to host "localhost".
E           -Failed to establish a connection.

C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
4 #stack
#  00000`002e9000 Unfrozen
 #     Call Site
00     ucrtbase!abort+0x4e
01     engine13!ERR_punt(void)+0x7e [H:\SNAPSHOTS\HQbird\src\jrd\err.cpp @ 345]
02     engine13!ERR_post(class Firebird::Arg::StatusVector * v = <Value unavailable error>)+0x10 [H:\SNAPSHOTS\HQbird\src\jrd\err.cpp @ 320]
03     engine13!internal_error(int64 status = 0n335544333, int number = 0n210, char * file = <Value unavailable error>, int line = 0n2851)+0x133 [H:\SNAPSHOTS\HQbird\src\jrd\err.cpp @ 455]
04     engine13!ERR_bugcheck(int number = 0n210, char * file = 0x00007fff`d4ae6898 "..\..\..\src\jrd\cch.cpp", int line = 0n2851)+0x57 [H:\SNAPSHOTS\HQbird\src\jrd\err.cpp @ 78]
05     engine13!flushPages(class Jrd::thread_db * tdbb = 0x00000000`084de2f8, unsigned short flush_flag = 1, class Jrd::BufferDesc ** begin = <Value unavailable error>, unsigned int count = <Value unavailable error>)+0x206 [H:\SNAPSHOTS\HQbird\src\jrd\cch.cpp @ 2854]
06     engine13!flushAll(class Jrd::thread_db * tdbb = 0x00000000`084de2f8, unsigned short flush_flag = 3)+0x3f4 [H:\SNAPSHOTS\HQbird\src\jrd\cch.cpp @ 2787]
07     engine13!CCH_flush(class Jrd::thread_db * tdbb = 0x00000000`084de2f8, unsigned short flush_flag = 3, unsigned int64 tra_number = 0)+0x71 [H:\SNAPSHOTS\HQbird\src\jrd\cch.cpp @ 1228]
08     engine13!Jrd::JProvider::createDatabase(class Firebird::CheckStatusWrapper * user_status = 0x00000000`084ded70, char * filename = 0x00000000`1fa0ffb0 "tmp_gh_8194_alias", unsigned int dpb_length = 0x10a, unsigned char * dpb = 0x00000000`1517fee0 "???")+0x12bf [H:\SNAPSHOTS\HQbird\src\jrd\jrd.cpp @ 3204]
09     engine13!Firebird::IProviderBaseImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JProvider,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IProvider> > > > > > >::cloopcreateDatabaseDispatcher(class Firebird::IProvider * self = 0x00000000`00f534b8, class Firebird::IStatus * status = 0x00000000`00f534b8, char * fileName = 0x00000000`1fa0ffb0 "tmp_gh_8194_alias", unsigned int dpbLength = 0x10a, unsigned char * dpb = 0x00000000`1517fee0 "???")+0x54 [H:\SNAPSHOTS\HQbird\src\include\firebird\IdlFbInterfaces.h @ 12511]
0a     fbclient!Firebird::IProvider::createDatabase(void)+0x35 [H:\SNAPSHOTS\HQbird\src\include\firebird\IdlFbInterfaces.h @ 3009]
0b     fbclient!Why::Dispatcher::attachOrCreateDatabase(class Firebird::CheckStatusWrapper * status = 0x00000000`084df390, bool createFlag = true, char * filename = 0x00007ff8`05453c89 "H???", unsigned int dpbLength = 0x10a, unsigned char * dpb = 0x00000000`00c7d610 "???")+0x4fd [H:\SNAPSHOTS\HQbird\src\yvalve\why.cpp @ 6554]
0c     fbclient!Why::Dispatcher::createDatabase(class Firebird::CheckStatusWrapper * status = <Value unavailable error>, char * filename = <Value unavailable error>, unsigned int dpbLength = <Value unavailable error>, unsigned char * dpb = 0x00000000`00c7d610 "???")+0x1e [H:\SNAPSHOTS\HQbird\src\yvalve\why.cpp @ 6475]
0d     fbclient!Firebird::IProviderBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::IPluginBaseImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IReferenceCountedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IVersionedImpl<Why::Dispatcher,Firebird::CheckStatusWrapper,Firebird::Inherit<Firebird::IProvider> > > > > > >::cloopcreateDatabaseDispatcher(class Firebird::IProvider * self = 0x00000000`0c670678, class Firebird::IStatus * status = 0x00000000`a462ff30, char * fileName = 0x00000000`a462ffac "tmp_gh_8194_alias", unsigned int dpbLength = 0x10a, unsigned char * dpb = 0x00000000`00c7d610 "???")+0x54 [H:\SNAPSHOTS\HQbird\src\include\firebird\IdlFbInterfaces.h @ 12511]
0e     firebird!Firebird::RefPtr<Firebird::IAttachment>::{ctor}(void)+0x16 [H:\SNAPSHOTS\HQbird\src\common\classes\RefCounted.h @ 103]
0f     firebird!`anonymous namespace'::DatabaseAuth::accept(struct packet * send = 0x00000000`9b6b4258, class Auth::WriterImplementation * authBlock = <Value unavailable error>)+0x296 [H:\SNAPSHOTS\HQbird\src\remote\server\server.cpp @ 2626]
10     firebird!`anonymous namespace'::ServerAuth::authenticate(struct packet * send = 0x00000000`9b6b4258, unsigned int flags = 0)+0x85 [H:\SNAPSHOTS\HQbird\src\remote\server\server.cpp @ 863]
11     firebird!attach_database(struct rem_port * port = 0x00000000`01a62140, P_OP operation = op_create (0n20), struct p_atch * attach = 0x00000000`9b6b4980, struct packet * send = 0x00000000`9b6b4258)+0x193 [H:\SNAPSHOTS\HQbird\src\remote\server\server.cpp @ 2564]
12     firebird!process_packet(struct rem_port * port = 0x00000000`01a62140, struct packet * sendL = 0x00000000`9b6b4258, struct packet * receive = 0x00000000`9b6b4828, struct rem_port ** result = 0x00000000`084dfee0)+0x13b [H:\SNAPSHOTS\HQbird\src\remote\server\server.cpp @ 5131]
13     firebird!loopThread(void * __formal = 0x00000000`52a58600)+0x32e [H:\SNAPSHOTS\HQbird\src\remote\server\server.cpp @ 6994]
14     firebird!`anonymous-namespace'::ThreadArgs::run(void)+0x5 [H:\SNAPSHOTS\HQbird\src\common\ThreadStart.cpp @ 78]
15     firebird!threadStart(void * arg = 0x00000000`5919fff0)+0x67 [H:\SNAPSHOTS\HQbird\src\common\ThreadStart.cpp @ 97]
16     ucrtbase!configthreadlocale+0x92
17     kernel32!BaseThreadInitThunk+0x14
18     ntdll!RtlUserThreadStart+0x21

Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 5.0.3.1651 2025.05.08 ee9d2 S E 410 6162 2025.05.13 06:39:13.192 2025.05.13 06:39:13.602 2025.05.13 05:20:43.577 2025.05.13 05:20:49.739
2 5.0.3.1651 2025.05.04 3d914 S E 387 5727 2025.05.09 04:28:16.972 2025.05.09 04:28:17.359 2025.05.09 03:09:41.735 2025.05.09 03:09:47.462
3 5.0.3.1651 2025.04.30 141ef S E 383 5999 2025.05.02 04:35:54.793 2025.05.02 04:35:55.176 2025.05.02 03:17:34.861 2025.05.02 03:17:40.860
4 5.0.3.1650 2025.04.30 6253f S E 386 6054 2025.05.01 04:34:57.243 2025.05.01 04:34:57.629 2025.05.01 03:16:31.011 2025.05.01 03:16:37.065
5 5.0.3.1650 2025.04.28 4cbff S E 418 4776 2025.04.30 04:33:58.410 2025.04.30 04:33:58.828 2025.04.30 03:15:45.376 2025.04.30 03:15:50.152
6 5.0.3.1649 2025.04.21 5b2d0 S E 398 6117 2025.04.26 10:07:52.703 2025.04.26 10:07:53.101 2025.04.26 08:48:44.118 2025.04.26 08:48:50.235

Elapsed time, ms. Chart for last 6 runs:

Last commits information (all timestamps in UTC):