mysql-test backup fails on 5.0.77 with -DUNIV_SYNC_DEBUG
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Percona patches |
Fix Released
|
High
|
Unassigned | ||
Bug Description
$ ./mtr
Skipping SSL, mysqld not compiled with SSL
Using MTR_BUILD_THREAD = 0
Using MASTER_MYPORT = 9306
Using MASTER_MYPORT1 = 9307
Using SLAVE_MYPORT = 9308
Using SLAVE_MYPORT1 = 9309
Using SLAVE_MYPORT2 = 9310
Using IM_PORT = 9313
Using IM_MYSQLD1_PORT = 9314
Using IM_MYSQLD2_PORT = 9315
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Installing Master Database
Installing Slave1 Database
Installing Slave2 Database
Installing Slave3 Database
=======
Starting Tests in the 'main' suite
TEST RESULT TIME (ms)
-------
alias [ pass ] 14
almost_full [ pass ] 49
alter_table-big [ skipped ] Test need 'big-test' option
alter_table [ pass ] 718
analyse [ pass ] 47
analyze [ pass ] 21
ansi [ pass ] 16
archive-big [ skipped ] Test need 'big-test' option
archive [ skipped ] Test requires: 'have_archive'
archive_gis [ skipped ] Test requires: 'have_archive'
auto_increment [ pass ] 189
mysql-test-run: WARNING: Process 17036 died
backup [ fail ]
ERROR: Failed to start master mysqld 0
Aborting: backup failed in default mode.
To continue, re-run with '--force'.
Stopping All Servers
mysql-test-run: WARNING: caught exit of unknown child -1
mysql-test-run: WARNING: Forcing kill of process 17036
However if you run 'backup' only - it succeeds
Here is a piece of the .err log
CURRENT_TEST: backup
InnoDB: !!!!!!!!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!!!!!!!
InnoDB: use atomic builtins.
InnoDB error: sync levels should be > 150 but a level is 149
Mutex created at buf0buf.c 498
InnoDB: Locked mutex: addr 0x2aaaab655110 thread 46912496179344 file buf0buf.c line 1823
090530 15:13:32InnoDB: Assertion failure in thread 46912496179344 in file sync0sync.c line 1112
InnoDB: Failing assertion: sync_thread_
Related branches
| Changed in percona-patches: | |
| status: | Fix Committed → Fix Released |
Basically, the level of the new mutex/rw_lock are set SYNC_NO_ORDER_CHECK by split_buf_ pool_mutex. patch .
So, currently, UNIV_SYNC_DEBUG is useless mode. (It cannot check the new latch orders).
This assertion is caused by changing latch order between block->mutex and buf_pool->mutex.
The patched buf_pool->mutex protects only aio flags.
Do you want to make the UNIV_SYNC_DEBUG sense?
The latching order is different from XtraDB's patch.
So,,, I need time to reinvestigation to make sense.
Thank you