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

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:2074: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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:1300: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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.3215 2025.06.25 6461d P F 12701 2492 2025.06.26 08:07:15.094 2025.06.26 08:07:27.795 2025.06.26 07:00:44.637 2025.06.26 07:00:47.129
2 4.0.6.3214 2025.06.21 e11f6 P P 11716 12175 2025.06.25 12:46:27.524 2025.06.25 12:46:39.240 2025.06.25 11:44:23.458 2025.06.25 11:44:35.633
3 4.0.6.3213 2025.06.14 f015c P P 13767 12180 2025.06.21 07:46:59.472 2025.06.21 07:47:13.239 2025.06.21 06:44:45.600 2025.06.21 06:44:57.780
4 4.0.6.3212 2025.06.11 bc50d P P 12793 13167 2025.06.14 08:14:39.660 2025.06.14 08:14:52.453 2025.06.14 07:11:52.084 2025.06.14 07:12:05.251
5 4.0.6.3208 2025.06.10 19fe3 P P 12781 13215 2025.06.11 06:41:35.104 2025.06.11 06:41:47.885 2025.06.11 05:39:40.521 2025.06.11 05:39:53.736
6 4.0.6.3207 2025.06.07 205ff P P 13757 13315 2025.06.10 06:42:58.151 2025.06.10 06:43:11.908 2025.06.10 05:40:20.931 2025.06.10 05:40:34.246
7 4.0.6.3206 2025.05.22 d7d10 P P 12721 13164 2025.06.06 06:36:41.347 2025.06.06 06:36:54.068 2025.06.06 05:35:22.985 2025.06.06 05:35:36.149
8 4.0.6.3205 2025.05.07 00148 P P 15352 12099 2025.05.18 06:24:04.857 2025.05.18 06:24:20.209 2025.05.18 05:24:47.237 2025.05.18 05:24:59.336
9 4.0.6.3204 2025.05.06 35b85 P P 12736 13182 2025.05.07 06:32:19.226 2025.05.07 06:32:31.962 2025.05.07 05:31:37.072 2025.05.07 05:31:50.254
10 4.0.6.3203 2025.05.05 c2cbd P P 12755 13171 2025.05.06 06:32:39.290 2025.05.06 06:32:52.045 2025.05.06 05:31:47.701 2025.05.06 05:32:00.872
11 4.0.6.3200 2025.04.18 7ef56 P P 12719 13144 2025.04.26 06:37:12.136 2025.04.26 06:37:24.855 2025.04.26 05:35:59.678 2025.04.26 05:36:12.822
12 4.0.6.3199 2025.04.14 33a10 P P 12928 12180 2025.04.17 06:34:43.947 2025.04.17 06:34:56.875 2025.04.17 05:33:31.863 2025.04.17 05:33:44.043
13 4.0.6.3198 2025.04.13 64a7f P P 12712 13148 2025.04.14 06:33:02.037 2025.04.14 06:33:14.749 2025.04.14 05:31:46.529 2025.04.14 05:31:59.677
14 4.0.6.3195 2025.04.12 82cb5 P P 11669 13131 2025.04.13 06:17:56.914 2025.04.13 06:18:08.583 2025.04.13 05:19:07.257 2025.04.13 05:19:20.388
15 4.0.6.3195 2025.03.28 b9faf P P 11845 14168 2025.04.12 06:38:01.517 2025.04.12 06:38:13.362 2025.04.12 05:35:51.515 2025.04.12 05:36:05.683
16 4.0.6.3194 2025.03.27 ab754 P P 13732 12348 2025.03.28 06:50:32.927 2025.03.28 06:50:46.659 2025.03.28 05:47:58.630 2025.03.28 05:48:10.978
17 4.0.6.3194 2025.03.26 912aa P P 13830 12236 2025.03.27 06:40:51.313 2025.03.27 06:41:05.143 2025.03.27 05:37:05.044 2025.03.27 05:37:17.280
18 4.0.6.3193 2025.03.20 80234 P P 12825 13414 2025.03.24 06:41:21.461 2025.03.24 06:41:34.286 2025.03.24 05:37:10.701 2025.03.24 05:37:24.115
19 4.0.6.3192 2025.03.13 2a9da P P 12766 13185 2025.03.20 06:28:39.716 2025.03.20 06:28:52.482 2025.03.20 05:26:33.277 2025.03.20 05:26:46.462
20 4.0.6.3191 2025.03.10 3d9fd P P 11731 13490 2025.03.13 06:36:14.045 2025.03.13 06:36:25.776 2025.03.13 05:32:37.630 2025.03.13 05:32:51.120
21 4.0.6.3190 2025.02.25 c9928 P P 12746 13429 2025.03.09 06:33:04.394 2025.03.09 06:33:17.140 2025.03.09 05:29:31.976 2025.03.09 05:29:45.405
22 4.0.6.3189 2025.02.22 3fb0b P P 12724 13149 2025.02.25 06:21:57.529 2025.02.25 06:22:10.253 2025.02.25 05:20:10.596 2025.02.25 05:20:23.745
23 4.0.6.3188 2025.02.21 8ee1c P P 12734 13161 2025.02.22 06:15:37.589 2025.02.22 06:15:50.323 2025.02.22 05:14:11.964 2025.02.22 05:14:25.125
24 4.0.6.3186 2025.02.19 92cb6 P P 12722 13159 2025.02.20 04:13:24.026 2025.02.20 04:13:36.748 2025.02.20 03:11:18.712 2025.02.20 03:11:31.871
25 4.0.6.3185 2025.02.16 9cac4 P P 11746 12156 2025.02.17 02:00:37.082 2025.02.17 02:00:48.828 2025.02.17 00:59:25.847 2025.02.17 00:59:38.003
26 4.0.6.3183 2025.02.04 bf738 P P 11707 13166 2025.02.08 06:19:20.658 2025.02.08 06:19:32.365 2025.02.08 05:17:38.401 2025.02.08 05:17:51.567
27 4.0.6.3181 2025.02.01 00b64 P P 12962 13206 2025.02.04 06:32:50.397 2025.02.04 06:33:03.359 2025.02.04 05:31:04.532 2025.02.04 05:31:17.738
28 4.0.6.3180 2025.01.27 2edb8 P P 12732 13154 2025.01.28 06:15:55.539 2025.01.28 06:16:08.271 2025.01.28 05:14:53.757 2025.01.28 05:15:06.911
29 4.0.6.3179 2025.01.24 008d4 P P 12768 13142 2025.01.25 04:06:14.028 2025.01.25 04:06:26.796 2025.01.25 03:05:08.566 2025.01.25 03:05:21.708
30 4.0.6.3178 2025.01.20 ec94d P P 12733 13152 2025.01.24 06:16:39.198 2025.01.24 06:16:51.931 2025.01.24 05:15:25.353 2025.01.24 05:15:38.505
31 4.0.6.3176 2025.01.16 79cc1 P P 12758 14152 2025.01.20 06:15:26.894 2025.01.20 06:15:39.652 2025.01.20 05:14:17.023 2025.01.20 05:14:31.175
32 4.0.6.3175 2025.01.15 91361 P P 12768 13133 2025.01.16 06:19:14.596 2025.01.16 06:19:27.364 2025.01.16 05:17:42.394 2025.01.16 05:17:55.527
33 4.0.6.3174 2024.12.23 ffd39 P P 12755 12169 2025.01.15 06:12:45.050 2025.01.15 06:12:57.805 2025.01.15 05:11:11.807 2025.01.15 05:11:23.976
34 4.0.6.3173 2024.12.19 60b32 P P 12912 12188 2024.12.21 17:12:32.838 2024.12.21 17:12:45.750 2024.12.21 16:10:47.747 2024.12.21 16:10:59.935
35 4.0.6.3172 2024.12.11 33f5d P P 12719 12443 2024.12.16 06:14:47.224 2024.12.16 06:14:59.943 2024.12.16 05:13:30.955 2024.12.16 05:13:43.398
36 4.0.6.3171 2024.12.10 ab1d4 P P 12741 13197 2024.12.11 06:17:07.679 2024.12.11 06:17:20.420 2024.12.11 05:15:47.144 2024.12.11 05:16:00.341
37 4.0.6.3170 2024.12.02 68abd P P 13758 12200 2024.12.04 06:07:35.831 2024.12.04 06:07:49.589 2024.12.04 05:07:29.884 2024.12.04 05:07:42.084
38 4.0.6.3169 2024.11.28 1673f P P 12713 13202 2024.11.30 06:05:40.169 2024.11.30 06:05:52.882 2024.11.30 05:05:35.357 2024.11.30 05:05:48.559
39 4.0.6.3168 2024.11.27 7fffc P P 12771 13223 2024.11.28 06:01:34.526 2024.11.28 06:01:47.297 2024.11.28 05:02:13.787 2024.11.28 05:02:27.010
40 4.0.6.3168 2024.11.07 f67e2 P P 12722 13205 2024.11.27 06:04:02.180 2024.11.27 06:04:14.902 2024.11.27 05:03:55.812 2024.11.27 05:04:09.017
41 4.0.6.3167 2024.11.04 c9228 P P 13771 13393 2024.11.05 05:56:55.256 2024.11.05 05:57:09.027 2024.11.05 04:57:51.736 2024.11.05 04:58:05.129
42 4.0.6.3165 2024.10.23 b0c36 P P 12724 13240 2024.11.04 11:46:45.018 2024.11.04 11:46:57.742 2024.11.04 10:47:32.238 2024.11.04 10:47:45.478
43 4.0.6.3164 2024.10.17 35344 P P 12738 13215 2024.10.23 06:06:09.569 2024.10.23 06:06:22.307 2024.10.23 05:06:17.797 2024.10.23 05:06:31.012
44 4.0.6.3161 2024.10.05 91502 P P 12779 13187 2024.10.15 06:03:22.152 2024.10.15 06:03:34.931 2024.10.15 05:03:55.886 2024.10.15 05:04:09.073
45 4.0.6.3159 2024.10.01 85136 P P 12750 13624 2024.10.05 06:07:16.438 2024.10.05 06:07:29.188 2024.10.05 05:06:44.439 2024.10.05 05:06:58.063
46 4.0.6.3158 2024.09.30 14c68 P P 12746 13202 2024.10.01 06:05:26.905 2024.10.01 06:05:39.651 2024.10.01 05:05:02.656 2024.10.01 05:05:15.858
47 4.0.6.3157 2024.09.24 3bb2e P P 13394 13202 2024.09.30 06:04:56.462 2024.09.30 06:05:09.856 2024.09.30 05:04:59.683 2024.09.30 05:05:12.885
48 4.0.6.3156 2024.09.21 f6416 P P 12727 13200 2024.09.24 06:04:25.755 2024.09.24 06:04:38.482 2024.09.24 05:04:30.151 2024.09.24 05:04:43.351
49 4.0.6.3155 2024.09.20 1ed0c P P 12743 14197 2024.09.21 06:05:52.322 2024.09.21 06:06:05.065 2024.09.21 05:05:38.703 2024.09.21 05:05:52.900
50 4.0.6.3151 2024.09.09 1b77f P P 12732 13316 2024.09.17 06:03:12.154 2024.09.17 06:03:24.886 2024.09.17 05:03:56.803 2024.09.17 05:04:10.119
51 4.0.6.3149 2024.09.04 32ce9 P P 12748 13198 2024.09.08 04:04:05.014 2024.09.08 04:04:17.762 2024.09.08 03:03:58.243 2024.09.08 03:04:11.441
52 4.0.6.3148 2024.09.02 4be5c P P 12751 13182 2024.09.04 06:06:47.435 2024.09.04 06:07:00.186 2024.09.04 05:06:08.550 2024.09.04 05:06:21.732
53 4.0.6.3147 2024.08.30 5ffd7 P P 13796 13209 2024.09.02 05:56:08.607 2024.09.02 05:56:22.403 2024.09.02 04:55:52.763 2024.09.02 04:56:05.972
54 4.0.6.3146 2024.08.27 38582 P P 12748 13231 2024.08.30 05:51:04.260 2024.08.30 05:51:17.008 2024.08.30 04:50:47.809 2024.08.30 04:51:01.040
55 4.0.6.3145 2024.08.21 87240 P P 12727 13211 2024.08.27 05:46:12.436 2024.08.27 05:46:25.163 2024.08.27 04:46:00.932 2024.08.27 04:46:14.143
56 4.0.6.3144 2024.08.20 5a3b7 P P 12858 13209 2024.08.21 05:44:02.154 2024.08.21 05:44:15.012 2024.08.21 04:43:38.591 2024.08.21 04:43:51.800
57 4.0.6.3142 2024.08.11 b9f39 P P 12839 14200 2024.08.19 05:54:10.801 2024.08.19 05:54:23.640 2024.08.19 04:51:55.622 2024.08.19 04:52:09.822
58 4.0.6.3141 2024.08.09 6d39f P P 13879 13201 2024.08.11 03:48:02.807 2024.08.11 03:48:16.686 2024.08.11 02:45:29.303 2024.08.11 02:45:42.504
59 4.0.5.3140 2024.08.06 64f3a P P 12998 13201 2024.08.10 21:35:01.010 2024.08.10 21:35:14.008 2024.08.10 20:28:53.411 2024.08.10 20:29:06.612
60 4.0.5.3139 2024.08.01 3bc8b P P 12946 13266 2024.08.06 03:39:27.583 2024.08.06 03:39:40.529 2024.08.06 02:41:46.256 2024.08.06 02:41:59.522
61 4.0.5.3136 2024.07.31 e41ec P P 13926 13186 2024.08.01 12:11:11.314 2024.08.01 12:11:25.240 2024.08.01 11:15:42.045 2024.08.01 11:15:55.231
62 4.0.5.3135 2024.07.26 b4981 P P 12858 13183 2024.07.30 05:20:11.905 2024.07.30 05:20:24.763 2024.07.30 04:24:53.273 2024.07.30 04:25:06.456
63 4.0.5.3129 2024.07.24 b8184 P P 12845 13212 2024.07.25 05:19:53.068 2024.07.25 05:20:05.913 2024.07.25 04:24:30.816 2024.07.25 04:24:44.028
64 4.0.5.3128 2024.07.13 aa318 P P 12889 13233 2024.07.24 05:46:51.975 2024.07.24 05:47:04.864 2024.07.24 04:51:21.438 2024.07.24 04:51:34.671
65 4.0.5.3127 2024.07.10 eace3 F F 77490 70812 2024.07.13 05:15:21.959 2024.07.13 05:16:39.449 2024.07.13 04:20:55.247 2024.07.13 04:22:06.059
66 4.0.5.3123 2024.07.09 070ee F F 77717 70789 2024.07.10 05:30:00.595 2024.07.10 05:31:18.312 2024.07.10 04:33:14.170 2024.07.10 04:34:24.959
67 4.0.5.3123 2024.06.24 c27c6 F F 70768 70815 2024.07.09 05:29:25.545 2024.07.09 05:30:36.313 2024.07.09 04:31:53.104 2024.07.09 04:33:03.919
68 4.0.5.3112 2024.06.13 d2e61 P P 13037 13199 2024.06.21 22:05:08.927 2024.06.21 22:05:21.964 2024.06.21 21:04:45.158 2024.06.21 21:04:58.357
69 4.0.5.3109 2024.06.12 de9c0 P P 13924 13158 2024.06.13 02:57:16.890 2024.06.13 02:57:30.814 2024.06.13 02:06:01.958 2024.06.13 02:06:15.116
70 4.0.5.3109 2024.06.09 569cf P P 12923 13159 2024.06.11 02:57:34.984 2024.06.11 02:57:47.907 2024.06.11 02:06:13.736 2024.06.11 02:06:26.895
71 4.0.5.3103 2024.05.24 61480 P P 13939 13158 2024.05.25 02:54:29.055 2024.05.25 02:54:42.994 2024.05.25 02:03:37.308 2024.05.25 02:03:50.466
72 4.0.5.3100 2024.05.15 2dc0d P P 12892 13157 2024.05.24 02:56:53.384 2024.05.24 02:57:06.276 2024.05.24 02:05:09.113 2024.05.24 02:05:22.270
73 4.0.5.3098 2024.05.09 4c3ec P P 13908 13158 2024.05.15 02:52:55.496 2024.05.15 02:53:09.404 2024.05.15 02:02:15.245 2024.05.15 02:02:28.403
74 4.0.5.3097 2024.05.08 ec699 P P 12846 13158 2024.05.09 14:40:48.264 2024.05.09 14:41:01.110 2024.05.09 13:50:04.049 2024.05.09 13:50:17.207
75 4.0.5.3092 2024.05.06 bbc47 P P 12892 13158 2024.05.08 02:53:35.711 2024.05.08 02:53:48.603 2024.05.08 02:02:51.369 2024.05.08 02:03:04.527
76 4.0.5.3091 2024.04.29 062a7 P P 13893 13158 2024.04.30 02:51:15.445 2024.04.30 02:51:29.338 2024.04.30 02:00:57.135 2024.04.30 02:01:10.293
77 4.0.5.3089 2024.04.19 08c92 P P 13877 13143 2024.04.29 02:51:36.217 2024.04.29 02:51:50.094 2024.04.29 02:01:05.638 2024.04.29 02:01:18.781
78 4.0.5.3088 2024.04.17 c4484 P P 13846 13158 2024.04.19 02:51:38.543 2024.04.19 02:51:52.389 2024.04.19 02:00:52.351 2024.04.19 02:01:05.509
79 4.0.5.3086 2024.04.16 434ab P P 13908 13159 2024.04.17 02:48:37.978 2024.04.17 02:48:51.886 2024.04.17 01:58:27.165 2024.04.17 01:58:40.324
80 4.0.5.3083 2024.03.31 6ee48 P P 13908 14158 2024.04.13 02:44:03.441 2024.04.13 02:44:17.349 2024.04.13 01:54:01.635 2024.04.13 01:54:15.793
81 4.0.5.3082 2024.03.31 c768b P P 12580 13017 2024.04.04 14:20:50.587 2024.04.04 14:21:03.167 2024.04.04 13:34:07.731 2024.04.04 13:34:20.748
82 4.0.5.3082 2024.03.25 af9dc P P 13860 13126 2024.03.29 02:01:08.915 2024.03.29 02:01:22.775 2024.03.29 01:12:22.196 2024.03.29 01:12:35.322
83 4.0.5.3081 2024.03.22 17cd2 P P 13860 13126 2024.03.24 03:35:40.406 2024.03.24 03:35:54.266 2024.03.24 02:45:52.678 2024.03.24 02:46:05.804
84 4.0.5.3080 2024.03.22 5d44e P P 13563 13970 2024.03.22 16:20:31.922 2024.03.22 16:20:45.485 2024.03.22 15:33:29.416 2024.03.22 15:33:43.386
85 4.0.5.3080 2024.03.17 17edd P P 12625 12969 2024.03.20 19:47:45.198 2024.03.20 19:47:57.823 2024.03.20 19:00:42.999 2024.03.20 19:00:55.968

Elapsed time, ms. Chart for last 85 runs:

Last commits information (all timestamps in UTC):