Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
Network / firewall ?

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

LOG DETAILS:

2024-09-01 13:41:33.700
2024-09-01 13:41:33.700 act_db_main = <firebird.qa.plugin.Action object at [hex]>
2024-09-01 13:41:33.700 act_db_repl = <firebird.qa.plugin.Action object at [hex]>
2024-09-01 13:41:33.700 tmp_data = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12089/tmp_blob_for_replication.dat')
2024-09-01 13:41:33.700 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2024-09-01 13:41:33.700
2024-09-01 13:41:33.700     @pytest.mark.replication
2024-09-01 13:41:33.700     @pytest.mark.version('>=4.0.5')
2024-09-01 13:41:33.700     def test_1(act_db_main: Action,  act_db_repl: Action, tmp_data: Path, capsys):
2024-09-01 13:41:33.700
2024-09-01 13:41:33.701         out_prep, out_main, out_drop, blob_err = '', '', '', ''
2024-09-01 13:41:33.701         # Obtain full path + filename for DB_MAIN and DB_REPL aliases.
2024-09-01 13:41:33.701         # NOTE: we must NOT use 'a.db.db_path' for ALIASED databases!
2024-09-01 13:41:33.701         # It will return '.' rather than full path+filename.
2024-09-01 13:41:33.701         # Use only con.info.name for that!
2024-09-01 13:41:33.701         #
2024-09-01 13:41:33.701         db_info = {}
2024-09-01 13:41:33.701         for a in (act_db_main, act_db_repl):
2024-09-01 13:41:33.701 >           with a.db.connect() as con:
2024-09-01 13:41:33.701
2024-09-01 13:41:33.701 tests\functional\replication\test_blob_characters_garbled_when_conn_charset_differs.py:347:
2024-09-01 13:41:33.701 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-09-01 13:41:33.701
2024-09-01 13:41:33.701 database = 'db_main_alias'
2024-09-01 13:41:33.701
2024-09-01 13:41:33.701     def connect(database: str, *, user: str=None, password: str=None, role: str=None,
2024-09-01 13:41:33.701                 no_gc: bool=None, no_db_triggers: bool=None, dbkey_scope: DBKeyScope=None,
2024-09-01 13:41:33.701                 crypt_callback: iCryptKeyCallbackImpl=None, charset: str=None,
2024-09-01 13:41:33.701                 auth_plugin_list: str=None, session_time_zone: str=None) -> Connection:
2024-09-01 13:41:33.701         """Establishes a connection to the database.
2024-09-01 13:41:33.701
2024-09-01 13:41:33.702         Arguments:
2024-09-01 13:41:33.702             database: DSN or Database configuration name.
2024-09-01 13:41:33.702             user: User name.
2024-09-01 13:41:33.702             password: User password.
2024-09-01 13:41:33.702             role: User role.
2024-09-01 13:41:33.702             no_gc: Do not perform garbage collection for this connection.
2024-09-01 13:41:33.702             no_db_triggers: Do not execute database triggers for this connection.
2024-09-01 13:41:33.702             dbkey_scope: DBKEY scope override for connection.
2024-09-01 13:41:33.702             crypt_callback: Callback that provides encryption key for the database.
2024-09-01 13:41:33.702             charset: Character set for connection.
2024-09-01 13:41:33.702             auth_plugin_list: List of authentication plugins override
2024-09-01 13:41:33.702             session_time_zone: Session time zone [Firebird 4]
2024-09-01 13:41:33.702
2024-09-01 13:41:33.702         Hooks:
2024-09-01 13:41:33.702             Event `.ConnectionHook.ATTACH_REQUEST`: Executed after all parameters
2024-09-01 13:41:33.702             are preprocessed and before `Connection` is created. Hook
2024-09-01 13:41:33.702             must have signature::
2024-09-01 13:41:33.702
2024-09-01 13:41:33.702                 hook_func(dsn: str, dpb: bytes) -> Optional[Connection]
2024-09-01 13:41:33.702
2024-09-01 13:41:33.703             Hook may return `Connection` instance or None.
2024-09-01 13:41:33.703             First instance returned by any hook will become the return value
2024-09-01 13:41:33.703             of this function and other hooks are not called.
2024-09-01 13:41:33.703
2024-09-01 13:41:33.703             Event `.ConnectionHook.ATTACHED`: Executed before `Connection` instance is
2024-09-01 13:41:33.703             returned. Hook must have signature::
2024-09-01 13:41:33.703
2024-09-01 13:41:33.703                 hook_func(connection: Connection) -> None
2024-09-01 13:41:33.703
2024-09-01 13:41:33.703             Any value returned by hook is ignored.
2024-09-01 13:41:33.703         """
2024-09-01 13:41:33.703         db_config = driver_config.get_database(database)
2024-09-01 13:41:33.703         if db_config is None:
2024-09-01 13:41:33.703             db_config = driver_config.db_defaults
2024-09-01 13:41:33.703         else:
2024-09-01 13:41:33.703             database = db_config.database.value
2024-09-01 13:41:33.703         if db_config.server.value is None:
2024-09-01 13:41:33.703             srv_config = driver_config.server_defaults
2024-09-01 13:41:33.703         else:
2024-09-01 13:41:33.703             srv_config = driver_config.get_server(db_config.server.value)
2024-09-01 13:41:33.703             if srv_config is None:
2024-09-01 13:41:33.704                 raise ValueError(f"Configuration for server '{db_config.server.value}' not found")
2024-09-01 13:41:33.704         if user is None:
2024-09-01 13:41:33.704             user = db_config.user.value
2024-09-01 13:41:33.704             if user is None:
2024-09-01 13:41:33.704                 user = srv_config.user.value
2024-09-01 13:41:33.704         if password is None:
2024-09-01 13:41:33.704             password = db_config.password.value
2024-09-01 13:41:33.704             if password is None:
2024-09-01 13:41:33.704                 password = srv_config.password.value
2024-09-01 13:41:33.704         if role is None:
2024-09-01 13:41:33.704             role = db_config.role.value
2024-09-01 13:41:33.704         if charset is None:
2024-09-01 13:41:33.704             charset = db_config.charset.value
2024-09-01 13:41:33.704         if charset:
2024-09-01 13:41:33.704             charset = charset.upper()
2024-09-01 13:41:33.704         if auth_plugin_list is None:
2024-09-01 13:41:33.704             auth_plugin_list = db_config.auth_plugin_list.value
2024-09-01 13:41:33.704         if session_time_zone is None:
2024-09-01 13:41:33.705             session_time_zone = db_config.session_time_zone.value
2024-09-01 13:41:33.705         dsn = _connect_helper(db_config.dsn.value, srv_config.host.value, srv_config.port.value,
2024-09-01 13:41:33.705                               database, db_config.protocol.value)
2024-09-01 13:41:33.705         dpb = DPB(user=user, password=password, role=role, trusted_auth=db_config.trusted_auth.value,
2024-09-01 13:41:33.705                   sql_dialect=db_config.sql_dialect.value, timeout=db_config.timeout.value,
2024-09-01 13:41:33.705                   charset=charset, cache_size=db_config.cache_size.value,
2024-09-01 13:41:33.705                   no_linger=db_config.no_linger.value, utf8filename=db_config.utf8filename.value,
2024-09-01 13:41:33.705                   no_gc=no_gc, no_db_triggers=no_db_triggers, dbkey_scope=dbkey_scope,
2024-09-01 13:41:33.705                   dummy_packet_interval=db_config.dummy_packet_interval.value,
2024-09-01 13:41:33.705                   config=db_config.config.value, auth_plugin_list=auth_plugin_list,
2024-09-01 13:41:33.705                   session_time_zone=session_time_zone, set_bind=db_config.set_bind.value,
2024-09-01 13:41:33.705                   decfloat_round=db_config.decfloat_round.value,
2024-09-01 13:41:33.705                   decfloat_traps=db_config.decfloat_traps.value,
2024-09-01 13:41:33.705                   parallel_workers=db_config.parallel_workers.value)
2024-09-01 13:41:33.705 >       return __make_connection(False, dsn, db_config.utf8filename.value, dpb.get_buffer(),
2024-09-01 13:41:33.705                                  db_config.sql_dialect.value, charset, crypt_callback)
2024-09-01 13:41:33.705
2024-09-01 13:41:33.705 C:\Python3x\Lib\site-packages\firebird\driver\core.py:2149:
2024-09-01 13:41:33.705 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-09-01 13:41:33.705
2024-09-01 13:41:33.706 create = False, dsn = 'localhost/33337:db_main_alias', utf8filename = False
2024-09-01 13:41:33.706 dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x00', sql_dialect = 3
2024-09-01 13:41:33.706 charset = None, crypt_callback = None
2024-09-01 13:41:33.706
2024-09-01 13:41:33.706     def __make_connection(create: bool, dsn: str, utf8filename: bool, dpb: bytes,
2024-09-01 13:41:33.706                           sql_dialect: int, charset: str,
2024-09-01 13:41:33.706                           crypt_callback: iCryptKeyCallbackImpl) -> Connection:
2024-09-01 13:41:33.706         with a.get_api().master.get_dispatcher() as provider:
2024-09-01 13:41:33.706             if crypt_callback is not None:
2024-09-01 13:41:33.706                 provider.set_dbcrypt_callback(crypt_callback)
2024-09-01 13:41:33.706             if create:
2024-09-01 13:41:33.706                 att = provider.create_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)
2024-09-01 13:41:33.706                 con = Connection(att, dsn, dpb, sql_dialect, charset)
2024-09-01 13:41:33.706             else:
2024-09-01 13:41:33.706                 con = None
2024-09-01 13:41:33.706                 for hook in get_callbacks(ConnectionHook.ATTACH_REQUEST, Connection):
2024-09-01 13:41:33.706                     try:
2024-09-01 13:41:33.706                         con = hook(dsn, dpb)
2024-09-01 13:41:33.706                     except Exception as e:
2024-09-01 13:41:33.706                         raise InterfaceError("Error in DATABASE_ATTACH_REQUEST hook.", *e.args) from e
2024-09-01 13:41:33.707                     if con is not None:
2024-09-01 13:41:33.707                         break
2024-09-01 13:41:33.707                 if con is None:
2024-09-01 13:41:33.707 >                   att = provider.attach_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)
2024-09-01 13:41:33.707
2024-09-01 13:41:33.707 C:\Python3x\Lib\site-packages\firebird\driver\core.py:2064:
2024-09-01 13:41:33.707 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-09-01 13:41:33.707
2024-09-01 13:41:33.707 self = <firebird.driver.interfaces.iProvider object at [hex]>
2024-09-01 13:41:33.707 filename = 'localhost/33337:db_main_alias'
2024-09-01 13:41:33.707 dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x00'
2024-09-01 13:41:33.707 encoding = 'utf-8'
2024-09-01 13:41:33.707
2024-09-01 13:41:33.707     def attach_database(self, filename: str, dpb: Optional[bytes] = None, encoding: str = 'ascii') -> iAttachment:
2024-09-01 13:41:33.707         "Replaces `isc_attach_database()`"
2024-09-01 13:41:33.707         result = self.vtable.attachDatabase(self, self.status, filename.encode(encoding),
2024-09-01 13:41:33.707                                             0 if dpb is None else len(dpb), dpb)
2024-09-01 13:41:33.707 >       self._check()
2024-09-01 13:41:33.708
2024-09-01 13:41:33.708 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:1295:
2024-09-01 13:41:33.708 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-09-01 13:41:33.708
2024-09-01 13:41:33.708 self = <firebird.driver.interfaces.iProvider object at [hex]>
2024-09-01 13:41:33.708
2024-09-01 13:41:33.708     def _check(self) -> None:
2024-09-01 13:41:33.708         state = self.status.get_state()
2024-09-01 13:41:33.708         if StateFlag.ERRORS in state:
2024-09-01 13:41:33.708 >           raise self.__report(DatabaseError, self.status.get_errors())
2024-09-01 13:41:33.708 E           firebird.driver.types.DatabaseError: Unable to complete network request to host "localhost".
2024-09-01 13:41:33.708 E           -Failed to establish a connection.
2024-09-01 13:41:33.708
2024-09-01 13:41:33.708 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
3 #text
act_db_main = <firebird.qa.plugin.Action pytest object at [hex]>
act_db_repl = <firebird.qa.plugin.Action pytest object at [hex]>
tmp_data = WindowsPath('H:/QA/temp/qa2024.tmp/fbqa/test_12089/tmp_blob_for_replication.dat')
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.replication
    @pytest.mark.version('>=4.0.5')
    def test_1(act_db_main: Action,  act_db_repl: Action, tmp_data: Path, capsys):
    
        out_prep, out_main, out_drop, blob_err = '', '', '', ''
        # Obtain full path + filename for DB_MAIN and DB_REPL aliases.
        # NOTE: we must NOT use 'a.db.db_path' for ALIASED databases!
        # It will return '.' rather than full path+filename.
        # Use only con.info.name for that!
        #
        db_info = {}
        for a in (act_db_main, act_db_repl):
