| Bug #27998 | mysqld crashed when executing INSERT DELAYED on a BLACKHOLE table | ||
|---|---|---|---|
| Submitted: | 21 Apr 2007 2:12 | Modified: | 27 May 2007 19:07 |
| Reporter: | Tobias Asplund | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.1.17/5.1BK | OS: | Linux |
| Assigned to: | Sergey Vojtovich | CPU Architecture: | Any |
| Tags: | crash | ||
[21 Apr 2007 2:12]
Tobias Asplund
[21 Apr 2007 15:52]
MySQL Verification Team
Thank you for the bug report.
070421 12:49:04 [Note] /home/miguel/dbs/5.1/libexec/mysqld: ready for connections.
Version: '5.1.18-beta-debug' socket: '/tmp/mysql.sock' port: 3306 Source distribution
[New Thread -1263727728 (LWP 3089)]
[New Thread -1263928432 (LWP 3104)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1263928432 (LWP 3104)]
0x08665594 in safe_mutex_lock (mp=0xc, file=0x88095b3 "thr_lock.c", line=1329) at thr_mutex.c:97
97 if (!mp->file)
Current language: auto; currently c
(gdb) bt full
#0 0x08665594 in safe_mutex_lock (mp=0xc, file=0x88095b3 "thr_lock.c", line=1329) at thr_mutex.c:97
error = 2
#1 0x08664e51 in thr_upgrade_write_delay_lock (data=0x9c75008) at thr_lock.c:1329
lock = (THR_LOCK *) 0x0
_db_func_ = 0x8787d70 "handle_inserts"
_db_file_ = 0x8787958 "sql_insert.cc"
_db_level_ = 3
_db_framep_ = (char **) 0x9c97f1c
#2 0x08305f82 in delayed_insert::handle_inserts (this=0x9c96518) at sql_insert.cc:2254
error = 140940022
max_rows = 3031036872
using_ignore = false
using_opt_replace = false
using_bin_log = false
row = (delayed_row *) 0x1
_db_func_ = 0x8787e4c "handle_delayed_insert"
_db_file_ = 0x8787958 "sql_insert.cc"
_db_level_ = 2
_db_framep_ = (char **) 0x8669353
#3 0x08307226 in handle_delayed_insert (arg=0x9c96518) at sql_insert.cc:2139
di = (delayed_insert *) 0x9c96518
thd = (class THD *) 0x9c96528
_db_func_ = 0x880cc34 "?func"
_db_file_ = 0x880cc3a "?file"
_db_level_ = 1
_db_framep_ = (char **) 0x0
#4 0x00bac3db in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#5 0x009e026e in clone () from /lib/libc.so.6
No symbol table info available.
(gdb)
[28 Apr 2007 10: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/25665 ChangeSet@1.2649, 2007-04-28 14:37:40+05:00, svoj@mysql.com +3 -0 BUG#27998 - mysqld crashed when executing INSERT DELAYED on a BLACKHOLE table Using INSERT DELAYED on BLACKHOLE tables could lead to server crash. This happens because delayed thread wants to upgrade a lock, but BLACKHOLE tables do not have locks at all. This patch rejects attempts to use INSERT DELAYED on MERGE tables.
[10 May 2007 13:19]
Sergey Vojtovich
Docs note: with this fix, 4.1 and 5.0 reject delayed inserts with blackhole. In 5.1 delayed inserts are now supported with blackhole (thanks to fix for BUG#26241). Please update "13.2.4.2. INSERT DELAYED Syntax" manual section accordingly.
[24 May 2007 7:05]
Bugs System
Pushed into 5.1.19-beta
[24 May 2007 7:06]
Bugs System
Pushed into 5.0.44
[24 May 2007 7:07]
Bugs System
Pushed into 4.1.23
[27 May 2007 19:07]
Paul DuBois
Noted in 4.1.23, 5.0.44, 5.1.19 changelogs. For 5.1: INSERT DELAYED statements for BLACKHOLE tables caused a server crash. The BLACKHOLE storage engine now supports INSERT DELAYED. (also updates INSERT DELAYED and BLACKHOLE sections) For 4.1/5.0: The BLACKHOLE storage engine does not support INSERT DELAYED statements, but they were not being rejected.
