Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Won't Fix
    • None
    • N/A
    • Tests
    • None

    Description

      As an result of the patch invokation and probably some wrong .rdiff files, there is an error of applied patch.
      Example can be seen in buildbot :

      worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
      innodb.default_row_format_create 'compact,innodb' [ pass ]    432
      1 out of 1 hunk FAILED -- saving rejects to file -
      

      or other example in buildbot

      main.mysql_upgrade_ssl 'innodb'          w2 [ pass ]   6362
      2 out of 2 hunks FAILED
      main.mysqldump-system 'innodb,win'       w2 [ skipped ]  Need auth socket plugin
      main.old-mode                            w3 [ pass ]    104
      

      At may happen that the error occurs because return error after patch invocation is not checked in the caller.

      Attachments

        Activity

          This was kind of intentional, because normally if patch fails to apply the patch, then *.result~ file will be incorrect and the test will fails. So patch failures will always be detected.

          serg Sergei Golubchik added a comment - This was kind of intentional, because normally if patch fails to apply the patch, then *.result~ file will be incorrect and the test will fails. So patch failures will always be detected.
          anel Anel Husakovic added a comment - - edited

          Well in my case I got the false result.
          When patch failed and after if --record is applied, error is not visible on stdout, meaning command was successful, but since there is an error, result file is not created.
          Here is the example bb-10.7-anel-MDEV-12459-temp-table

          #
          # Run the test - output: error - comment: OK:
          #
          anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create
          Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl  default_row_format_create
          vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var
          Checking leftover processes...
          Removing old var directory...
          Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'...
          Checking supported features...
          MariaDB Version 10.7.0-MariaDB-debug
           - SSL connections supported
           - binaries are debug compiled
           - binaries built with wsrep patch
          Collecting tests...
          Installing system database...
           
          ==============================================================================
           
          TEST                                      RESULT   TIME (ms) or COMMENT
          --------------------------------------------------------------------------
           
          worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
          innodb.default_row_format_create 'compact,innodb' [ pass ]    139
          innodb.default_row_format_create 'dynamic,innodb' [ fail ]
                  Test ended at 2021-09-06 08:11:11
           
          CURRENT_TEST: innodb.default_row_format_create
          --- /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~	2021-09-06 08:10:50.319627772 +0200
          +++ /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject	2021-09-06 08:11:11.047887735 +0200
          @@ -1,7 +1,7 @@
           CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
           SHOW TABLE STATUS LIKE 't1';
           Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment	Max_index_length
          -t1	InnoDB	#	Compact	#	#	#	#	#	#	NULL	#	NULL	NULL	latin1_swedish_ci	NULL			0
          +t1	InnoDB	#	Dynamic	#	#	#	#	#	#	NULL	#	NULL	NULL	latin1_swedish_ci	NULL			0
           DROP TABLE t1;
           CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
           SHOW TABLE STATUS LIKE 't1';
           
          mysqltest: Result content mismatch
           
           - saving '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var/log/innodb.default_row_format_create-dynamic,innodb/' to '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var/log/innodb.default_row_format_create-dynamic,innodb/'
           
          Only  2  of 3 completed.
          --------------------------------------------------------------------------
          The servers were restarted 1 times
          Spent 0.139 of 5 seconds executing testcases
           
          Failure: Failed 1/2 tests, 50.00% were successful.
           
          Failing test(s): innodb.default_row_format_create
          
          

          #
          # Record the test - output: no errors shown  - comment: seems as OK, but is NOT OK:
          #
          anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create --record
          Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl  default_row_format_create --record
          vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var
          Checking leftover processes...
          Removing old var directory...
          Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'...
          Checking supported features...
          MariaDB Version 10.7.0-MariaDB-debug
           - SSL connections supported
           - binaries are debug compiled
           - binaries built with wsrep patch
          Collecting tests...
          Installing system database...
           
          ==============================================================================
           
          TEST                                      RESULT   TIME (ms) or COMMENT
          --------------------------------------------------------------------------
           
          worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
          innodb.default_row_format_create 'compact,innodb' [ pass ]    149
          1 out of 1 hunk FAILED
          innodb.default_row_format_create 'dynamic,innodb' [ pass ]    141
          2 out of 2 hunks FAILED
          innodb.default_row_format_create 'innodb,redundant' [ pass ]    121
          --------------------------------------------------------------------------
          The servers were restarted 2 times
          Spent 0.411 of 6 seconds executing testcases
           
          Completed: All 3 tests were successful.
          

          #
          # Run tests again - output: no error,  comment: seems like `result` file is applied sine there is no error, but not:
          #
          anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create
          Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl  default_row_format_create
          vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var
          Checking leftover processes...
          Removing old var directory...
          Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'...
          Checking supported features...
          MariaDB Version 10.7.0-MariaDB-debug
           - SSL connections supported
           - binaries are debug compiled
           - binaries built with wsrep patch
          Collecting tests...
          Installing system database...
           
          ==============================================================================
           
          TEST                                      RESULT   TIME (ms) or COMMENT
          --------------------------------------------------------------------------
           
          worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
          innodb.default_row_format_create 'compact,innodb' [ pass ]    140
          innodb.default_row_format_create 'dynamic,innodb' [ pass ]    143
          innodb.default_row_format_create 'innodb,redundant' [ pass ]    127
          --------------------------------------------------------------------------
          The servers were restarted 2 times
          Spent 0.410 of 7 seconds executing testcases
           
          Completed: All 3 tests were successful.
          

           
          #
          # Inspect files in source directory , comment: No result file of test innodb.default_*
          #
          anel@anel:~/mariadb/10.7$ git status
          On branch bb-10.7-anel-MDEV-12459-temp-tables-v3
          Changes not staged for commit:
            (use "git add <file>..." to update what will be committed)
            (use "git checkout -- <file>..." to discard changes in working directory)
           
          	modified:   mysql-test/main/temp_table_is.result
          	modified:   mysql-test/main/temp_table_is.test
           
          no changes added to commit (use "git add" and/or "git commit -a")
          
          

          #
          # Check the resulting files
          #
           
          anel@anel:~/mariadb/10.7$ find .|grep default_row_format_create
          ./mysql-test/suite/innodb/r/default_row_format_create,redundant.reject
          ./mysql-test/suite/innodb/r/default_row_format_create,redundant.result~
          ./mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff
          ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff
          ./mysql-test/suite/innodb/r/default_row_format_create.result
          ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~
          ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject
          ./mysql-test/suite/innodb/t/default_row_format_create.test
          

          Assuming that the error exists in the test case and when patch is applied we got the error, why --record lied about, showing good result on stdout while not generating the result file?

          Shouldn't we prevent such behavior by generating the error on the place of occurrence ?
          Suggested patch bb-10.7-anel-MDEV-26531-mtr-hunks :f f0ece7085590a52cd did the following in above example:

          ==============================================================================
           
          TEST                                      RESULT   TIME (ms) or COMMENT
          --------------------------------------------------------------------------
           
          worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
          innodb.default_row_format_create 'compact,innodb' [ pass ]    133
          1 out of 1 hunk FAILED
          system(patch -r - -f -s -o /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~ /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create.result /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff) : 256 at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3282.
           
          Only  1  of 3 completed.
          --------------------------------------------------------------------------
          The servers were restarted 0 times
          Spent 0.133 of 4 seconds executing testcases
           
          Completed: All 1 tests were successful.
           
          mysql-test-run: *** ERROR: Not all tests completed (only 1 of 3)
          

          The child error signal is 256 (or 2).
          When using the patch:

          +use autodie qw( system );
          

          we can get full stack trace:

          worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
          innodb.default_row_format_create 'compact,innodb' [ pass ]     30
          1 out of 1 hunk FAILED
          "patch" unexpectedly returned exit value 1 at /usr/share/perl5/IPC/System/Simple.pm line 566.
          	IPC::System::Simple::_check_exit("patch", 1, ARRAY(0x55a8650f6fa0)) called at /usr/share/perl5/IPC/System/Simple.pm line 538
          	IPC::System::Simple::_process_child_error(256, "patch", ARRAY(0x55a8650f6fa0)) called at /usr/share/perl5/IPC/System/Simple.pm line 205
          	IPC::System::Simple::runx(ARRAY(0x55a8650f6fa0), "patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /usr/share/perl5/IPC/System/Simple.pm line 163
          	IPC::System::Simple::run("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at (eval 27) line 12
          	eval {...} called at (eval 27) line 11
          	Fatal::__ANON__("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 4895
          	main::run_system("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3284
          	main::do_before_run_mysqltest(My::Test=HASH(0x55a865127530)) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3911
          	main::run_testcase(My::Test=HASH(0x55a865127530), IO::Socket::INET=GLOB(0x55a86502b700)) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 963
          	main::run_worker(44095, 1) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 476
          	main::main() called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 348
           at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 4895
           
          Only  1  of 3 completed.
          --------------------------------------------------------------------------
          The servers were restarted 0 times
          Spent 0.030 of 2 seconds executing testcases
           
          Completed: All 1 tests were successful.
           
          mysql-test-run: *** ERROR: Not all tests completed (only 1 of 3)
          

          However I don't know how to solve this bug.

          Also noted that generated files are not visible, but are cleaned:

          $ git status
          On branch bb-10.7-anel-MDEV-12459-temp-tables-v3
          nothing to commit, working tree clean
          $ git clean -dffx
          Removing mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject
          Removing mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~
          Removing mysql-test/suite/innodb/r/default_row_format_create,redundant.result~
          

          anel Anel Husakovic added a comment - - edited Well in my case I got the false result. When patch failed and after if --record is applied, error is not visible on stdout , meaning command was successful, but since there is an error, result file is not created. Here is the example bb-10.7-anel-MDEV-12459-temp-table # # Run the test - output: error - comment: OK: # anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl default_row_format_create vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var Checking leftover processes... Removing old var directory... Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'... Checking supported features... MariaDB Version 10.7.0-MariaDB-debug - SSL connections supported - binaries are debug compiled - binaries built with wsrep patch Collecting tests... Installing system database...   ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.default_row_format_create 'compact,innodb' [ pass ] 139 innodb.default_row_format_create 'dynamic,innodb' [ fail ] Test ended at 2021-09-06 08:11:11   CURRENT_TEST: innodb.default_row_format_create --- /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~ 2021-09-06 08:10:50.319627772 +0200 +++ /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject 2021-09-06 08:11:11.047887735 +0200 @@ -1,7 +1,7 @@ CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB; SHOW TABLE STATUS LIKE 't1'; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment Max_index_length -t1 InnoDB # Compact # # # # # # NULL # NULL NULL latin1_swedish_ci NULL 0 +t1 InnoDB # Dynamic # # # # # # NULL # NULL NULL latin1_swedish_ci NULL 0 DROP TABLE t1; CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC; SHOW TABLE STATUS LIKE 't1';   mysqltest: Result content mismatch   - saving '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var/log/innodb.default_row_format_create-dynamic,innodb/' to '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var/log/innodb.default_row_format_create-dynamic,innodb/'   Only 2 of 3 completed. -------------------------------------------------------------------------- The servers were restarted 1 times Spent 0.139 of 5 seconds executing testcases   Failure: Failed 1/2 tests, 50.00% were successful.   Failing test(s): innodb.default_row_format_create # # Record the test - output: no errors shown - comment: seems as OK, but is NOT OK: # anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create --record Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl default_row_format_create --record vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var Checking leftover processes... Removing old var directory... Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'... Checking supported features... MariaDB Version 10.7.0-MariaDB-debug - SSL connections supported - binaries are debug compiled - binaries built with wsrep patch Collecting tests... Installing system database...   ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.default_row_format_create 'compact,innodb' [ pass ] 149 1 out of 1 hunk FAILED innodb.default_row_format_create 'dynamic,innodb' [ pass ] 141 2 out of 2 hunks FAILED innodb.default_row_format_create 'innodb,redundant' [ pass ] 121 -------------------------------------------------------------------------- The servers were restarted 2 times Spent 0.411 of 6 seconds executing testcases   Completed: All 3 tests were successful. # # Run tests again - output: no error, comment: seems like `result` file is applied sine there is no error, but not: # anel@anel:~/mariadb/builds/10.7-debug-type/mysql-test$ ./mtr default_row_format_create Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl default_row_format_create vardir: /home/anel/mariadb/builds/10.7-debug-type/mysql-test/var Checking leftover processes... Removing old var directory... Creating var directory '/home/anel/mariadb/builds/10.7-debug-type/mysql-test/var'... Checking supported features... MariaDB Version 10.7.0-MariaDB-debug - SSL connections supported - binaries are debug compiled - binaries built with wsrep patch Collecting tests... Installing system database...   ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.default_row_format_create 'compact,innodb' [ pass ] 140 innodb.default_row_format_create 'dynamic,innodb' [ pass ] 143 innodb.default_row_format_create 'innodb,redundant' [ pass ] 127 -------------------------------------------------------------------------- The servers were restarted 2 times Spent 0.410 of 7 seconds executing testcases   Completed: All 3 tests were successful.   # # Inspect files in source directory , comment: No result file of test innodb.default_* # anel@anel:~/mariadb/10.7$ git status On branch bb-10.7-anel-MDEV-12459-temp-tables-v3 Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory)   modified: mysql-test/main/temp_table_is.result modified: mysql-test/main/temp_table_is.test   no changes added to commit (use "git add" and/or "git commit -a") # # Check the resulting files #   anel@anel:~/mariadb/10.7$ find .|grep default_row_format_create ./mysql-test/suite/innodb/r/default_row_format_create,redundant.reject ./mysql-test/suite/innodb/r/default_row_format_create,redundant.result~ ./mysql-test/suite/innodb/r/default_row_format_create,redundant.rdiff ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff ./mysql-test/suite/innodb/r/default_row_format_create.result ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~ ./mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject ./mysql-test/suite/innodb/t/default_row_format_create.test Assuming that the error exists in the test case and when patch is applied we got the error, why --record lied about, showing good result on stdout while not generating the result file? Shouldn't we prevent such behavior by generating the error on the place of occurrence ? Suggested patch bb-10.7-anel-MDEV-26531-mtr-hunks :f f0ece7085590a52cd did the following in above example: ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.default_row_format_create 'compact,innodb' [ pass ] 133 1 out of 1 hunk FAILED system(patch -r - -f -s -o /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~ /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create.result /home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row_format_create,dynamic.rdiff) : 256 at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3282.   Only 1 of 3 completed. -------------------------------------------------------------------------- The servers were restarted 0 times Spent 0.133 of 4 seconds executing testcases   Completed: All 1 tests were successful.   mysql-test-run: *** ERROR: Not all tests completed (only 1 of 3) The child error signal is 256 (or 2). When using the patch: +use autodie qw( system ); we can get full stack trace: worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.default_row_format_create 'compact,innodb' [ pass ] 30 1 out of 1 hunk FAILED "patch" unexpectedly returned exit value 1 at /usr/share/perl5/IPC/System/Simple.pm line 566. IPC::System::Simple::_check_exit("patch", 1, ARRAY(0x55a8650f6fa0)) called at /usr/share/perl5/IPC/System/Simple.pm line 538 IPC::System::Simple::_process_child_error(256, "patch", ARRAY(0x55a8650f6fa0)) called at /usr/share/perl5/IPC/System/Simple.pm line 205 IPC::System::Simple::runx(ARRAY(0x55a8650f6fa0), "patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /usr/share/perl5/IPC/System/Simple.pm line 163 IPC::System::Simple::run("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at (eval 27) line 12 eval {...} called at (eval 27) line 11 Fatal::__ANON__("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 4895 main::run_system("patch", "-r", "-", "-f", "-s", "-o", "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., "/home/anel/mariadb/10.7/mysql-test/suite/innodb/r/default_row"..., ...) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3284 main::do_before_run_mysqltest(My::Test=HASH(0x55a865127530)) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 3911 main::run_testcase(My::Test=HASH(0x55a865127530), IO::Socket::INET=GLOB(0x55a86502b700)) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 963 main::run_worker(44095, 1) called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 476 main::main() called at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 348 at /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl line 4895   Only 1 of 3 completed. -------------------------------------------------------------------------- The servers were restarted 0 times Spent 0.030 of 2 seconds executing testcases   Completed: All 1 tests were successful.   mysql-test-run: *** ERROR: Not all tests completed (only 1 of 3) However I don't know how to solve this bug. Also noted that generated files are not visible, but are cleaned: $ git status On branch bb-10.7-anel-MDEV-12459-temp-tables-v3 nothing to commit, working tree clean $ git clean -dffx Removing mysql-test/suite/innodb/r/default_row_format_create,dynamic.reject Removing mysql-test/suite/innodb/r/default_row_format_create,dynamic.result~ Removing mysql-test/suite/innodb/r/default_row_format_create,redundant.result~

          serg there is a bug in checking the system return code in mtr.
          as per https://perldoc.perl.org/functions/system
          system() return code should be 0, and only then you can check $? >> 8

          wlad Vladislav Vaintroub added a comment - serg there is a bug in checking the system return code in mtr. as per https://perldoc.perl.org/functions/system system() return code should be 0, and only then you can check $? >> 8

          anel, I don't understand the problem. What does --record has to do with all that? It doesn't work with patches and rdiffs anyway. What is the bug you're trying to fix?

          serg Sergei Golubchik added a comment - anel , I don't understand the problem. What does --record has to do with all that? It doesn't work with patches and rdiffs anyway. What is the bug you're trying to fix?

          Hi serg

          • The patch is trying to expose the error in the case of `patch` failure, like this amd64-debian-sid:

            1 out of 1 hunk FAILED
            system(patch -r - -f -s -o /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge,release.result~ /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge.result /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge,release.rdiff) : 256 at mysql-test-run.pl line 3283.
            

            Or for amd64-windows:

            missing header for unified diff at line 1 of patch
            1 out of 1 hunk FAILED -- saving rejects to file -
            system(patch --binary -r - -f -s -o D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.result~ D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug.result D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff) : 256 at mysql-test-run.pl line 3283.
            innodb.innodb-alter-tempfile '8k,innodb' w4 [ pass ]   6223
            

          However,

          • I was working on the clean 10.7 trying to reproduce again the failure, but I could only once, but nondeterministic IMHO.

            $ ./mtr instant_alter_debug 
            Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl  instant_alter_debug
            VS config: 
            vardir: /home/anel/mariadb/builds/10.7/mysql-test/var
            Checking leftover processes...
            Removing old var directory...
             - WARNING: Using the 'mysql-test/var' symlink
            Creating var directory '/home/anel/mariadb/builds/10.7/mysql-test/var'...
            Checking supported features...
            MariaDB Version 10.7.2-MariaDB-debug
             - SSL connections supported
             - binaries are debug compiled
             - binaries built with wsrep patch
            Collecting tests...
            Installing system database...
             
            ==============================================================================
             
            TEST                                      RESULT   TIME (ms) or COMMENT
            --------------------------------------------------------------------------
             
            worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
            1 out of 1 hunk FAILED
            innodb.instant_alter_debug 'dynamic,innodb' [ pass ]   1039
            innodb.instant_alter_debug 'innodb,redundant' [ pass ]   1030
            --------------------------------------------------------------------------
            The servers were restarted 1 times
            Spent 2.069 of 4 seconds executing testcases
             
            Completed: All 2 tests were successful.
            

          • Also have tried with other successive tests (bug again couldn't reproduce):

            $ ./mtr innodb.innodb-change-buffer-recovery instant_alter_debug
            $ ./mtr innodb.blob-crash innodb.innodb_bug30113362 default_row_format_create instant_alter_purge --verbose-restart --vardir=/dev/shm/var --parallel=4 --force --retry=3 --max-save-core=0 --max-save-datadir=1
            

            Also tried to do the same on windows based on windowsx64-debug builds

            D:\server\bld_10.7\mysql-test>perl mariadb-test-run.pl innodb.innodb_bug30113362
            Logging: D:/server/mysql-test/mariadb-test-run.pl  innodb.innodb_bug30113362
            VS config: Debug
            vardir: D:/server/bld_10.7/mysql-test/var
            Removing old var directory...
            Creating var directory 'D:/server/bld_10.7/mysql-test/var'...
            Checking supported features...
            MariaDB Version 10.7.2-MariaDB-debug
             - SSL connections supported
             - binaries are debug compiled
            Collecting tests...
            Installing system database...
             
            ==============================================================================
             
            TEST                                      RESULT   TIME (ms) or COMMENT
            --------------------------------------------------------------------------
             
            worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
            innodb.innodb_bug30113362 'innodb'       [ pass ]  57483
            --------------------------------------------------------------------------
            The servers were restarted 0 times
            Spent 57.483 of 1497 seconds executing testcases
             
            Completed: All 1 tests were successful.
            

          • Conclusion: I'm ok if you think this is not important at all.
          anel Anel Husakovic added a comment - Hi serg The patch is trying to expose the error in the case of `patch` failure, like this amd64-debian-sid : 1 out of 1 hunk FAILED system(patch -r - -f -s -o /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge,release.result~ /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge.result /buildbot/amd64-debian-sid/build/mysql-test/suite/innodb/r/instant_alter_purge,release.rdiff) : 256 at mysql-test-run.pl line 3283. Or for amd64-windows : missing header for unified diff at line 1 of patch 1 out of 1 hunk FAILED -- saving rejects to file - system(patch --binary -r - -f -s -o D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.result~ D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug.result D:/Buildbot/amd64-windows/build/mysql-test/suite/innodb/r/instant_alter_debug,dynamic.rdiff) : 256 at mysql-test-run.pl line 3283. innodb.innodb-alter-tempfile '8k,innodb' w4 [ pass ] 6223 However, I was working on the clean 10.7 trying to reproduce again the failure, but I could only once, but nondeterministic IMHO. $ ./mtr instant_alter_debug Logging: /home/anel/mariadb/10.7/mysql-test/mariadb-test-run.pl instant_alter_debug VS config: vardir: /home/anel/mariadb/builds/10.7/mysql-test/var Checking leftover processes... Removing old var directory... - WARNING: Using the 'mysql-test/var' symlink Creating var directory '/home/anel/mariadb/builds/10.7/mysql-test/var'... Checking supported features... MariaDB Version 10.7.2-MariaDB-debug - SSL connections supported - binaries are debug compiled - binaries built with wsrep patch Collecting tests... Installing system database...   ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 1 out of 1 hunk FAILED innodb.instant_alter_debug 'dynamic,innodb' [ pass ] 1039 innodb.instant_alter_debug 'innodb,redundant' [ pass ] 1030 -------------------------------------------------------------------------- The servers were restarted 1 times Spent 2.069 of 4 seconds executing testcases   Completed: All 2 tests were successful. Also have tried with other successive tests (bug again couldn't reproduce): $ ./mtr innodb.innodb-change-buffer-recovery instant_alter_debug $ ./mtr innodb.blob-crash innodb.innodb_bug30113362 default_row_format_create instant_alter_purge --verbose-restart --vardir=/dev/shm/var --parallel=4 --force --retry=3 --max-save-core=0 --max-save-datadir=1 Also tried to do the same on windows based on windowsx64-debug builds D:\server\bld_10.7\mysql-test>perl mariadb-test-run.pl innodb.innodb_bug30113362 Logging: D:/server/mysql-test/mariadb-test-run.pl innodb.innodb_bug30113362 VS config: Debug vardir: D:/server/bld_10.7/mysql-test/var Removing old var directory... Creating var directory 'D:/server/bld_10.7/mysql-test/var'... Checking supported features... MariaDB Version 10.7.2-MariaDB-debug - SSL connections supported - binaries are debug compiled Collecting tests... Installing system database...   ==============================================================================   TEST RESULT TIME (ms) or COMMENT --------------------------------------------------------------------------   worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 innodb.innodb_bug30113362 'innodb' [ pass ] 57483 -------------------------------------------------------------------------- The servers were restarted 0 times Spent 57.483 of 1497 seconds executing testcases   Completed: All 1 tests were successful. Conclusion: I'm ok if you think this is not important at all.

          People

            serg Sergei Golubchik
            anel Anel Husakovic
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.