>           with a.db.connect() as con:

tests\functional\replication\test_blob_characters_garbled_when_conn_charset_differs.py:347: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

database = 'db_main_alias'

    def connect(database: str, *, user: str=None, password: str=None, role: str=None,
                no_gc: bool=None, no_db_triggers: bool=None, dbkey_scope: DBKeyScope=None,
                crypt_callback: iCryptKeyCallbackImpl=None, charset: str=None,
                auth_plugin_list: str=None, session_time_zone: str=None) -> Connection:
        """Establishes a connection to the database.
    
        Arguments:
            database: DSN or Database configuration name.
            user: User name.
            password: User password.
            role: User role.
            no_gc: Do not perform garbage collection for this connection.
            no_db_triggers: Do not execute database triggers for this connection.
            dbkey_scope: DBKEY scope override for connection.
            crypt_callback: Callback that provides encryption key for the database.
            charset: Character set for connection.
            auth_plugin_list: List of authentication plugins override
            session_time_zone: Session time zone [Firebird 4]
    
        Hooks:
            Event `.ConnectionHook.ATTACH_REQUEST`: Executed after all parameters
            are preprocessed and before `Connection` is created. Hook
            must have signature::
    
                hook_func(dsn: str, dpb: bytes) -> Optional[Connection]
    
            Hook may return `Connection` instance or None.
            First instance returned by any hook will become the return value
            of this function and other hooks are not called.
    
            Event `.ConnectionHook.ATTACHED`: Executed before `Connection` instance is
            returned. Hook must have signature::
    
                hook_func(connection: Connection) -> None
    
            Any value returned by hook is ignored.
        """
        db_config = driver_config.get_database(database)
        if db_config is None:
            db_config = driver_config.db_defaults
        else:
            database = db_config.database.value
        if db_config.server.value is None:
            srv_config = driver_config.server_defaults
        else:
            srv_config = driver_config.get_server(db_config.server.value)
            if srv_config is None:
                raise ValueError(f"Configuration for server '{db_config.server.value}' not found")
        if user is None:
            user = db_config.user.value
            if user is None:
                user = srv_config.user.value
        if password is None:
            password = db_config.password.value
            if password is None:
                password = srv_config.password.value
        if role is None:
            role = db_config.role.value
        if charset is None:
            charset = db_config.charset.value
        if charset:
            charset = charset.upper()
        if auth_plugin_list is None:
            auth_plugin_list = db_config.auth_plugin_list.value
        if session_time_zone is None:
            session_time_zone = db_config.session_time_zone.value
        dsn = _connect_helper(db_config.dsn.value, srv_config.host.value, srv_config.port.value,
                              database, db_config.protocol.value)
        dpb = DPB(user=user, password=password, role=role, trusted_auth=db_config.trusted_auth.value,
                  sql_dialect=db_config.sql_dialect.value, timeout=db_config.timeout.value,
                  charset=charset, cache_size=db_config.cache_size.value,
                  no_linger=db_config.no_linger.value, utf8filename=db_config.utf8filename.value,
                  no_gc=no_gc, no_db_triggers=no_db_triggers, dbkey_scope=dbkey_scope,
                  dummy_packet_interval=db_config.dummy_packet_interval.value,
                  config=db_config.config.value, auth_plugin_list=auth_plugin_list,
                  session_time_zone=session_time_zone, set_bind=db_config.set_bind.value,
                  decfloat_round=db_config.decfloat_round.value,
                  decfloat_traps=db_config.decfloat_traps.value,
                  parallel_workers=db_config.parallel_workers.value)
