mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-26 16:38:11 +01:00 
			
		
		
		
	 bb2e125d07
			
		
	
	
	bb2e125d07
	
	
	
		
			
			This excludes commit040069f4babecause it is specific to innodb_sync_debug, which had been removed in commitff5d306e29.
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --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
 | |
| 
 | |
| call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
 | |
| call mtr.add_suppression("MariaDB thread id .*, query id .* localhost.*root Checking table");
 | |
| flush tables;
 | |
| # Avoid CrashReporter popup on Mac
 | |
| --source include/not_crashrep.inc
 | |
| 
 | |
| 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
 | |
| SET SESSION debug_dbug="d,crash_before_flush_keys";
 | |
| 
 | |
| --echo # Write file to make mysql-test-run.pl expect crash
 | |
| --write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| 
 | |
| --echo # Run the crashing query
 | |
| --error 2013
 | |
| FLUSH TABLE t1;
 | |
| 
 | |
| --echo # Write file to make mysql-test-run.pl start the server 
 | |
| --write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| 
 | |
| --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
 | |
| 
 | |
| # Must report that the table wasn't closed properly
 | |
| CHECK TABLE t1;
 | |
| DROP TABLE t1;
 |