2009-04-06 12:31:17 +05:30
|
|
|
--echo #
|
|
|
|
--echo # BUG#41330 - Myisam table open count set to zero before index blocks are written.
|
|
|
|
--echo #
|
|
|
|
--source include/not_embedded.inc
|
|
|
|
--echo # Don't test this under valgrind, memory leaks will occur
|
|
|
|
--source include/not_valgrind.inc
|
|
|
|
|
|
|
|
--echo # Binary must be compiled with debug for crash to occur
|
|
|
|
--source include/have_debug.inc
|
|
|
|
|
2009-11-25 16:25:01 +04:00
|
|
|
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
|
2021-03-18 13:17:30 +05:30
|
|
|
call mtr.add_suppression("MariaDB thread id .*, query id .* localhost.*root Checking table");
|
2011-12-30 11:22:27 +01:00
|
|
|
flush tables;
|
2011-03-15 16:06:59 +01:00
|
|
|
# Avoid CrashReporter popup on Mac
|
|
|
|
--source include/not_crashrep.inc
|
2009-11-25 16:25:01 +04:00
|
|
|
|
2009-04-06 12:31:17 +05:30
|
|
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
|
|
|
SET GLOBAL delay_key_write=ALL;
|
|
|
|
CREATE TABLE t1(a INT,
|
|
|
|
b INT,
|
|
|
|
PRIMARY KEY(a , b),
|
|
|
|
KEY(b)) ENGINE=MyISAM DELAY_KEY_WRITE = 1;
|
|
|
|
INSERT INTO t1 VALUES (1,2),(2,3),(3,4),(4,5),(5,6);
|
|
|
|
|
|
|
|
--echo # Setup the mysqld to crash at certain point
|
2011-12-15 22:07:58 +01:00
|
|
|
SET SESSION debug_dbug="d,crash_before_flush_keys";
|
2009-04-06 12:31:17 +05:30
|
|
|
|
|
|
|
--echo # Write file to make mysql-test-run.pl expect crash
|
MDEV-16944 Fix file sharing issues on Windows in mysqltest
On Windows systems, occurrences of ERROR_SHARING_VIOLATION due to
conflicting share modes between processes accessing the same file can
result in CreateFile failures.
mysys' my_open() already incorporates a workaround by implementing
wait/retry logic on Windows.
But this does not help if files are opened using shell redirection like
mysqltest traditionally did it, i.e via
--echo exec "some text" > output_file
In such cases, it is cmd.exe, that opens the output_file, and it
won't do any sharing-violation retries.
This commit addresses the issue by introducing a new built-in command,
'write_line', in mysqltest. This new command serves as a brief alternative
to 'write_file', with a single line output, that also resolves variables
like "exec" would.
Internally, this command will use my_open(), and therefore retry-on-error
logic.
Hopefully this will eliminate the very sporadic "can't open file because
it is used by another process" error on CI.
2024-04-15 15:46:50 +02:00
|
|
|
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
2009-04-06 12:31:17 +05:30
|
|
|
|
|
|
|
--echo # Run the crashing query
|
|
|
|
--error 2013
|
|
|
|
FLUSH TABLE t1;
|
|
|
|
|
|
|
|
--echo # Write file to make mysql-test-run.pl start the server
|
MDEV-16944 Fix file sharing issues on Windows in mysqltest
On Windows systems, occurrences of ERROR_SHARING_VIOLATION due to
conflicting share modes between processes accessing the same file can
result in CreateFile failures.
mysys' my_open() already incorporates a workaround by implementing
wait/retry logic on Windows.
But this does not help if files are opened using shell redirection like
mysqltest traditionally did it, i.e via
--echo exec "some text" > output_file
In such cases, it is cmd.exe, that opens the output_file, and it
won't do any sharing-violation retries.
This commit addresses the issue by introducing a new built-in command,
'write_line', in mysqltest. This new command serves as a brief alternative
to 'write_file', with a single line output, that also resolves variables
like "exec" would.
Internally, this command will use my_open(), and therefore retry-on-error
logic.
Hopefully this will eliminate the very sporadic "can't open file because
it is used by another process" error on CI.
2024-04-15 15:46:50 +02:00
|
|
|
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
2009-04-06 12:31:17 +05:30
|
|
|
|
|
|
|
--echo # Turn on reconnect
|
|
|
|
--enable_reconnect
|
|
|
|
|
|
|
|
--echo # Call script that will poll the server waiting for
|
|
|
|
--echo # it to be back online again
|
|
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
|
2009-10-14 16:26:16 +05:00
|
|
|
# Must report that the table wasn't closed properly
|
|
|
|
CHECK TABLE t1;
|
2009-04-06 12:31:17 +05:30
|
|
|
DROP TABLE t1;
|