>       return __make_connection(False, dsn, db_config.utf8filename.value, dpb.get_buffer(),
                                 db_config.sql_dialect.value, charset, crypt_callback)

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

create = False, dsn = 'localhost/33337:db_main_alias', utf8filename = False
dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x00', sql_dialect = 3
charset = None, crypt_callback = None

    def __make_connection(create: bool, dsn: str, utf8filename: bool, dpb: bytes,
                          sql_dialect: int, charset: str,
                          crypt_callback: iCryptKeyCallbackImpl) -> Connection:
        with a.get_api().master.get_dispatcher() as provider:
            if crypt_callback is not None:
                provider.set_dbcrypt_callback(crypt_callback)
            if create:
                att = provider.create_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)
                con = Connection(att, dsn, dpb, sql_dialect, charset)
            else:
                con = None
                for hook in get_callbacks(ConnectionHook.ATTACH_REQUEST, Connection):
                    try:
                        con = hook(dsn, dpb)
                    except Exception as e:
                        raise InterfaceError("Error in DATABASE_ATTACH_REQUEST hook.", *e.args) from e
                    if con is not None:
                        break
                if con is None:
>                   att = provider.attach_database(dsn, dpb, 'utf-8' if utf8filename else FS_ENCODING)

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

self = <firebird.driver.interfaces.iProvider pytest object at [hex]>
filename = 'localhost/33337:db_main_alias'
dpb = b'\x01\x1c\x06SYSDBA\x1d\tmasterkey?\x04\x03\x00\x00\x00'
encoding = 'utf-8'

    def attach_database(self, filename: str, dpb: Optional[bytes] = None, encoding: str = 'ascii') -> iAttachment:
        "Replaces `isc_attach_database()`"
        result = self.vtable.attachDatabase(self, self.status, filename.encode(encoding),
                                            0 if dpb is None else len(dpb), dpb)
