Bug #27296 | Assertion in ALTER TABLE SET DEFAULT in Linux Debug build (possible deadlock) | ||
---|---|---|---|
Submitted: | 20 Mar 2007 16:19 | Modified: | 15 Jul 2007 9:35 |
Reporter: | Aleksey Karyakin | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Locking | Severity: | S3 (Non-critical) |
Version: | 5.0.37/5.0BK | OS: | Linux (Linux) |
Assigned to: | Konstantin Osipov | CPU Architecture: | Any |
[20 Mar 2007 16:19]
Aleksey Karyakin
[20 Mar 2007 16:46]
MySQL Verification Team
Thank you for the bug report. MyISAM engine isn't affected as 4.1 and 5.1 server version as well: [miguel@light 5.0]$ bin/mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.40-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> DROP TABLE IF EXISTS T; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> CREATE TABLE T (A INT) engine=innodb; Query OK, 0 rows affected (0.06 sec) mysql> ALTER TABLE T ALTER A SET DEFAULT 1; ERROR 2013 (HY000): Lost connection to MySQL server during query [New Thread -1264501872 (LWP 6322)] 070320 13:37:06 [Note] /home/miguel/dbs/5.0/libexec/mysqld: ready for connections. Version: '5.0.40-debug' socket: '/tmp/mysql.sock' port: 3306 Source distribution [New Thread -1264702576 (LWP 6341)] mysqld: lock.cc:1217: bool wait_if_global_read_lock(THD*, bool, bool): Assertion `! (&LOCK_open)->count || ! pthread_equal(pthread_self(), (&LOCK_open)->thread)' failed. Program received signal SIGABRT, Aborted. [Switching to Thread -1264702576 (LWP 6341)] 0x009e2402 in __kernel_vsyscall () (gdb) bt full #0 0x009e2402 in __kernel_vsyscall () No symbol table info available. #1 0x00138d40 in raise () from /lib/libc.so.6 No symbol table info available. #2 0x0013a591 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x0013238b in __assert_fail () from /lib/libc.so.6 No symbol table info available. #4 0x082136f8 in wait_if_global_read_lock (thd=0xa4fcaa0, abort_on_refresh=false, is_not_commit=false) at lock.cc:1217 old_message = 0x0 result = false need_exit_cond = false _db_func_ = 0xe <Address 0xe out of bounds> _db_file_ = 0xa4fd498 "" _db_level_ = 142731540 _db_framep_ = (char **) 0x4 __PRETTY_FUNCTION__ = "bool wait_if_global_read_lock(THD*, bool, bool)" #5 0x0830e20d in ha_commit_trans (thd=0xa4fcaa0, all=false) at handler.cc:686 <CUT> [miguel@light 5.0]$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.40-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> DROP TABLE IF EXISTS T; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE T (A INT) engine=MyISAM; Query OK, 0 rows affected (0.00 sec) mysql> ALTER TABLE T ALTER A SET DEFAULT 1; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> select version(); +--------------+ | version() | +--------------+ | 5.0.40-debug | +--------------+ 1 row in set (0.00 sec) mysql>
[20 Mar 2007 17:16]
Heikki Tuuri
This is a MySQL Server bug, not an InnoDB bug.
[15 Jul 2007 9:34]
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/30939 ChangeSet@1.2521, 2007-07-15 13:34:35+04:00, kostja@bodhi.(none) +2 -0 Add a teste case for Bug#27296 "Assertion in ALTER TABLE SET DEFAULT in Linux Debug build (possible deadlock)" The bug is not repeatable any more.
[15 Jul 2007 9:35]
Konstantin Osipov
The bug is not repeatable any more. Adding the test case to the test suite.
[17 Jul 2007 15:30]
Bugs System
Pushed into 5.0.48
[17 Jul 2007 15:31]
Bugs System
Pushed into 5.1.21-beta