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
firebird.driver.types.InterfaceError: Result code does not match request code

LOG DETAILS:

2025-06-30 16:13:22.092
2025-06-30 16:13:22.099 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-30 16:13:22.107 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-06-30 16:13:22.116
2025-06-30 16:13:22.123 @pytest.mark.encryption
2025-06-30 16:13:22.129 @pytest.mark.version('>=3.0.2')
2025-06-30 16:13:22.135 def test_1(act: Action, capsys):
2025-06-30 16:13:22.141 map_dbo = {}
2025-06-30 16:13:22.147
2025-06-30 16:13:22.155 # Query to find first generators page number:
2025-06-30 16:13:22.163 first_gens_page_sql = f"""
2025-06-30 16:13:22.172 select p.rdb$page_number
2025-06-30 16:13:22.184 from rdb$pages p
2025-06-30 16:13:22.193 where p.rdb$page_type = {GENS_PAGE}
2025-06-30 16:13:22.200 order by p.rdb$page_number desc
2025-06-30 16:13:22.206 rows 1
2025-06-30 16:13:22.216 """
2025-06-30 16:13:22.228
2025-06-30 16:13:22.237 # Query to find relation_id and first PP for 'TEST' table:
2025-06-30 16:13:22.247 first_pp_sql = f"""
2025-06-30 16:13:22.256 select p.rdb$relation_id, p.rdb$page_number
2025-06-30 16:13:22.264 from rdb$pages p
2025-06-30 16:13:22.272 join rdb$relations r on p.rdb$relation_id = r.rdb$relation_id
2025-06-30 16:13:22.280 where r.rdb$relation_name=upper('TEST') and p.rdb$page_type = {POINTER_PAGE}
2025-06-30 16:13:22.289 order by p.rdb$page_number
2025-06-30 16:13:22.296 rows 1
2025-06-30 16:13:22.303 """
2025-06-30 16:13:22.310
2025-06-30 16:13:22.320 broken_pages_map = { POINTER_PAGE : [], DATA_PAGE : [], IDX_ROOT_PAGE : [], IDX_B_TREE : [], BLOB_PAGE : [], GENS_PAGE : [] }
2025-06-30 16:13:22.331 with act.db.connect() as con:
2025-06-30 16:13:22.341 fill_dbo(con, map_dbo)
2025-06-30 16:13:22.350 c = con.cursor()
2025-06-30 16:13:22.357
2025-06-30 16:13:22.363 broken_pages_map[GENS_PAGE] = [c.execute(first_gens_page_sql).fetchone()[0],]
2025-06-30 16:13:22.377
2025-06-30 16:13:22.388 test_rel_id, test_rel_first_pp = c.execute(first_pp_sql).fetchone()
2025-06-30 16:13:22.398
2025-06-30 16:13:22.404 # Found first page for each of three types: Data, Index and Blob
2025-06-30 16:13:22.409 # (loop starts from first PointerPage of table 'TEST')
2025-06-30 16:13:22.418 brk_datapage = brk_indxpage = brk_blobpage = -1
2025-06-30 16:13:22.425
2025-06-30 16:13:22.431 for page_no in range(test_rel_first_pp, con.info.pages_allocated):
2025-06-30 16:13:22.438 >               page_type, relation_id, page_info = parse_page_header(con, page_no, map_dbo)
2025-06-30 16:13:22.444
2025-06-30 16:13:22.450 tests/bugs/core_5501_test.py:423:
2025-06-30 16:13:22.456 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-06-30 16:13:22.464
2025-06-30 16:13:22.470 con = Connection[3000], page_number = 406
2025-06-30 16:13:22.476 map_dbo = {(128, -1): ('TEST', ''), (128, 0): ('TEST', 'TEST_S_UNQ')}
2025-06-30 16:13:22.481
2025-06-30 16:13:22.487 def parse_page_header(con: Connection, page_number: int, map_dbo: Dict):
2025-06-30 16:13:22.493 >       page_buffer = con.info.get_page_content(page_number)
2025-06-30 16:13:22.499
2025-06-30 16:13:22.507 tests/bugs/core_5501_test.py:263:
2025-06-30 16:13:22.518 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-06-30 16:13:22.529
2025-06-30 16:13:22.540 self = <firebird.driver.core.DatabaseInfoProvider object at [hex]>
2025-06-30 16:13:22.552 page_number = 406
2025-06-30 16:13:22.561
2025-06-30 16:13:22.567 def get_page_content(self, page_number: int) -> bytes:
2025-06-30 16:13:22.573 """Returns content of single database page.
2025-06-30 16:13:22.578
2025-06-30 16:13:22.588 Arguments:
2025-06-30 16:13:22.600 page_number: Sequence number of database page to be fetched from server.
2025-06-30 16:13:22.610 """
2025-06-30 16:13:22.620 >       return self.get_info(DbInfoCode.PAGE_CONTENTS, page_number)
2025-06-30 16:13:22.630
2025-06-30 16:13:22.638 ../lib/python3.11/site-packages/firebird/driver/core.py:1338:
2025-06-30 16:13:22.646 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-06-30 16:13:22.658
2025-06-30 16:13:22.669 self = <firebird.driver.core.DatabaseInfoProvider object at [hex]>
2025-06-30 16:13:22.677 info_code = <DbInfoCode.PAGE_CONTENTS: 113>, page_number = 406
2025-06-30 16:13:22.684
2025-06-30 16:13:22.692 def get_info(self, info_code: DbInfoCode, page_number: int=None) -> Any:
2025-06-30 16:13:22.699 """Returns requested information from associated attachment.
2025-06-30 16:13:22.707
2025-06-30 16:13:22.718 Arguments:
2025-06-30 16:13:22.731 info_code: A code specifying the required information.
2025-06-30 16:13:22.739 page_number: A page number for `DbInfoCode.PAGE_CONTENTS` request. Ignored for other requests.
2025-06-30 16:13:22.748
2025-06-30 16:13:22.761 Returns:
2025-06-30 16:13:22.774 The data type of returned value depends on information required.
2025-06-30 16:13:22.788 """
2025-06-30 16:13:22.802 if info_code in self._cache:
2025-06-30 16:13:22.811 return self._cache[info_code]
2025-06-30 16:13:22.818 if info_code not in self._handlers:
2025-06-30 16:13:22.825 raise NotSupportedError(f"Info code {info_code} not supported by engine version {self.__engine_version}")
2025-06-30 16:13:22.831 self.response.clear()
2025-06-30 16:13:22.837 request = bytes([info_code])
2025-06-30 16:13:22.843 if info_code == DbInfoCode.PAGE_CONTENTS:
2025-06-30 16:13:22.849 request += (4).to_bytes(2, 'little')
2025-06-30 16:13:22.856 request += page_number.to_bytes(4, 'little')
2025-06-30 16:13:22.863 if len(self.response.raw) < self.page_size + 10:
2025-06-30 16:13:22.870 self.response.resize(self.page_size + 10)
2025-06-30 16:13:22.883 self._get_data(request)
2025-06-30 16:13:22.892 tag = self.response.get_tag()
2025-06-30 16:13:22.900 if request[0] != tag:
2025-06-30 16:13:22.907 if info_code in (DbInfoCode.ACTIVE_TRANSACTIONS, DbInfoCode.LIMBO):
2025-06-30 16:13:22.912 # isc_info_active_transactions and isc_info_limbo with no transactions to
2025-06-30 16:13:22.921 # report returns empty buffer and does not follow this rule
2025-06-30 16:13:22.929 pass
2025-06-30 16:13:22.937 elif tag == isc_info_error:  # pragma: no cover
2025-06-30 16:13:22.945 raise InterfaceError("An error response was received")
2025-06-30 16:13:22.951 else:  # pragma: no cover
2025-06-30 16:13:22.957 >               raise InterfaceError("Result code does not match request code")
2025-06-30 16:13:22.962 E               firebird.driver.types.InterfaceError: Result code does not match request code
2025-06-30 16:13:22.972
2025-06-30 16:13:22.979 ../lib/python3.11/site-packages/firebird/driver/core.py:1316: InterfaceError
2025-06-30 16:13:22.986 ---------------------------- Captured stdout setup -----------------------------
2025-06-30 16:13:22.993 Creating db: localhost:/var/tmp/qa_2024/test_11120/test.fdb [page_size=8192, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.encryption
    @pytest.mark.version('>=3.0.2')
    def test_1(act: Action, capsys):
        map_dbo = {}
    
        # Query to find first generators page number:
        first_gens_page_sql = f"""
            select p.rdb$page_number
            from rdb$pages p
            where p.rdb$page_type = {GENS_PAGE}
            order by p.rdb$page_number desc
            rows 1
        """
    
        # Query to find relation_id and first PP for 'TEST' table:
        first_pp_sql = f"""
            select p.rdb$relation_id, p.rdb$page_number
            from rdb$pages p
            join rdb$relations r on p.rdb$relation_id = r.rdb$relation_id
            where r.rdb$relation_name=upper('TEST') and p.rdb$page_type = {POINTER_PAGE}
            order by p.rdb$page_number
            rows 1
        """
    
        broken_pages_map = { POINTER_PAGE : [], DATA_PAGE : [], IDX_ROOT_PAGE : [], IDX_B_TREE : [], BLOB_PAGE : [], GENS_PAGE : [] }
        with act.db.connect() as con:
            fill_dbo(con, map_dbo)
            c = con.cursor()
    
            broken_pages_map[GENS_PAGE] = [c.execute(first_gens_page_sql).fetchone()[0],]
    
            test_rel_id, test_rel_first_pp = c.execute(first_pp_sql).fetchone()
    
            # Found first page for each of three types: Data, Index and Blob
            # (loop starts from first PointerPage of table 'TEST')
            brk_datapage = brk_indxpage = brk_blobpage = -1
    
            for page_no in range(test_rel_first_pp, con.info.pages_allocated):
>               page_type, relation_id, page_info = parse_page_header(con, page_no, map_dbo)

tests/bugs/core_5501_test.py:423: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

con = Connection[3000], page_number = 406
map_dbo = {(128, -1): ('TEST', ''), (128, 0): ('TEST', 'TEST_S_UNQ')}

    def parse_page_header(con: Connection, page_number: int, map_dbo: Dict):
>       page_buffer = con.info.get_page_content(page_number)

tests/bugs/core_5501_test.py:263: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <firebird.driver.core.DatabaseInfoProvider pytest object at [hex]>
page_number = 406

    def get_page_content(self, page_number: int) -> bytes:
        """Returns content of single database page.
    
        Arguments:
           page_number: Sequence number of database page to be fetched from server.
        """
>       return self.get_info(DbInfoCode.PAGE_CONTENTS, page_number)

../lib/python3.11/site-packages/firebird/driver/core.py:1338: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <firebird.driver.core.DatabaseInfoProvider pytest object at [hex]>
info_code = <DbInfoCode.PAGE_CONTENTS: 113>, page_number = 406

    def get_info(self, info_code: DbInfoCode, page_number: int=None) -> Any:
        """Returns requested information from associated attachment.
    
        Arguments:
            info_code: A code specifying the required information.
            page_number: A page number for `DbInfoCode.PAGE_CONTENTS` request. Ignored for other requests.
    
        Returns:
            The data type of returned value depends on information required.
        """
        if info_code in self._cache:
            return self._cache[info_code]
        if info_code not in self._handlers:
            raise NotSupportedError(f"Info code {info_code} not supported by engine version {self.__engine_version}")
        self.response.clear()
        request = bytes([info_code])
        if info_code == DbInfoCode.PAGE_CONTENTS:
            request += (4).to_bytes(2, 'little')
            request += page_number.to_bytes(4, 'little')
            if len(self.response.raw) < self.page_size + 10:
                self.response.resize(self.page_size + 10)
        self._get_data(request)
        tag = self.response.get_tag()
        if request[0] != tag:
            if info_code in (DbInfoCode.ACTIVE_TRANSACTIONS, DbInfoCode.LIMBO):
                # isc_info_active_transactions and isc_info_limbo with no transactions to
                # report returns empty buffer and does not follow this rule
                pass
            elif tag == isc_info_error:  # pragma: no cover
                raise InterfaceError("An error response was received")
            else:  # pragma: no cover
>               raise InterfaceError("Result code does not match request code")
E               firebird.driver.types.InterfaceError: Result code does not match request code

../lib/python3.11/site-packages/firebird/driver/core.py:1316: InterfaceError
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.1674 2025.06.27 3ee5c F F 1733 1144 2025.06.30 12:18:50.292 2025.06.30 12:18:52.025 2025.06.30 11:04:22.055 2025.06.30 11:04:23.199
2 5.0.3.1657 2025.06.19 4bd4c F F 1783 1036 2025.06.27 11:51:14.838 2025.06.27 11:51:16.621 2025.06.27 10:38:40.925 2025.06.27 10:38:41.961
3 5.0.3.1657 2025.06.11 dae6f F F 1937 1249 2025.06.17 06:55:47.261 2025.06.17 06:55:49.198 2025.06.17 05:42:00.820 2025.06.17 05:42:02.069
4 5.0.3.1657 2025.06.10 dbc92 F F 1827 1198 2025.06.11 11:47:45.443 2025.06.11 11:47:47.270 2025.06.11 10:19:51.795 2025.06.11 10:19:52.993
5 5.0.3.1656 2025.05.20 c4b11 F F 1860 1112 2025.06.10 11:38:31.702 2025.06.10 11:38:33.562 2025.06.10 10:21:12.562 2025.06.10 10:21:13.674
6 5.0.3.1652 2025.05.13 f51c6 F F 2247 1389 2025.05.20 04:38:16.951 2025.05.20 04:38:19.198 2025.05.20 03:10:21.154 2025.05.20 03:10:22.543
7 5.0.3.1651 2025.04.30 141ef F F 2194 1324 2025.05.13 11:36:28.033 2025.05.13 11:36:30.227 2025.05.13 10:06:48.708 2025.05.13 10:06:50.032
8 5.0.3.1650 2025.04.28 4cbff F F 2469 1359 2025.05.01 11:10:23.170 2025.05.01 11:10:25.639 2025.05.01 09:41:45.506 2025.05.01 09:41:46.865
9 5.0.3.1649 2025.04.21 5b2d0 F F 2162 1361 2025.04.28 05:08:36.547 2025.04.28 05:08:38.709 2025.04.28 03:42:18.095 2025.04.28 03:42:19.456
10 5.0.3.1648 2025.04.18 2f4c5 F F 2122 1104 2025.04.20 05:00:38.636 2025.04.20 05:00:40.758 2025.04.20 03:37:24.307 2025.04.20 03:37:25.411
11 5.0.3.1635 2025.03.31 22ec6 F F 2184 1220 2025.04.18 11:23:02.978 2025.04.18 11:23:05.162 2025.04.18 09:55:03.746 2025.04.18 09:55:04.966
12 5.0.3.1633 2025.03.28 3123a F F 1972 1160 2025.03.31 09:59:12.953 2025.03.31 09:59:14.925 2025.03.31 08:37:20.415 2025.03.31 08:37:21.575
13 5.0.3.1633 2025.03.27 e0fb8 F F 2001 1164 2025.03.28 10:30:51.720 2025.03.28 10:30:53.721 2025.03.28 09:05:10.734 2025.03.28 09:05:11.898
14 5.0.3.1631 2025.03.21 1925b F F 2135 1260 2025.03.27 10:19:23.103 2025.03.27 10:19:25.238 2025.03.27 08:55:04.580 2025.03.27 08:55:05.840
15 5.0.3.1628 2025.03.14 16d05 F F 803 469 2025.03.17 07:49:16.070 2025.03.17 07:49:16.873 2025.03.17 06:15:56.466 2025.03.17 06:15:56.935
16 5.0.3.1627 2025.02.26 4e218 F F 1203 434 2025.03.14 11:02:44.290 2025.03.14 11:02:45.493 2025.03.14 09:29:12.147 2025.03.14 09:29:12.581
17 5.0.3.1624 2025.02.25 dc3b2 F F 775 402 2025.02.26 09:55:25.067 2025.02.26 09:55:25.842 2025.02.26 08:27:24.867 2025.02.26 08:27:25.269
18 5.0.2.1615 2025.02.20 4a726 F F 830 395 2025.02.25 10:22:27.403 2025.02.25 10:22:28.233 2025.02.25 08:53:11.017 2025.02.25 08:53:11.412
19 5.0.2.1615 2025.02.14 9cb76 F F 762 416 2025.02.20 07:13:00.099 2025.02.20 07:13:00.861 2025.02.20 05:46:44.194 2025.02.20 05:46:44.610
20 5.0.2.1577 2024.12.24 3c80e F F 798 433 2025.02.14 10:28:27.461 2025.02.14 10:28:28.259 2025.02.14 09:02:57.471 2025.02.14 09:02:57.904
21 5.0.2.1576 2024.12.17 646b0 F F 589 325 2024.12.24 17:59:40.097 2024.12.24 17:59:40.686 2024.12.24 16:54:30.699 2024.12.24 16:54:31.024
22 5.0.2.1575 2024.12.08 63d39 F F 656 311 2024.12.16 07:41:43.554 2024.12.16 07:41:44.210 2024.12.16 06:37:55.814 2024.12.16 06:37:56.125
23 5.0.2.1567 2024.11.26 56e63 F F 605 321 2024.12.04 07:21:54.721 2024.12.04 07:21:55.326 2024.12.04 06:16:14.460 2024.12.04 06:16:14.781
24 5.0.2.1567 2024.11.21 96f61 F F 593 306 2024.11.26 05:04:49.309 2024.11.26 05:04:49.902 2024.11.26 04:02:25.443 2024.11.26 04:02:25.749
25 5.0.2.1567 2024.11.18 e1289 F F 601 333 2024.11.21 07:09:35.699 2024.11.21 07:09:36.300 2024.11.21 06:07:33.490 2024.11.21 06:07:33.823
26 5.0.2.1533 2024.10.23 0ec43 P P 575 337 2024.11.18 07:25:00.560 2024.11.18 07:25:01.135 2024.11.18 06:21:19.510 2024.11.18 06:21:19.847
27 5.0.2.1533 2024.10.22 8af7a P P 680 328 2024.10.23 09:21:57.757 2024.10.23 09:21:58.437 2024.10.23 08:17:09.111 2024.10.23 08:17:09.439
28 5.0.2.1532 2024.10.15 36dc0 P P 680 366 2024.10.22 19:33:31.497 2024.10.22 19:33:32.177 2024.10.22 18:29:27.782 2024.10.22 18:29:28.148
29 5.0.2.1518 2024.10.04 259ba P P 605 312 2024.10.15 09:07:18.152 2024.10.15 09:07:18.757 2024.10.15 08:02:44.636 2024.10.15 08:02:44.948
30 5.0.2.1518 2024.09.26 703cd P P 714 343 2024.10.03 07:33:30.320 2024.10.03 07:33:31.034 2024.10.03 06:27:45.353 2024.10.03 06:27:45.696
31 5.0.2.1489 2024.09.05 40838 P P 668 348 2024.09.25 07:34:39.612 2024.09.25 07:34:40.280 2024.09.25 06:27:15.581 2024.09.25 06:27:15.929
32 5.0.2.1489 2024.08.31 994a6 P P 1219 590 2024.09.05 11:35:22.225 2024.09.05 11:35:23.444 2024.09.05 10:05:31.169 2024.09.05 10:05:31.759
33 5.0.2.1476 2024.08.09 843ea P P 1102 710 2024.08.31 13:55:40.083 2024.08.31 13:55:41.185 2024.08.31 11:59:33.120 2024.08.31 11:59:33.830
34 5.0.1.1454 2024.08.08 30f9f P P 799 493 2024.08.09 08:12:17.959 2024.08.09 08:12:18.758 2024.08.09 07:04:50.866 2024.08.09 07:04:51.359
35 5.0.1.1453 2024.08.06 1b9d0 P P 802 450 2024.08.08 20:51:13.901 2024.08.08 20:51:14.703 2024.08.08 19:43:04.378 2024.08.08 19:43:04.828
36 5.0.1.1453 2024.07.30 48044 P P 504 273 2024.08.06 06:55:58.851 2024.08.06 06:55:59.355 2024.08.06 05:56:30.241 2024.08.06 05:56:30.514
37 5.0.1.1453 2024.07.28 8d956 P P 501 294 2024.07.30 06:50:48.048 2024.07.30 06:50:48.549 2024.07.30 05:51:50.499 2024.07.30 05:51:50.793
38 5.0.1.1429 2024.07.19 8ee90 P P 503 288 2024.07.27 06:50:28.671 2024.07.27 06:50:29.174 2024.07.27 05:50:25.712 2024.07.27 05:50:26.000
39 5.0.1.1428 2024.07.15 00392 P P 474 298 2024.07.19 06:44:25.633 2024.07.19 06:44:26.107 2024.07.19 05:45:56.239 2024.07.19 05:45:56.537
40 5.0.1.1428 2024.06.30 67a31 P P 476 277 2024.07.15 06:45:58.756 2024.07.15 06:45:59.232 2024.07.15 05:46:36.867 2024.07.15 05:46:37.144
41 5.0.1.1415 2024.06.11 31d74 P P 486 281 2024.06.22 06:34:24.911 2024.06.22 06:34:25.397 2024.06.22 05:37:51.225 2024.06.22 05:37:51.506

Elapsed time, ms. Chart for last 41 runs:

Last commits information (all timestamps in UTC):