Check firebird.log [no messages found 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
Network / firewall ?

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

LOG DETAILS:

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

    @pytest.mark.replication
    @pytest.mark.version('>=4.0.1')
    def test_1(act_db_main: Action,  act_db_repl: Action, capsys):
    
        db_info = {}
        out_prep = out_main = out_back = out_drop = out_reset = ''
    
        # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        replication_log = act_db_main.home_dir / 'replication.log'
        replold_lines = []
        with open(replication_log, 'r') as f:
            replold_lines = f.readlines()
        # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
        # 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!
        #
        for a in (act_db_main, act_db_repl):
>           with a.db.connect(no_db_triggers = True) as con:

tests\functional\replication\test_invalid_msg_if_target_db_has_no_replica_flag.py:431: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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\x00H\x04\x01\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\x00H\x04\x01\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 5.0.3.1657 2025.06.26 dcb8a P P 12691 13111 2025.06.27 11:16:59.695 2025.06.27 11:17:12.386 2025.06.27 10:13:23.174 2025.06.27 10:13:36.285
2 5.0.3.1657 2025.06.20 8b4d2 P P 12681 12102 2025.06.26 11:31:24.869 2025.06.26 11:31:37.550 2025.06.26 10:27:36.380 2025.06.26 10:27:48.482
3 5.0.3.1657 2025.06.19 4bd4c P P 11776 13099 2025.06.20 05:35:35.860 2025.06.20 05:35:47.636 2025.06.20 04:31:48.189 2025.06.20 04:32:01.288
4 5.0.3.1657 2025.06.11 dae6f P P 12749 13140 2025.06.19 11:07:05.246 2025.06.19 11:07:17.995 2025.06.19 10:03:15.606 2025.06.19 10:03:28.746
5 5.0.3.1657 2025.06.10 dbc92 P P 12899 13154 2025.06.11 08:53:17.676 2025.06.11 08:53:30.575 2025.06.11 07:49:15.632 2025.06.11 07:49:28.786
6 5.0.3.1656 2025.06.05 00512 P P 12715 13118 2025.06.10 10:08:36.164 2025.06.10 10:08:48.879 2025.06.10 09:04:17.960 2025.06.10 09:04:31.078
7 5.0.3.1656 2025.05.20 c4b11 P P 12683 12126 2025.06.03 09:55:20.593 2025.06.03 09:55:33.276 2025.06.03 08:52:17.621 2025.06.03 08:52:29.747
8 5.0.3.1652 2025.05.13 f51c6 P P 12697 12220 2025.05.21 06:36:19.506 2025.05.21 06:36:32.203 2025.05.21 05:33:33.098 2025.05.21 05:33:45.318
9 5.0.3.1651 2025.05.08 ee9d2 P F 12741 2383 2025.05.13 06:48:59.150 2025.05.13 06:49:11.891 2025.05.13 05:44:04.622 2025.05.13 05:44:07.005
10 5.0.3.1651 2025.05.04 3d914 P F 12707 2390 2025.05.09 04:38:02.998 2025.05.09 04:38:15.705 2025.05.09 03:33:02.639 2025.05.09 03:33:05.029
11 5.0.3.1651 2025.04.30 141ef P F 12659 2469 2025.05.02 04:45:34.837 2025.05.02 04:45:47.496 2025.05.02 03:40:55.474 2025.05.02 03:40:57.943
12 5.0.3.1650 2025.04.30 6253f P F 12720 2390 2025.05.01 04:44:40.409 2025.05.01 04:44:53.129 2025.05.01 03:39:51.945 2025.05.01 03:39:54.335
13 5.0.3.1650 2025.04.28 4cbff P F 12728 2405 2025.04.30 04:43:39.412 2025.04.30 04:43:52.140 2025.04.30 03:39:05.220 2025.04.30 03:39:07.625
14 5.0.3.1649 2025.04.21 5b2d0 P F 12739 2381 2025.04.26 10:17:43.289 2025.04.26 10:17:56.028 2025.04.26 09:12:07.327 2025.04.26 09:12:09.708
15 5.0.3.1648 2025.04.18 2f4c5 P P 12696 12155 2025.04.20 04:28:59.931 2025.04.20 04:29:12.627 2025.04.20 03:25:10.468 2025.04.20 03:25:22.623
16 5.0.3.1635 2025.04.03 f6bd1 P F 12727 2207 2025.04.18 06:56:41.160 2025.04.18 06:56:53.887 2025.04.18 05:51:16.905 2025.04.18 05:51:19.112
17 5.0.3.1635 2025.03.31 22ec6 P F 12728 2382 2025.04.03 10:02:26.871 2025.04.03 10:02:39.599 2025.04.03 08:56:41.068 2025.04.03 08:56:43.450
18 5.0.3.1633 2025.03.28 3123a P F 12707 2197 2025.03.31 10:00:53.994 2025.03.31 10:01:06.701 2025.03.31 08:55:10.349 2025.03.31 08:55:12.546
19 5.0.3.1633 2025.03.27 e0fb8 P F 11229 2254 2025.03.28 10:32:53.755 2025.03.28 10:33:04.984 2025.03.28 09:23:10.423 2025.03.28 09:23:12.677
20 5.0.3.1631 2025.03.25 bda65 P P 12790 12172 2025.03.27 10:13:25.350 2025.03.27 10:13:38.140 2025.03.27 09:05:47.152 2025.03.27 09:05:59.324
21 5.0.3.1631 2025.03.21 1925b P P 12740 12235 2025.03.25 06:47:27.847 2025.03.25 06:47:40.587 2025.03.25 05:39:45.289 2025.03.25 05:39:57.524
22 5.0.3.1629 2025.03.18 506d7 P P 12711 13236 2025.03.20 09:47:26.175 2025.03.20 09:47:38.886 2025.03.20 08:39:46.359 2025.03.20 08:39:59.595
23 5.0.3.1628 2025.03.14 16d05 P P 12724 13265 2025.03.18 09:41:31.593 2025.03.18 09:41:44.317 2025.03.18 08:35:18.606 2025.03.18 08:35:31.871
24 5.0.3.1627 2025.02.26 4e218 P P 14151 13556 2025.03.13 10:01:15.404 2025.03.13 10:01:29.555 2025.03.13 08:53:06.321 2025.03.13 08:53:19.877
25 5.0.3.1624 2025.02.25 dc3b2 P P 12067 12165 2025.02.26 15:33:21.260 2025.02.26 15:33:33.327 2025.02.26 14:25:55.623 2025.02.26 14:26:07.788
26 5.0.2.1615 2025.02.20 4a726 P F 12694 2402 2025.02.25 08:47:12.426 2025.02.25 08:47:25.120 2025.02.25 07:39:24.730 2025.02.25 07:39:27.132
27 5.0.2.1615 2025.02.14 9cb76 P P 11703 13131 2025.02.15 04:14:45.712 2025.02.15 04:14:57.415 2025.02.15 03:09:32.493 2025.02.15 03:09:45.624
28 5.0.2.1577 2025.02.07 f50a2 P P 13706 13142 2025.02.14 06:27:26.157 2025.02.14 06:27:39.863 2025.02.14 05:23:23.743 2025.02.14 05:23:36.885
29 5.0.2.1577 2024.12.24 3c80e P P 12708 12129 2025.02.06 09:40:56.853 2025.02.06 09:41:09.561 2025.02.06 08:36:58.864 2025.02.06 08:37:10.993
30 5.0.2.1576 2024.12.17 646b0 P P 12715 13151 2024.12.24 09:24:03.275 2024.12.24 09:24:15.990 2024.12.24 08:20:09.761 2024.12.24 08:20:22.912
31 5.0.2.1575 2024.12.09 9af52 P P 13712 13124 2024.12.16 09:20:46.860 2024.12.16 09:21:00.572 2024.12.16 08:17:01.930 2024.12.16 08:17:15.054
32 5.0.2.1575 2024.12.08 63d39 P P 13588 13019 2024.12.09 15:10:00.789 2024.12.09 15:10:14.377 2024.12.09 14:11:14.950 2024.12.09 14:11:27.969
33 5.0.2.1571 2024.12.08 8d11a P P 13726 14084 2024.12.09 06:23:37.724 2024.12.09 06:23:51.450 2024.12.09 05:22:53.087 2024.12.09 05:23:07.171
34 5.0.2.1567 2024.12.07 b01a2 P P 13037 13478 2024.12.08 02:02:13.192 2024.12.08 02:02:26.229 2024.12.08 00:59:44.728 2024.12.08 00:59:58.206
35 5.0.2.1567 2024.12.02 6ae74 P P 13700 14025 2024.12.04 09:05:29.054 2024.12.04 09:05:42.754 2024.12.04 08:06:46.939 2024.12.04 08:07:00.964
36 5.0.2.1567 2024.11.26 56e63 P P 12741 13185 2024.11.30 09:11:40.101 2024.11.30 09:11:52.842 2024.11.30 08:08:29.271 2024.11.30 08:08:42.456
37 5.0.2.1567 2024.11.21 96f61 P P 13675 13162 2024.11.27 09:08:25.283 2024.11.27 09:08:38.958 2024.11.27 08:05:52.300 2024.11.27 08:06:05.462
38 5.0.2.1567 2024.11.18 e1289 P F 12697 2413 2024.11.21 09:26:48.613 2024.11.21 09:27:01.310 2024.11.21 08:21:46.261 2024.11.21 08:21:48.674
39 5.0.2.1533 2024.10.23 0ec43 P P 13712 13168 2024.11.18 09:02:40.774 2024.11.18 09:02:54.486 2024.11.18 07:59:20.903 2024.11.18 07:59:34.071
40 5.0.2.1533 2024.10.22 8af7a P P 13746 13601 2024.10.23 09:09:51.777 2024.10.23 09:10:05.523 2024.10.23 08:07:13.133 2024.10.23 08:07:26.734
41 5.0.2.1532 2024.10.15 36dc0 P P 13839 13205 2024.10.22 15:12:01.245 2024.10.22 15:12:15.084 2024.10.22 14:09:21.821 2024.10.22 14:09:35.026
42 5.0.2.1518 2024.10.04 259ba P P 12729 13187 2024.10.15 09:06:02.109 2024.10.15 09:06:14.838 2024.10.15 08:03:37.776 2024.10.15 08:03:50.963
43 5.0.2.1518 2024.09.26 703cd P P 12738 13191 2024.10.03 09:10:54.563 2024.10.03 09:11:07.301 2024.10.03 08:08:07.639 2024.10.03 08:08:20.830
44 5.0.2.1489 2024.08.31 994a6 P F 13673 2227 2024.09.26 09:30:00.909 2024.09.26 09:30:14.582 2024.09.26 08:24:21.640 2024.09.26 08:24:23.867
45 5.0.2.1476 2024.08.09 843ea P F 12795 2211 2024.09.01 09:18:59.656 2024.09.01 09:19:12.451 2024.09.01 08:11:24.926 2024.09.01 08:11:27.137
46 5.0.1.1454 2024.08.08 30f9f P P 13839 13148 2024.08.09 08:59:57.409 2024.08.09 09:00:11.248 2024.08.09 07:57:11.064 2024.08.09 07:57:24.212
47 5.0.1.1453 2024.08.07 ebbc3 P P 12828 12181 2024.08.08 20:14:19.126 2024.08.08 20:14:31.954 2024.08.08 19:11:01.338 2024.08.08 19:11:13.519
48 5.0.1.1453 2024.08.06 1b9d0 P P 12850 13174 2024.08.07 08:28:04.257 2024.08.07 08:28:17.107 2024.08.07 07:30:24.831 2024.08.07 07:30:38.005
49 5.0.1.1453 2024.07.30 48044 F F 77685 69775 2024.08.03 08:25:59.168 2024.08.03 08:27:16.853 2024.08.03 07:28:16.393 2024.08.03 07:29:26.168
50 5.0.1.1453 2024.07.28 8d956 P P 13796 13160 2024.07.30 08:06:44.808 2024.07.30 08:06:58.604 2024.07.30 07:10:39.612 2024.07.30 07:10:52.772
51 5.0.1.1429 2024.07.19 8ee90 P P 12830 13142 2024.07.27 08:05:22.482 2024.07.27 08:05:35.312 2024.07.27 07:09:46.598 2024.07.27 07:09:59.740
52 5.0.1.1428 2024.07.15 00392 P P 12849 13155 2024.07.19 08:00:49.698 2024.07.19 08:01:02.547 2024.07.19 07:05:16.879 2024.07.19 07:05:30.034
53 5.0.1.1428 2024.06.30 67a31 F F 77657 70774 2024.07.15 08:12:20.802 2024.07.15 08:13:38.459 2024.07.15 07:15:33.469 2024.07.15 07:16:44.243
54 5.0.1.1415 2024.06.12 f8731 P P 12818 13182 2024.06.22 05:10:43.741 2024.06.22 05:10:56.559 2024.06.22 04:15:43.077 2024.06.22 04:15:56.259
55 5.0.1.1415 2024.06.11 31d74 P P 12986 14158 2024.06.11 23:40:39.954 2024.06.11 23:40:52.940 2024.06.11 22:48:55.433 2024.06.11 22:49:09.591
56 5.0.1.1401 2024.06.05 f9b76 P P 13002 13206 2024.06.11 04:31:34.070 2024.06.11 04:31:47.072 2024.06.11 03:39:38.330 2024.06.11 03:39:51.536
57 5.0.1.1398 2024.05.10 5e3ce P P 11939 13189 2024.05.25 05:26:18.793 2024.05.25 05:26:30.732 2024.05.25 04:34:46.944 2024.05.25 04:35:00.133
58 5.0.1.1397 2024.05.09 ee2ef P P 12924 13157 2024.05.10 05:22:15.982 2024.05.10 05:22:28.906 2024.05.10 04:31:16.614 2024.05.10 04:31:29.771
59 5.0.1.1392 2024.04.29 7dbc2 P P 12923 13173 2024.05.09 17:11:58.492 2024.05.09 17:12:11.415 2024.05.09 16:20:47.552 2024.05.09 16:21:00.725
60 5.0.1.1386 2024.04.25 c0328 P P 13939 13190 2024.04.29 05:21:16.691 2024.04.29 05:21:30.630 2024.04.29 04:30:21.031 2024.04.29 04:30:34.221
61 5.0.1.1386 2024.04.20 80571 P P 12862 13216 2024.04.25 05:23:49.471 2024.04.25 05:24:02.333 2024.04.25 04:32:08.104 2024.04.25 04:32:21.320
62 5.0.1.1378 2024.04.07 5292b P F 12955 2297 2024.04.20 05:43:36.549 2024.04.20 05:43:49.504 2024.04.20 04:47:46.341 2024.04.20 04:47:48.638
63 5.0.1.1346 2024.03.16 fe320 P P 12611 14018 2024.04.07 03:42:00.498 2024.04.07 03:42:13.109 2024.04.07 02:55:25.609 2024.04.07 02:55:39.627
64 5.0.1.1346 2024.03.02 da408 P P 13594 13969 2024.03.25 22:29:36.953 2024.03.25 22:29:50.547 2024.03.25 21:43:09.368 2024.03.25 21:43:23.337
65 5.0.1.1340 2024.02.17 08a71 P P 12594 13001 2024.03.25 23:59:21.244 2024.03.25 23:59:33.838 2024.03.25 23:12:54.596 2024.03.25 23:13:07.597
66 5.0.1.1325 2024.02.06 c98fb P F 12609 2280 2024.03.26 02:30:47.742 2024.03.26 02:31:00.351 2024.03.26 01:40:36.830 2024.03.26 01:40:39.110
67 5.0.1.1325 2024.02.02 1d438 P F 13657 2187 2024.03.26 07:48:11.944 2024.03.26 07:48:25.601 2024.03.26 06:57:07.690 2024.03.26 06:57:09.877
68 5.0.1.1325 2024.01.26 cffb6 P F 12609 2296 2024.03.26 10:13:59.197 2024.03.26 10:14:11.806 2024.03.26 09:23:48.299 2024.03.26 09:23:50.595
69 5.0.1.1325 2024.01.26 d3810 P F 12610 2171 2024.03.26 12:05:40.963 2024.03.26 12:05:53.573 2024.03.26 11:15:37.745 2024.03.26 11:15:39.916
70 5.0.1.1318 2024.01.21 a7ca3 P P 13610 13000 2024.03.26 13:34:41.598 2024.03.26 13:34:55.208 2024.03.26 12:48:20.634 2024.03.26 12:48:33.634
71 5.0.1.1318 2024.01.21 d429d P P 13579 12985 2024.03.26 15:16:17.982 2024.03.26 15:16:31.561 2024.03.26 14:30:00.260 2024.03.26 14:30:13.245
72 5.0.1.1318 2024.01.21 f1ab5 P P 13595 13016 2024.03.26 17:32:17.374 2024.03.26 17:32:30.969 2024.03.26 16:45:56.190 2024.03.26 16:46:09.206
73 5.0.1.1318 2024.01.20 46722 P P 12578 12969 2024.03.26 18:59:16.047 2024.03.26 18:59:28.625 2024.03.26 18:13:01.487 2024.03.26 18:13:14.456

Elapsed time, ms. Chart for last 73 runs:

Last commits information (all timestamps in UTC):