Bug #45778 falcon_deadlock fails when query succeeds instead of being blocked
Submitted: 26 Jun 2009 7:41 Modified: 1 Aug 2009 9:46
Reporter: Olav Sandstå Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.12-alpha OS:Linux
Assigned to: CPU Architecture:Any

[26 Jun 2009 7:41] Olav Sandstå
Description:
Running the falcon_deadlock test occasionally fails with the following output:

======================================================================

falcon.falcon_deadlock                   [ fail ]
        Test ended at 2009-06-26 09:19:28

CURRENT_TEST: falcon.falcon_deadlock
mysqltest: At line 71: query 'reap' succeeded - should have failed with errno 10
20...

The result from queries just before the failure was:
< snip >
# Switch to connection conn1
CREATE TABLE t1 (
id integer,
x integer
);
INSERT INTO t1 VALUES (0, 0);
SET @@autocommit = 0;
SELECT * FROM t1 WHERE id = 0 FOR UPDATE;
id      x
0       0
# Switch to connection conn2
SET @@autocommit = 0;
UPDATE t1 SET x = 2 WHERE id = 0;
# Switch to connection conn1
UPDATE t1 SET x = 1 WHERE id = 0;
SELECT * FROM t1;
id      x
0       1
COMMIT;
# Switch to connection conn2

======================================================================

How to repeat:
Using recent source from the mysql-6.0-falcon-team tree and run the following test:

./mysql-test-run.pl --suite=falcon --mem  falcon_deadlock

The failure (at least on two of my machines) shows up within the first ten runs of the test.
[26 Jun 2009 13:19] MySQL Verification Team
I couldn't repeat on Windows Vista 64-bit:

c:\build\mysql-6.0-falcon-team\mysql-test>perl mysql-test-run.pl --suite=falcon --mem  falcon_deadlock
Found handle.exe version 3.42
Logging: mysql-test-run.pl  --suite=falcon --mem falcon_deadlock
090626 10:16:58 [Warning] Forcing shutdown of 1 plugins
MySQL Version 6.0.12
Checking supported features...
 - skipping ndbcluster, mysqld not compiled with ndbcluster
 - SSL connections supported
 - binaries are debug compiled
Collecting tests...
vardir: c:/build/mysql-6.0-falcon-team/mysql-test/var
Checking leftover processes...
 - found old pid 4892 in 'mysqld.1.pid', killing it...
   process did not exist!
Removing old var directory...
Creating var directory 'c:/build/mysql-6.0-falcon-team/mysql-test/var'...
Installing system database...
Using server port 61273

==============================================================================

TEST                                      RESULT   TIME (ms)
------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
falcon.falcon_deadlock                   [ pass ]   3338
------------------------------------------------------------
The servers were restarted 0 times
Spent 3.338 of 58 seconds executing testcases

All 1 tests were successful.
[1 Jul 2009 9:46] Sveta Smirnova
Thank you for the report.

I can not repeat it as well:

...
falcon.falcon_deadlock                   [ pass ]   3064
falcon.falcon_deadlock                   [ pass ]   3063
falcon.falcon_deadlock                   [ pass ]   3061
------------------------------------------------------------
The servers were restarted 0 times
Spent 1394.223 of 1765 seconds executing testcases

All 453 tests were successful.

Please indicate which platform details and compile options you used.
[1 Jul 2009 9:49] Sveta Smirnova
Please indicate if it is repeatable with latest sources also: I could repeat test failure, although in another place, with a bit outdated sources.
[1 Aug 2009 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".