>       self._check()

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

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
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 4.0.6.3189 2025.02.25 1a1a5 P P 9317 8772 2025.06.26 13:39:03.340 2025.06.26 13:39:12.657 2025.06.26 12:38:06.188 2025.06.26 12:38:14.960
2 4.0.6.3184 2025.02.24 9388c P F 8589 2384 2025.02.25 11:05:48.226 2025.02.25 11:05:56.815 2025.02.25 10:03:02.073 2025.02.25 10:03:04.457
3 4.0.6.3183 2025.02.17 e4762 P P 9342 8753 2025.02.24 11:37:50.749 2025.02.24 11:38:00.091 2025.02.24 10:36:56.552 2025.02.24 10:37:05.305
4 4.0.6.3169 2024.12.13 42cc1 P P 9300 8780 2025.02.14 08:25:36.982 2025.02.14 08:25:46.282 2025.02.14 07:24:36.109 2025.02.14 07:24:44.889
5 4.0.6.3169 2024.12.08 50eb6 P P 9418 9013 2024.12.11 11:22:11.171 2024.12.11 11:22:20.589 2024.12.11 10:21:31.267 2024.12.11 10:21:40.280
6 4.0.6.3168 2024.12.07 98d69 P P 8354 9781 2024.12.08 04:05:49.337 2024.12.08 04:05:57.691 2024.12.08 03:03:15.721 2024.12.08 03:03:25.502
7 4.0.6.3168 2024.12.05 cee43 P P 9286 9778 2024.12.06 04:09:05.712 2024.12.06 04:09:14.998 2024.12.06 03:07:47.760 2024.12.06 03:07:57.538
8 4.0.6.3168 2024.11.28 48149 P P 9345 8750 2024.12.03 11:02:12.857 2024.12.03 11:02:22.202 2024.12.03 10:02:12.181 2024.12.03 10:02:20.931
9 4.0.6.3163 2024.10.30 832db P P 9279 9783 2024.11.28 11:00:53.033 2024.11.28 11:01:02.312 2024.11.28 10:01:03.107 2024.11.28 10:01:12.890
10 4.0.6.3163 2024.10.16 2bb10 P P 9362 9609 2024.10.30 11:09:54.993 2024.10.30 11:10:04.355 2024.10.30 10:09:57.437 2024.10.30 10:10:07.046
11 4.0.6.3147 2024.09.10 a4d11 P F 9272 2206 2024.10.16 04:17:27.681 2024.10.16 04:17:36.953 2024.10.16 03:15:00.260 2024.10.16 03:15:02.466
12 4.0.6.3147 2024.08.31 4655b P P 9424 9724 2024.09.10 11:15:44.250 2024.09.10 11:15:53.674 2024.09.10 10:11:15.810 2024.09.10 10:11:25.534
13 4.0.6.3140 2024.08.16 1dd8b P F 9332 2191 2024.09.01 11:38:08.636 2024.09.01 11:38:17.968 2024.09.01 10:32:38.281 2024.09.01 10:32:40.472
14 4.0.6.3140 2024.08.09 34747 P P 8490 8738 2024.08.16 11:18:35.498 2024.08.16 11:18:43.988 2024.08.16 10:14:28.837 2024.08.16 10:14:37.575
15 4.0.5.3110 2024.08.06 f851c P P 8384 8836 2024.08.09 10:57:18.741 2024.08.09 10:57:27.125 2024.08.09 09:54:04.972 2024.08.09 09:54:13.808
16 4.0.5.3110 2024.07.30 c6527 P P 8812 8621 2024.08.06 06:32:45.424 2024.08.06 06:32:54.236 2024.08.06 05:35:23.793 2024.08.06 05:35:32.414
17 4.0.5.3109 2024.06.11 6addf P P 8689 8793 2024.07.30 09:50:20.310 2024.07.30 09:50:28.999 2024.07.30 08:55:03.096 2024.07.30 08:55:11.889
18 4.0.5.3097 2024.05.09 27fa6 P P 10642 8532 2024.06.11 06:07:19.750 2024.06.11 06:07:30.392 2024.06.11 05:16:04.989 2024.06.11 05:16:13.521
19 4.0.5.3091 2024.04.29 bd0aa P P 9661 8532 2024.05.09 18:46:16.937 2024.05.09 18:46:26.598 2024.05.09 17:55:35.402 2024.05.09 17:55:43.934
20 4.0.5.3089 2024.04.20 9eb9b P P 10549 7517 2024.04.29 06:54:45.510 2024.04.29 06:54:56.059 2024.04.29 06:04:23.191 2024.04.29 06:04:30.708
21 4.0.5.3083 2024.04.06 300f9 P P 8407 10657 2024.04.20 07:18:09.965 2024.04.20 07:18:18.372 2024.04.20 06:27:22.929 2024.04.20 06:27:33.586
22 4.0.5.3052 2024.03.16 0f422 F F 11205 11049 2024.04.05 03:44:14.878 2024.04.05 03:44:26.083 2024.04.05 02:55:19.133 2024.04.05 02:55:30.182
23 4.0.5.3052 2024.03.16 ce273 F F 10781 8875 2024.03.29 15:09:30.705 2024.03.29 15:09:41.486 2024.03.29 14:23:20.917 2024.03.29 14:23:29.792
24 4.0.5.3052 2024.02.12 cd058 F F 10750 7881 2024.03.29 16:37:55.653 2024.03.29 16:38:06.403 2024.03.29 15:51:47.394 2024.03.29 15:51:55.275
25 4.0.5.3052 2024.02.07 be290 F F 8766 8875 2024.03.29 18:49:27.542 2024.03.29 18:49:36.308 2024.03.29 18:03:16.192 2024.03.29 18:03:25.067
26 4.0.5.3052 2024.02.07 6409b F F 8765 8875 2024.03.29 20:33:36.904 2024.03.29 20:33:45.669 2024.03.29 19:47:28.363 2024.03.29 19:47:37.238
27 4.0.5.3052 2024.02.02 bbc3f F F 10610 7875 2024.03.29 22:42:41.259 2024.03.29 22:42:51.869 2024.03.29 21:56:29.357 2024.03.29 21:56:37.232
28 4.0.5.3052 2024.01.26 48b7c F F 8609 9875 2024.03.30 00:09:56.599 2024.03.30 00:10:05.208 2024.03.29 23:23:41.236 2024.03.29 23:23:51.111
29 4.0.5.3052 2024.01.26 9a7b3 F F 10625 8890 2024.03.30 07:10:53.171 2024.03.30 07:11:03.796 2024.03.30 06:24:41.249 2024.03.30 06:24:50.139
30 4.0.5.3049 2024.01.25 f6b9d F F 10547 9672 2024.03.30 09:17:58.273 2024.03.30 09:18:08.820 2024.03.30 08:32:10.026 2024.03.30 08:32:19.698
31 4.0.5.3049 2024.01.08 b67ce F F 11297 11047 2024.03.30 11:05:58.823 2024.03.30 11:06:10.120 2024.03.30 10:10:44.193 2024.03.30 10:10:55.240
32 4.0.5.3049 2024.01.08 97577 F F 10406 11047 2024.03.30 16:10:50.424 2024.03.30 16:11:00.830 2024.03.30 15:15:56.479 2024.03.30 15:16:07.526
33 4.0.5.3049 2024.01.05 2d8b0 F F 9219 10054 2024.03.30 19:28:40.544 2024.03.30 19:28:49.763 2024.03.30 18:33:57.787 2024.03.30 18:34:07.841
34 4.0.5.3049 2024.01.04 431e5 F F 9547 8797 2024.03.30 21:06:52.757 2024.03.30 21:07:02.304 2024.03.30 20:21:13.955 2024.03.30 20:21:22.752
35 4.0.5.3049 2024.01.04 e33b4 F F 9703 9781 2024.03.30 23:18:45.586 2024.03.30 23:18:55.289 2024.03.30 22:32:59.765 2024.03.30 22:33:09.546
36 4.0.5.3049 2024.01.04 207ef F F 10531 9782 2024.03.31 01:02:15.863 2024.03.31 01:02:26.394 2024.03.31 00:16:27.589 2024.03.31 00:16:37.371
37 4.0.5.3034 2023.12.12 c05ff F F 10516 7813 2024.03.31 06:54:52.971 2024.03.31 06:55:03.487 2024.03.31 06:09:01.578 2024.03.31 06:09:09.391
38 4.0.5.3034 2023.12.12 3a40e F F 10735 10798 2024.03.31 15:29:36.188 2024.03.31 15:29:46.923 2024.03.31 14:43:43.836 2024.03.31 14:43:54.634
39 4.0.5.3034 2023.12.02 5934b F F 9532 7781 2024.03.31 10:02:37.662 2024.03.31 10:02:47.194 2024.03.31 09:16:47.258 2024.03.31 09:16:55.039
40 4.0.5.3034 2023.12.02 7ea5a F F 8797 9906 2024.03.31 17:53:57.541 2024.03.31 17:54:06.338 2024.03.31 17:08:04.956 2024.03.31 17:08:14.862
41 4.0.5.3034 2023.11.30 4fbc9 F F 9532 9656 2024.03.31 19:54:51.652 2024.03.31 19:55:01.184 2024.03.31 19:08:55.619 2024.03.31 19:09:05.275

Elapsed time, ms. Chart for last 41 runs:

Last commits information (all timestamps in UTC):