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

Annotation type Annotation details
2 @message
firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
-gds_$receive failed
-Exiting before completion due to errors

LOG DETAILS:

2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 act = <firebird.qa.plugin.Action object at [hex]>
2024-03-29 21:56:50.717 db_tmp = <firebird.qa.plugin.Database object at [hex]>
2024-03-29 21:56:50.717 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717     @pytest.mark.version('>=4.0')
2024-03-29 21:56:50.717     def test_1(act: Action, db_tmp: Database, capsys):
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717         #with act.db.connect() as con:
2024-03-29 21:56:50.717         #    if act.is_version('>=5'):
2024-03-29 21:56:50.717         #        pytest.skip("currently works only in FB 4.x.")
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717         backup = BytesIO()
2024-03-29 21:56:50.717         with act.connect_server() as srv:
2024-03-29 21:56:50.717             # 5.0.0.882:
2024-03-29 21:56:50.717             # firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
2024-03-29 21:56:50.717             # -gds_$receive failed
2024-03-29 21:56:50.717             # -Exiting before completion due to errors
2024-03-29 21:56:50.717             #
2024-03-29 21:56:50.717 >           srv.database.local_backup(database=act.db.db_path, backup_stream=backup)
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 tests\bugs\gh_7436_test.py:263:
2024-03-29 21:56:50.717 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 self = <firebird.driver.core.ServerDbServices4 object at [hex]>
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717     def local_backup(self, *, database: FILESPEC, backup_stream: BinaryIO,
2024-03-29 21:56:50.717                      flags: SrvBackupFlag=SrvBackupFlag.NONE, role: str=None,
2024-03-29 21:56:50.717                      skip_data: str=None, include_data: str=None, keyhoder: str=None,
2024-03-29 21:56:50.717                      keyname: str=None, crypt: str=None) -> None:
2024-03-29 21:56:50.717         """Request logical (GBAK) database backup into local byte stream. **(SYNC service)**
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717         Arguments:
2024-03-29 21:56:50.717             database: Database specification or alias.
2024-03-29 21:56:50.717             backup_stream: Binary stream to which the backup is to be written.
2024-03-29 21:56:50.717             flags: Backup options.
2024-03-29 21:56:50.717             role: SQL ROLE name passed to gbak.
2024-03-29 21:56:50.717             skip_data: String with table names whose data should be excluded from backup.
2024-03-29 21:56:50.717             include_data: String with table names whose data should be included into backup [Firebird 4].
2024-03-29 21:56:50.717             keyholder: Keyholder name [Firebird 4]
2024-03-29 21:56:50.717             keyname: Key name [Firebird 4]
2024-03-29 21:56:50.717             crypt: Encryption specification [Firebird 4]
2024-03-29 21:56:50.717         """
2024-03-29 21:56:50.717         self._srv()._reset_output()
2024-03-29 21:56:50.717         with a.get_api().util.get_xpb_builder(XpbKind.SPB_START) as spb:
2024-03-29 21:56:50.717             spb.insert_tag(ServerAction.BACKUP)
2024-03-29 21:56:50.717             spb.insert_string(SPBItem.DBNAME, str(database), encoding=self._srv().encoding)
2024-03-29 21:56:50.717             spb.insert_string(SrvBackupOption.FILE, 'stdout')
2024-03-29 21:56:50.717             spb.insert_int(SPBItem.OPTIONS, flags)
2024-03-29 21:56:50.717             if role is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SPBItem.SQL_ROLE_NAME, role, encoding=self._srv().encoding)
2024-03-29 21:56:50.717             if skip_data is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SrvBackupOption.SKIP_DATA, skip_data,
2024-03-29 21:56:50.717                                   encoding=self._srv().encoding)
2024-03-29 21:56:50.717             if include_data is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SrvBackupOption.INCLUDE_DATA, include_data,
2024-03-29 21:56:50.717                                   encoding=self._srv().encoding)
2024-03-29 21:56:50.717             if keyhoder is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SrvBackupOption.KEYHOLDER, keyhoder)
2024-03-29 21:56:50.717             if keyname is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SrvBackupOption.KEYNAME, keyname)
2024-03-29 21:56:50.717             if crypt is not None:
2024-03-29 21:56:50.717                 spb.insert_string(SrvBackupOption.CRYPT, crypt)
2024-03-29 21:56:50.717             self._srv()._svc.start(spb.get_buffer())
2024-03-29 21:56:50.717         while not self._srv()._eof:
2024-03-29 21:56:50.717 >           backup_stream.write(self._srv()._read_next_binary_output())
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 C:\Python3x\Lib\site-packages\firebird\driver\core.py:4424:
2024-03-29 21:56:50.717 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 self = <firebird.driver.core.Server object at [hex]>
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717     def _read_next_binary_output(self, *, timeout: int=-1) -> bytes:
2024-03-29 21:56:50.717         assert self._svc is not None
2024-03-29 21:56:50.717         result = None
2024-03-29 21:56:50.717         if not self._eof:
2024-03-29 21:56:50.717             send = self._make_request(timeout)
2024-03-29 21:56:50.717             self.response.clear()
2024-03-29 21:56:50.717 >           self._svc.query(send, bytes([SrvInfoCode.TO_EOF]), self.response.raw)
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 C:\Python3x\Lib\site-packages\firebird\driver\core.py:5399:
2024-03-29 21:56:50.717 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 self = <firebird.driver.interfaces.iService object at [hex]>
2024-03-29 21:56:50.717 send = None, receive = b'?'
2024-03-29 21:56:50.717 buffer = <ctypes.c_char_Array_65535 object at [hex]>
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717     def query(self, send: bytes, receive: bytes, buffer: bytes) -> None:
2024-03-29 21:56:50.717         """Send and request information to/from service, with different `receive`
2024-03-29 21:56:50.717         may be used for both running services and to obtain various server-wide information.
2024-03-29 21:56:50.717         Replaces `isc_service_query()`.
2024-03-29 21:56:50.717         """
2024-03-29 21:56:50.717         self.vtable.query(self, self.status, 0 if send is None else len(send),
2024-03-29 21:56:50.717                           send, len(receive), receive, len(buffer), buffer)
2024-03-29 21:56:50.717 >       self._check()
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:1258:
2024-03-29 21:56:50.717 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 self = <firebird.driver.interfaces.iService object at [hex]>
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717     def _check(self) -> None:
2024-03-29 21:56:50.717         state = self.status.get_state()
2024-03-29 21:56:50.717         if StateFlag.ERRORS in state:
2024-03-29 21:56:50.717 >           raise self.__report(DatabaseError, self.status.get_errors())
2024-03-29 21:56:50.717 E           firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
2024-03-29 21:56:50.717 E           -gds_$receive failed
2024-03-29 21:56:50.717 E           -Exiting before completion due to errors
2024-03-29 21:56:50.717
2024-03-29 21:56:50.717 C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
2024-03-29 21:56:50.717 ---------------------------- Captured stdout setup ----------------------------
2024-03-29 21:56:50.717 Cached db: db-13.0-None-None-WIN1251.fdb [page_size=None, sql_dialect=None, charset='WIN1251'
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
db_tmp = <firebird.qa.plugin.Database pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=4.0')
    def test_1(act: Action, db_tmp: Database, capsys):
    
        #with act.db.connect() as con:
        #    if act.is_version('>=5'):
        #        pytest.skip("currently works only in FB 4.x.")
    
        backup = BytesIO()
        with act.connect_server() as srv:
            # 5.0.0.882:
            # firebird.driver.types.DatabaseError: message length error (encountered 32, expected 65568)
            # -gds_$receive failed
            # -Exiting before completion due to errors
            #
>           srv.database.local_backup(database=act.db.db_path, backup_stream=backup)

tests\bugs\gh_7436_test.py:263: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <firebird.driver.core.ServerDbServices4 pytest object at [hex]>

    def local_backup(self, *, database: FILESPEC, backup_stream: BinaryIO,
                     flags: SrvBackupFlag=SrvBackupFlag.NONE, role: str=None,
                     skip_data: str=None, include_data: str=None, keyhoder: str=None,
                     keyname: str=None, crypt: str=None) -> None:
        """Request logical (GBAK) database backup into local byte stream. **(SYNC service)**
    
        Arguments:
            database: Database specification or alias.
            backup_stream: Binary stream to which the backup is to be written.
            flags: Backup options.
            role: SQL ROLE name passed to gbak.
            skip_data: String with table names whose data should be excluded from backup.
            include_data: String with table names whose data should be included into backup [Firebird 4].
            keyholder: Keyholder name [Firebird 4]
            keyname: Key name [Firebird 4]
            crypt: Encryption specification [Firebird 4]
        """
        self._srv()._reset_output()
        with a.get_api().util.get_xpb_builder(XpbKind.SPB_START) as spb:
            spb.insert_tag(ServerAction.BACKUP)
            spb.insert_string(SPBItem.DBNAME, str(database), encoding=self._srv().encoding)
            spb.insert_string(SrvBackupOption.FILE, 'stdout')
            spb.insert_int(SPBItem.OPTIONS, flags)
            if role is not None:
                spb.insert_string(SPBItem.SQL_ROLE_NAME, role, encoding=self._srv().encoding)
            if skip_data is not None:
                spb.insert_string(SrvBackupOption.SKIP_DATA, skip_data,
                                  encoding=self._srv().encoding)
            if include_data is not None:
                spb.insert_string(SrvBackupOption.INCLUDE_DATA, include_data,
                                  encoding=self._srv().encoding)
            if keyhoder is not None:
                spb.insert_string(SrvBackupOption.KEYHOLDER, keyhoder)
            if keyname is not None:
                spb.insert_string(SrvBackupOption.KEYNAME, keyname)
            if crypt is not None:
                spb.insert_string(SrvBackupOption.CRYPT, crypt)
            self._srv()._svc.start(spb.get_buffer())
        while not self._srv()._eof:
>           backup_stream.write(self._srv()._read_next_binary_output())

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

self = <firebird.driver.core.Server pytest object at [hex]>

    def _read_next_binary_output(self, *, timeout: int=-1) -> bytes:
        assert self._svc is not None
        result = None
        if not self._eof:
            send = self._make_request(timeout)
            self.response.clear()
>           self._svc.query(send, bytes([SrvInfoCode.TO_EOF]), self.response.raw)

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

self = <firebird.driver.interfaces.iService pytest object at [hex]>
send = None, receive = b'?'
buffer = <ctypes.c_char_Array_65535 pytest object at [hex]>

    def query(self, send: bytes, receive: bytes, buffer: bytes) -> None:
        """Send and request information to/from service, with different `receive`
        may be used for both running services and to obtain various server-wide information.
        Replaces `isc_service_query()`.
        """
        self.vtable.query(self, self.status, 0 if send is None else len(send),
                          send, len(receive), receive, len(buffer), buffer)
>       self._check()

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

self = <firebird.driver.interfaces.iService 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: message length error (encountered 32, expected 65568)
E           -gds_$receive failed
E           -Exiting before completion due to errors

C:\Python3x\Lib\site-packages\firebird\driver\interfaces.py:113: DatabaseError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 4.0.6.3189 2025.02.25 1a1a5 F F 1039 626 2025.06.27 13:15:14.186 2025.06.27 13:15:15.225 2025.06.27 12:16:47.625 2025.06.27 12:16:48.251
2 4.0.6.3184 2025.02.24 9388c F F 1112 620 2025.02.25 10:56:43.925 2025.02.25 10:56:45.037 2025.02.25 09:39:53.643 2025.02.25 09:39:54.263
3 4.0.6.3183 2025.02.17 e4762 F F 1090 636 2025.02.24 11:28:48.276 2025.02.24 11:28:49.366 2025.02.24 10:30:15.913 2025.02.24 10:30:16.549
4 4.0.6.3169 2024.12.13 42cc1 F F 883 638 2025.02.14 08:16:44.362 2025.02.14 08:16:45.245 2025.02.14 07:18:08.316 2025.02.14 07:18:08.954
5 4.0.6.3169 2024.12.08 50eb6 F F 1005 866 2024.12.11 11:13:16.439 2024.12.11 11:13:17.444 2024.12.11 10:15:04.293 2024.12.11 10:15:05.159
6 4.0.6.3168 2024.12.07 98d69 F F 1043 696 2024.12.08 03:56:49.671 2024.12.08 03:56:50.714 2024.12.08 02:56:46.880 2024.12.08 02:56:47.576
7 4.0.6.3168 2024.12.05 cee43 F F 1053 851 2024.12.06 04:00:01.958 2024.12.06 04:00:03.011 2024.12.06 03:01:21.024 2024.12.06 03:01:21.875
8 4.0.6.3168 2024.11.28 48149 F F 1097 636 2024.12.03 10:53:15.668 2024.12.03 10:53:16.765 2024.12.03 09:55:44.624 2024.12.03 09:55:45.260
9 4.0.6.3163 2024.10.30 832db F F 883 648 2024.11.28 10:51:56.008 2024.11.28 10:51:56.891 2024.11.28 09:54:39.154 2024.11.28 09:54:39.802
10 4.0.6.3163 2024.10.16 2bb10 F F 911 624 2024.10.30 11:00:58.007 2024.10.30 11:00:58.918 2024.10.30 10:03:31.109 2024.10.30 10:03:31.733
11 4.0.6.3147 2024.09.10 a4d11 F F 937 618 2024.10.16 04:08:25.453 2024.10.16 04:08:26.390 2024.10.16 02:51:53.878 2024.10.16 02:51:54.496
12 4.0.6.3147 2024.08.31 4655b F F 1068 609 2024.09.10 11:06:19.582 2024.09.10 11:06:20.650 2024.09.10 10:04:53.688 2024.09.10 10:04:54.297
13 4.0.6.3140 2024.08.16 1dd8b F F 1175 937 2024.09.01 11:28:38.197 2024.09.01 11:28:39.372 2024.09.01 10:09:47.272 2024.09.01 10:09:48.209
14 4.0.6.3140 2024.08.09 34747 F F 1255 946 2024.08.16 11:08:40.743 2024.08.16 11:08:41.998 2024.08.16 10:07:55.715 2024.08.16 10:07:56.661
15 4.0.5.3110 2024.08.06 f851c F F 998 913 2024.08.09 10:47:55.503 2024.08.09 10:47:56.501 2024.08.09 09:47:46.957 2024.08.09 09:47:47.870
16 4.0.5.3110 2024.07.30 c6527 F F 848 633 2024.08.06 06:25:01.434 2024.08.06 06:25:02.282 2024.08.06 05:30:16.771 2024.08.06 05:30:17.404
17 4.0.5.3109 2024.06.11 6addf F F 985 581 2024.07.30 09:42:44.634 2024.07.30 09:42:45.619 2024.07.30 08:50:04.139 2024.07.30 08:50:04.720
18 4.0.5.3097 2024.05.09 27fa6 F F 719 438 2024.06.11 06:00:57.021 2024.06.11 06:00:57.740 2024.06.11 05:12:14.183 2024.06.11 05:12:14.621
19 4.0.5.3091 2024.04.29 bd0aa F F 719 437 2024.05.09 18:40:05.651 2024.05.09 18:40:06.370 2024.05.09 17:51:50.503 2024.05.09 17:51:50.940
20 4.0.5.3089 2024.04.20 9eb9b F F 953 437 2024.04.29 06:48:36.873 2024.04.29 06:48:37.826 2024.04.29 06:00:42.353 2024.04.29 06:00:42.790
21 4.0.5.3083 2024.04.06 300f9 F F 954 672 2024.04.20 07:11:57.876 2024.04.20 07:11:58.830 2024.04.20 06:23:40.046 2024.04.20 06:23:40.718
22 4.0.5.3052 2024.03.16 0f422 F F 718 406 2024.04.05 03:38:35.968 2024.04.05 03:38:36.686 2024.04.05 02:52:06.269 2024.04.05 02:52:06.675
23 4.0.5.3052 2024.03.16 ce273 F F 687 437 2024.03.29 15:04:19.143 2024.03.29 15:04:19.830 2024.03.29 14:20:08.209 2024.03.29 14:20:08.646
24 4.0.5.3052 2024.02.12 cd058 F F 671 405 2024.03.29 16:32:43.807 2024.03.29 16:32:44.478 2024.03.29 15:48:34.046 2024.03.29 15:48:34.451
25 4.0.5.3052 2024.02.07 be290 F F 858 624 2024.03.29 18:44:15.291 2024.03.29 18:44:16.149 2024.03.29 18:00:01.953 2024.03.29 18:00:02.577
26 4.0.5.3052 2024.02.07 6409b F F 859 624 2024.03.29 20:28:25.331 2024.03.29 20:28:26.190 2024.03.29 19:44:15.506 2024.03.29 19:44:16.130
27 4.0.5.3052 2024.02.02 bbc3f F F 843 624 2024.03.29 22:37:27.967 2024.03.29 22:37:28.810 2024.03.29 21:53:15.835 2024.03.29 21:53:16.459
28 4.0.5.3052 2024.01.26 48b7c F F 843 640 2024.03.30 00:04:43.517 2024.03.30 00:04:44.360 2024.03.29 23:20:27.090 2024.03.29 23:20:27.730
29 4.0.5.3052 2024.01.26 9a7b3 F F 859 624 2024.03.30 07:05:39.715 2024.03.30 07:05:40.574 2024.03.30 06:21:27.962 2024.03.30 06:21:28.586
30 4.0.5.3049 2024.01.25 f6b9d F F 858 624 2024.03.30 09:12:48.568 2024.03.30 09:12:49.426 2024.03.30 08:28:58.911 2024.03.30 08:28:59.535
31 4.0.5.3049 2024.01.08 b67ce F F 1030 655 2024.03.30 10:59:09.467 2024.03.30 10:59:10.497 2024.03.30 10:07:06.389 2024.03.30 10:07:07.044
32 4.0.5.3049 2024.01.08 97577 F F 1014 687 2024.03.30 16:04:07.819 2024.03.30 16:04:08.833 2024.03.30 15:12:22.221 2024.03.30 15:12:22.908
33 4.0.5.3049 2024.01.05 2d8b0 F F 1030 655 2024.03.30 19:21:55.657 2024.03.30 19:21:56.687 2024.03.30 18:30:22.803 2024.03.30 18:30:23.458
34 4.0.5.3049 2024.01.04 431e5 F F 842 624 2024.03.30 21:01:44.162 2024.03.30 21:01:45.004 2024.03.30 20:18:02.780 2024.03.30 20:18:03.404
35 4.0.5.3049 2024.01.04 e33b4 F F 843 624 2024.03.30 23:13:37.522 2024.03.30 23:13:38.365 2024.03.30 22:29:48.540 2024.03.30 22:29:49.164
36 4.0.5.3049 2024.01.04 207ef F F 843 624 2024.03.31 00:57:07.016 2024.03.31 00:57:07.859 2024.03.31 00:13:15.990 2024.03.31 00:13:16.614
37 4.0.5.3034 2023.12.12 c05ff F F 859 734 2024.03.31 06:49:42.891 2024.03.31 06:49:43.750 2024.03.31 06:05:49.503 2024.03.31 06:05:50.237
38 4.0.5.3034 2023.12.12 3a40e F F 843 624 2024.03.31 15:24:26.350 2024.03.31 15:24:27.193 2024.03.31 14:40:32.206 2024.03.31 14:40:32.830
39 4.0.5.3034 2023.12.02 5934b F F 968 624 2024.03.31 09:57:27.856 2024.03.31 09:57:28.824 2024.03.31 09:13:35.378 2024.03.31 09:13:36.002
40 4.0.5.3034 2023.12.02 7ea5a F F 843 624 2024.03.31 17:48:47.519 2024.03.31 17:48:48.362 2024.03.31 17:04:52.591 2024.03.31 17:04:53.215
41 4.0.5.3034 2023.11.30 4fbc9 F F 858 734 2024.03.31 19:49:41.103 2024.03.31 19:49:41.961 2024.03.31 19:05:43.832 2024.03.31 19:05:44.566

Elapsed time, ms. Chart for last 41 runs:

Last commits information (all timestamps in UTC):