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

Annotation type Annotation details
2 @message
AssertionError: assert   
    rdb_trg_name TRG_ATTACH
    rdb_trg_type 8192
    rdb_trg_name TRG_DETACH
    rdb_trg_type 8193
    Error at disconnect:
    Execute statement error
    335544830 : Too many recursion levels of EXECUTE STATEMENT
    Data source : Firebird::
    At trigger 'TRG_DETACH'
    Error at disconnect:
    Execute statement error
  - 335544830 : Too many recursion levels of EXECUTE STATEMENT
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 3
    Data source : Firebird::
    At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 4
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 6
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 8
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 9
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 10
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 11
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'
  + Error at disconnect:
  + Execute statement error
  + 335544517 : exception 1
  + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 12
  + Data source : Firebird::
  + At trigger 'TRG_DETACH'

LOG DETAILS:

2024-06-11 09:15:19.554
2024-06-11 09:15:19.554 act = <firebird.qa.plugin.Action object at [hex]>
2024-06-11 09:15:19.554 tmp_sql = WindowsPath('R:/temp/qa/fbqa/test_11559/tmp_8077.sql')
2024-06-11 09:15:19.554 tmp_log = WindowsPath('R:/temp/qa/fbqa/test_11559/tmp_8077.log')
2024-06-11 09:15:19.554 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554     @pytest.mark.es_eds
2024-06-11 09:15:19.554     @pytest.mark.version('>=4.0.5')
2024-06-11 09:15:19.554     def test_1(act: Action, tmp_sql: Path, tmp_log: Path, capsys):
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         test_sql = f"""
2024-06-11 09:15:19.554             set list on;
2024-06-11 09:15:19.554             set bail on;
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554             set term ^;
2024-06-11 09:15:19.554             create or alter trigger trg_detach on disconnect as begin end
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create or alter trigger trg_attach on connect as begin end
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create sequence g_attach
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create sequence g_detach
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create sequence g_diff
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create exception exc_too_deep_recursion 'Execution terminated by @1: recursion depth exceeded the threshold @2 by @3'
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             recreate table log(id int primary key, att bigint default current_connection, event_name varchar(6) )
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create or alter trigger trg_attach on connect as
2024-06-11 09:15:19.554                 declare v_pool_size int;
2024-06-11 09:15:19.554             begin
2024-06-11 09:15:19.554                 if ( gen_id(g_attach,0) <= {STOP_RECURSIVE_ES_AFTER_ITER} ) then
2024-06-11 09:15:19.554                     in autonomous transaction do
2024-06-11 09:15:19.554                     insert into log(id, event_name) values (-gen_id(g_attach,1), 'attach');
2024-06-11 09:15:19.554                 else
2024-06-11 09:15:19.554                     exception exc_too_deep_recursion using ('trg_attach', {STOP_RECURSIVE_ES_AFTER_ITER}, gen_id(g_attach,1) - {STOP_RECURSIVE_ES_AFTER_ITER} - 1)
2024-06-11 09:15:19.554                     ;
2024-06-11 09:15:19.554             end
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             create or alter trigger trg_detach on disconnect as
2024-06-11 09:15:19.554             begin
2024-06-11 09:15:19.554                 if ( gen_id(g_detach,0) <= {STOP_RECURSIVE_ES_AFTER_ITER} ) then
2024-06-11 09:15:19.554                     execute statement ('insert into log(id, event_name) values(?, ?)') (gen_id(g_detach,1), 'detach')
2024-06-11 09:15:19.554                     with autonomous transaction
2024-06-11 09:15:19.554                     on external 'localhost:' || rdb$get_context('SYSTEM', 'DB_NAME')
2024-06-11 09:15:19.554                         as user '{act.db.user}' password '{act.db.password}' role 'R' || replace(uuid_to_char(gen_uuid()),'-','')
2024-06-11 09:15:19.554                     ;
2024-06-11 09:15:19.554                 else
2024-06-11 09:15:19.554                     exception exc_too_deep_recursion using ('trg_detach', {STOP_RECURSIVE_ES_AFTER_ITER}, gen_id(g_detach,1) - {STOP_RECURSIVE_ES_AFTER_ITER} - 1)
2024-06-11 09:15:19.554                     ;
2024-06-11 09:15:19.554             end
2024-06-11 09:15:19.554             ^
2024-06-11 09:15:19.554             set term ;^
2024-06-11 09:15:19.554             commit;
2024-06-11 09:15:19.554             select
2024-06-11 09:15:19.554                 rdb$trigger_name as "rdb_trg_name"
2024-06-11 09:15:19.554                 ,rdb$trigger_type as "rdb_trg_type"
2024-06-11 09:15:19.554             from rdb$triggers
2024-06-11 09:15:19.554             where rdb$system_flag is distinct from 1
2024-06-11 09:15:19.554             order by rdb$trigger_name;
2024-06-11 09:15:19.554             rollback;
2024-06-11 09:15:19.554             connect '{act.db.dsn}' user {act.db.user} password '{act.db.password}';
2024-06-11 09:15:19.554             quit;
2024-06-11 09:15:19.554         """
2024-06-11 09:15:19.554         with open(tmp_sql, 'w') as f:
2024-06-11 09:15:19.554             f.write(test_sql)
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         # Get Firebird log before test
2024-06-11 09:15:19.554         # ----------------------------
2024-06-11 09:15:19.554         fb_log_init = act.get_firebird_log()
2024-06-11 09:15:19.554         failed_finish_isql_msg = ''
2024-06-11 09:15:19.554         with act.db.connect() as con:
2024-06-11 09:15:19.554             with open(tmp_log, 'w') as f:
2024-06-11 09:15:19.554                 try:
2024-06-11 09:15:19.554                     p_handed_isql = subprocess.Popen( [act.vars['isql'], '-i', str(tmp_sql),
2024-06-11 09:15:19.554                                                       '-user', act.db.user,
2024-06-11 09:15:19.554                                                       '-password', act.db.password, act.db.dsn],
2024-06-11 09:15:19.554                                                       stdout = f,
2024-06-11 09:15:19.554                                                       stderr = subprocess.STDOUT
2024-06-11 09:15:19.554                                                     )
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554                     for i in range(MAX_WAIT_FOR_ISQL_TERMINATE):
2024-06-11 09:15:19.554                         time.sleep(1)
2024-06-11 09:15:19.554                         # Check if child process has terminated.
2024-06-11 09:15:19.554                         # Set and return returncode attribute. Otherwise, returns None.
2024-06-11 09:15:19.554                         if p_handed_isql.poll() is not None:
2024-06-11 09:15:19.554                             break
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554                 finally:
2024-06-11 09:15:19.554                     p_handed_isql.terminate()
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554                 if p_handed_isql.poll() is None:
2024-06-11 09:15:19.554                     failed_finish_isql_msg = f'isql_outcome: process WAS NOT terminated in {MAX_WAIT_FOR_ISQL_TERMINATE} second. Probably MAX_WAIT_FOR_ISQL_TERMINATE value must be increased.'
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         # Get Firebird log after test
2024-06-11 09:15:19.554         # ----------------------------
2024-06-11 09:15:19.554         fb_log_curr = act.get_firebird_log()
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         with open(tmp_log, 'a') as f:
2024-06-11 09:15:19.554             if failed_finish_isql_msg:
2024-06-11 09:15:19.554                 f.write(failed_finish_isql_msg+'\n')
2024-06-11 09:15:19.554             for line in unified_diff(fb_log_init, fb_log_curr):
2024-06-11 09:15:19.554                 if line.startswith('+'):
2024-06-11 09:15:19.554                     f.write(line[1:] + '\n')
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         expected_stdout = f"""
2024-06-11 09:15:19.554             rdb_trg_name                    TRG_ATTACH
2024-06-11 09:15:19.554             rdb_trg_type                    8192
2024-06-11 09:15:19.554             rdb_trg_name                    TRG_DETACH
2024-06-11 09:15:19.554             rdb_trg_type                    8193
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554             Error at disconnect:
2024-06-11 09:15:19.554             Execute statement error at attach :
2024-06-11 09:15:19.554             335544830 : Too many recursion levels of EXECUTE STATEMENT
2024-06-11 09:15:19.554             Data source : Firebird::
2024-06-11 09:15:19.554             At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554             Error at disconnect:
2024-06-11 09:15:19.554             Execute statement error at attach :
2024-06-11 09:15:19.554             335544830 : Too many recursion levels of EXECUTE STATEMENT
2024-06-11 09:15:19.554             Data source : Firebird::
2024-06-11 09:15:19.554             At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554         """
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         with open(tmp_log, 'r') as f:
2024-06-11 09:15:19.554             for line in f:
2024-06-11 09:15:19.554                 print(line)
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554         act.expected_stdout = expected_stdout
2024-06-11 09:15:19.554         act.stdout = capsys.readouterr().out
2024-06-11 09:15:19.554 >       assert act.clean_stdout == act.clean_expected_stdout
2024-06-11 09:15:19.554 E       AssertionError: assert
2024-06-11 09:15:19.554 E           rdb_trg_name TRG_ATTACH
2024-06-11 09:15:19.554 E           rdb_trg_type 8192
2024-06-11 09:15:19.554 E           rdb_trg_name TRG_DETACH
2024-06-11 09:15:19.554 E           rdb_trg_type 8193
2024-06-11 09:15:19.554 E           Error at disconnect:
2024-06-11 09:15:19.554 E           Execute statement error
2024-06-11 09:15:19.554 E           335544830 : Too many recursion levels of EXECUTE STATEMENT
2024-06-11 09:15:19.554 E           Data source : Firebird::
2024-06-11 09:15:19.554 E           At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E           Error at disconnect:
2024-06-11 09:15:19.554 E           Execute statement error
2024-06-11 09:15:19.554 E         - 335544830 : Too many recursion levels of EXECUTE STATEMENT
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 3
2024-06-11 09:15:19.554 E           Data source : Firebird::
2024-06-11 09:15:19.554 E           At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 4
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 6
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 8
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 9
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 10
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 11
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554 E         + Error at disconnect:
2024-06-11 09:15:19.554 E         + Execute statement error
2024-06-11 09:15:19.554 E         + 335544517 : exception 1
2024-06-11 09:15:19.554 E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 12
2024-06-11 09:15:19.554 E         + Data source : Firebird::
2024-06-11 09:15:19.554 E         + At trigger 'TRG_DETACH'
2024-06-11 09:15:19.554
2024-06-11 09:15:19.554 tests\bugs\gh_8077_test.py:199: AssertionError
2024-06-11 09:15:19.554 ---------------------------- Captured stdout setup ----------------------------
2024-06-11 09:15:19.554 Cached db: db-13.0-None-None-NONE.fdb [page_size=None, sql_dialect=None, charset='NONE'
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
tmp_sql = WindowsPath('R:/temp/qa/fbqa/test_11559/tmp_8077.sql')
tmp_log = WindowsPath('R:/temp/qa/fbqa/test_11559/tmp_8077.log')
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.es_eds
    @pytest.mark.version('>=4.0.5')
    def test_1(act: Action, tmp_sql: Path, tmp_log: Path, capsys):
    
        test_sql = f"""
            set list on;
            set bail on;
    
            set term ^;
            create or alter trigger trg_detach on disconnect as begin end
            ^
            create or alter trigger trg_attach on connect as begin end
            ^
            create sequence g_attach
            ^
            create sequence g_detach
            ^
            create sequence g_diff
            ^
            create exception exc_too_deep_recursion 'Execution terminated by @1: recursion depth exceeded the threshold @2 by @3'
            ^
            recreate table log(id int primary key, att bigint default current_connection, event_name varchar(6) )
            ^
            create or alter trigger trg_attach on connect as
                declare v_pool_size int;
            begin
                if ( gen_id(g_attach,0) <= {STOP_RECURSIVE_ES_AFTER_ITER} ) then
                    in autonomous transaction do
                    insert into log(id, event_name) values (-gen_id(g_attach,1), 'attach');
                else
                    exception exc_too_deep_recursion using ('trg_attach', {STOP_RECURSIVE_ES_AFTER_ITER}, gen_id(g_attach,1) - {STOP_RECURSIVE_ES_AFTER_ITER} - 1)
                    ;
            end
            ^
            create or alter trigger trg_detach on disconnect as
            begin
                if ( gen_id(g_detach,0) <= {STOP_RECURSIVE_ES_AFTER_ITER} ) then
                    execute statement ('insert into log(id, event_name) values(?, ?)') (gen_id(g_detach,1), 'detach')
                    with autonomous transaction
                    on external 'localhost:' || rdb$get_context('SYSTEM', 'DB_NAME')
                        as user '{act.db.user}' password '{act.db.password}' role 'R' || replace(uuid_to_char(gen_uuid()),'-','')
                    ;
                else
                    exception exc_too_deep_recursion using ('trg_detach', {STOP_RECURSIVE_ES_AFTER_ITER}, gen_id(g_detach,1) - {STOP_RECURSIVE_ES_AFTER_ITER} - 1)
                    ;
            end
            ^
            set term ;^
            commit;
            select
                rdb$trigger_name as "rdb_trg_name"
                ,rdb$trigger_type as "rdb_trg_type"
            from rdb$triggers
            where rdb$system_flag is distinct from 1
            order by rdb$trigger_name;
            rollback;
            connect '{act.db.dsn}' user {act.db.user} password '{act.db.password}';
            quit;
        """
        with open(tmp_sql, 'w') as f:
            f.write(test_sql)
    
        # Get Firebird log before test
        # ----------------------------
        fb_log_init = act.get_firebird_log()
        failed_finish_isql_msg = ''
        with act.db.connect() as con:
            with open(tmp_log, 'w') as f:
                try:
                    p_handed_isql = subprocess.Popen( [act.vars['isql'], '-i', str(tmp_sql),
                                                      '-user', act.db.user,
                                                      '-password', act.db.password, act.db.dsn],
                                                      stdout = f,
                                                      stderr = subprocess.STDOUT
                                                    )
    
                    for i in range(MAX_WAIT_FOR_ISQL_TERMINATE):
                        time.sleep(1)
                        # Check if child process has terminated.
                        # Set and return returncode attribute. Otherwise, returns None.
                        if p_handed_isql.poll() is not None:
                            break
    
                finally:
                    p_handed_isql.terminate()
    
                if p_handed_isql.poll() is None:
                    failed_finish_isql_msg = f'isql_outcome: process WAS NOT terminated in {MAX_WAIT_FOR_ISQL_TERMINATE} second. Probably MAX_WAIT_FOR_ISQL_TERMINATE value must be increased.'
    
        # Get Firebird log after test
        # ----------------------------
        fb_log_curr = act.get_firebird_log()
    
        with open(tmp_log, 'a') as f:
            if failed_finish_isql_msg:
                f.write(failed_finish_isql_msg+'\n')
            for line in unified_diff(fb_log_init, fb_log_curr):
                if line.startswith('+'):
                    f.write(line[1:] + '\n')
    
    
        expected_stdout = f"""
            rdb_trg_name                    TRG_ATTACH
            rdb_trg_type                    8192
            rdb_trg_name                    TRG_DETACH
            rdb_trg_type                    8193
    
            Error at disconnect:
            Execute statement error at attach :
            335544830 : Too many recursion levels of EXECUTE STATEMENT
            Data source : Firebird::
            At trigger 'TRG_DETACH'
    
            Error at disconnect:
            Execute statement error at attach :
            335544830 : Too many recursion levels of EXECUTE STATEMENT
            Data source : Firebird::
            At trigger 'TRG_DETACH'
        """
    
        with open(tmp_log, 'r') as f:
            for line in f:
                print(line)
    
        act.expected_stdout = expected_stdout
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       AssertionError: assert   
E           rdb_trg_name TRG_ATTACH
E           rdb_trg_type 8192
E           rdb_trg_name TRG_DETACH
E           rdb_trg_type 8193
E           Error at disconnect:
E           Execute statement error
E           335544830 : Too many recursion levels of EXECUTE STATEMENT
E           Data source : Firebird::
E           At trigger 'TRG_DETACH'
E           Error at disconnect:
E           Execute statement error
E         - 335544830 : Too many recursion levels of EXECUTE STATEMENT
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 3
E           Data source : Firebird::
E           At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 4
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 6
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 8
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 9
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 10
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 11
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'
E         + Error at disconnect:
E         + Execute statement error
E         + 335544517 : exception 1
E         + 335545016 : Execution terminated by trg_attach: recursion depth exceeded the threshold 101 by 12
E         + Data source : Firebird::
E         + At trigger 'TRG_DETACH'

tests\bugs\gh_8077_test.py:199: AssertionError
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 8462 3259 2025.06.29 13:16:10.803 2025.06.29 13:16:19.265 2025.06.29 12:16:56.188 2025.06.29 12:16:59.447
2 4.0.6.3184 2025.02.24 9388c P P 8478 3240 2025.02.25 10:58:16.232 2025.02.25 10:58:24.710 2025.02.25 09:41:01.725 2025.02.25 09:41:04.965
3 4.0.6.3183 2025.02.17 e4762 P P 8479 3235 2025.02.24 11:30:21.293 2025.02.24 11:30:29.772 2025.02.24 10:31:24.000 2025.02.24 10:31:27.235
4 4.0.6.3169 2024.12.13 42cc1 P P 8471 3238 2025.02.14 08:18:11.425 2025.02.14 08:18:19.896 2025.02.14 07:19:14.495 2025.02.14 07:19:17.733
5 4.0.6.3169 2024.12.08 50eb6 P P 8485 3235 2024.12.11 11:14:44.765 2024.12.11 11:14:53.250 2024.12.11 10:16:11.245 2024.12.11 10:16:14.480
6 4.0.6.3168 2024.12.07 98d69 P P 8463 3251 2024.12.08 03:58:18.552 2024.12.08 03:58:27.015 2024.12.08 02:57:53.822 2024.12.08 02:57:57.073
7 4.0.6.3168 2024.12.05 cee43 P P 8463 3258 2024.12.06 04:01:30.655 2024.12.06 04:01:39.118 2024.12.06 03:02:28.209 2024.12.06 03:02:31.467
8 4.0.6.3168 2024.11.28 48149 P P 8468 3432 2024.12.03 10:54:44.592 2024.12.03 10:54:53.060 2024.12.03 09:56:51.654 2024.12.03 09:56:55.086
9 4.0.6.3163 2024.10.30 832db P P 8468 3245 2024.11.28 10:53:25.563 2024.11.28 10:53:34.031 2024.11.28 09:55:44.774 2024.11.28 09:55:48.019
10 4.0.6.3163 2024.10.16 2bb10 P P 8469 3272 2024.10.30 11:02:26.448 2024.10.30 11:02:34.917 2024.10.30 10:04:37.481 2024.10.30 10:04:40.753
11 4.0.6.3147 2024.09.10 a4d11 P P 8462 3269 2024.10.16 04:09:54.081 2024.10.16 04:10:02.543 2024.10.16 02:53:00.505 2024.10.16 02:53:03.774
12 4.0.6.3147 2024.08.31 4655b P P 8465 3234 2024.09.10 11:07:51.365 2024.09.10 11:07:59.830 2024.09.10 10:05:59.691 2024.09.10 10:06:02.925
13 4.0.6.3140 2024.08.16 1dd8b P P 8543 3287 2024.09.01 11:30:11.397 2024.09.01 11:30:19.940 2024.09.01 10:10:56.513 2024.09.01 10:10:59.800
14 4.0.6.3140 2024.08.09 34747 P P 8539 3285 2024.08.16 11:10:14.529 2024.08.16 11:10:23.068 2024.08.16 10:09:04.650 2024.08.16 10:09:07.935
15 4.0.5.3110 2024.08.06 f851c P P 8532 3282 2024.08.09 10:49:04.705 2024.08.09 10:49:13.237 2024.08.09 09:48:35.556 2024.08.09 09:48:38.838
16 4.0.5.3110 2024.07.30 c6527 P P 8348 3165 2024.08.06 06:26:00.368 2024.08.06 06:26:08.716 2024.08.06 05:31:00.190 2024.08.06 05:31:03.355
17 4.0.5.3109 2024.06.11 6addf P P 8338 3159 2024.07.30 09:43:43.007 2024.07.30 09:43:51.345 2024.07.30 08:50:44.935 2024.07.30 08:50:48.094
18 4.0.5.3097 2024.05.09 27fa6 F F 6344 4172 2024.06.11 06:01:48.652 2024.06.11 06:01:54.996 2024.06.11 05:12:47.062 2024.06.11 05:12:51.234

Elapsed time, ms. Chart for last 18 runs:

Last commits information (all timestamps in UTC):