| Bug #29806 | binlog_innodb.test creates a server log | ||
|---|---|---|---|
| Submitted: | 15 Jul 2007 12:18 | Modified: | 2 Aug 2007 17:24 |
| Reporter: | Ingo Strüwing | ||
| Status: | Closed | ||
| Category: | Server: Locking | Severity: | S1 (Critical) |
| Version: | 5.1.21 | OS: | Any |
| Assigned to: | Sergey Vojtovich | Target Version: | |
[17 Jul 2007 9:30]
Ingo Strüwing
The same is somtimes reported for 'binlog_killed'. NOTE I am going to disable this test too. Please re-enable after fixing this. BTW, my initial disabling failed as I entered the test in the wrong disabled.def file.
[23 Jul 2007 21:41]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/31420 ChangeSet@1.2559, 2007-07-24 04:32:40+05:00, svoj@mysql.com +5 -0 BUG#29806 - binlog_innodb.test creates a server log Stopping mysql server could result in an entry in mysql error file: "InnoDB: Error: MySQL is freeing a thd". This happened because InnoDB assumes that the server will never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed. Prior to this patch we haven't had strict definition whether external_lock(F_UNLCK) must be called in case external_lock(READ/WRITE) fails. This patch states that we never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) fails.
[24 Jul 2007 0:06]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/31438 ChangeSet@1.2559, 2007-07-23 20:58:24+05:00, svoj@mysql.com +5 -0 BUG#29806 - binlog_innodb.test creates a server log Stopping mysql server could result in an entry in mysql error file: "InnoDB: Error: MySQL is freeing a thd". This happened because InnoDB assumes that the server will never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed. Prior to this patch we haven't had strict definition whether external_lock(F_UNLCK) must be called in case external_lock(READ/WRITE) fails. This patch states that we never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) fails.
[25 Jul 2007 13:05]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/31537 ChangeSet@1.2559, 2007-07-25 19:56:17+05:00, svoj@mysql.com +5 -0 BUG#29806 - binlog_innodb.test creates a server log Stopping mysql server could result in an entry in mysql error file: "InnoDB: Error: MySQL is freeing a thd". This happened because InnoDB assumes that the server will never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) failed. Prior to this patch we haven't had strict definition whether external_lock(F_UNLCK) must be called in case external_lock(READ/WRITE) fails. This patch states that we never call external_lock(F_UNLCK) in case external_lock(READ/WRITE) fails.
[27 Jul 2007 18:49]
Bugs System
Pushed into 5.1.21-beta
[2 Aug 2007 17:24]
Paul DuBois
No changelog entry needed.

Description: From master.err: 070715 13:01:19 InnoDB: Error: MySQL is freeing a thd InnoDB: though trx->n_mysql_tables_in_use is 4294967294 InnoDB: and trx->mysql_n_tables_locked is 2011. TRANSACTION 0 801, not started, process no 31783, OS thread id 3010534288 mysql tables in use 4294967294, locked 2011 MySQL thread id 1, query id 2081 localhost root len 892; hex 065c6e05a2ae810800000000010000006ff0994601000000010000000100000000000000210300000100000014000000000000004d7953514c586964010000001c08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000022030000000000000000000000000000d60c050000000000000000000c00000000000000c09b0009f49b0009000000009d6f020000000000a2ae81080000000000000000000000000000000000000000901b71b3277c00000000000000000000feffffffdb0700000000000000000000102700000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000e883beb701000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028acbeb700000000000000000000000028f8beb7000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000030000000000000000000000cc1381082b00000000000000000000000000000000000000c062bfb798ae81089100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000; asc \n o F ! MySQLXid " o q '| ' ( ( + b ; I guess that this existed for some time already, but nowadays it makes pushbuild cells red. Hence S1/P1. NOTE: I am going to disable binlog_innodb. Please re-enable after this is fixed. How to repeat: bk clone bk-internal.mysql.com:/home/bk/mysql-5.1 'mysql-5.1-amain' cd 'mysql-5.1-amain' BUILD/compile-pentium-debug-max --with-debug=full cd mysql-test ./mysql-test-run.pl --mysqld=--binlog-format=statement binlog_innodb cat var/log/master.err