[stub, to be replaced]

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):