mysql-test backup fails on 5.0.77 with -DUNIV_SYNC_DEBUG

Bug #381893 reported by Aleksandr Kuzminsky
6
This bug affects 1 person
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_levels_g(array, SYNC_BUF_POOL)

Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

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

Changed in percona-patches:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

OK. I must implement it for update detection in the future.
I must patch to new function which uses buf_pool->mutex for 5.0.82

Changed in percona-patches:
assignee: nobody → Yasufumi Kinoshita (yasufumi-kinoshita)
importance: Low → High
Revision history for this message
Yasufumi Kinoshita (yasufumi-kinoshita) wrote :

This bug may be fixed at the branch.
lp:~percona-dev/percona-patches/5.0.82-backport-xtradb

Changed in percona-patches:
status: Confirmed → Fix Committed
Changed in percona-patches:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.