Assertion `0' failed in my_message_sql on UPDATE IGNORE, or unknown error on release build
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
High
|
Sergei Golubchik |
Bug Description
mysqld: mysqld.cc:3008: int my_message_
#8 0xb7448014 in __assert_fail () from /lib/libc.so.6
#9 0x082d0fed in my_message_sql (error=1105, str=0xae8c0444 "Unknown error",
MyFlags=0) at mysqld.cc:3008
#10 0x087c9236 in my_error (nr=1105, MyFlags=0) at my_error.c:102
#11 0x083af0f2 in multi_update:
err=0x934c280 "Unknown error") at sql_update.cc:1897
#12 0x083ad429 in mysql_multi_update (thd=0x93ec740, table_list=
fields=
handle_
select_
#13 0x082e59e5 in mysql_execute_
#14 0x082ee50c in mysql_parse (thd=0x93ec740,
rawbuf=
at sql_parse.cc:6152
#15 0x082e0eed in dispatch_command (command=COM_QUERY, thd=0x93ec740,
packet=
#16 0x082e0397 in do_command (thd=0x93ec740) at sql_parse.cc:923
#17 0x082dd28d in handle_
#18 0xb76d6b25 in start_thread () from /lib/libpthread
bzr version-info
revision-id: <email address hidden>
date: 2012-04-07 02:29:04 -0700
build-date: 2012-04-07 21:47:49 +0400
revno: 3499
Notes:
5.5 also fails, although the assertion is different, but it might be because recent 5.3 changes have not reached 5.5 main tree yet.
On release (as non-debug) build there is no crash, but server error log contains "Unknown error" (which is normally a part of the warning ignored due to the IGNORE modifier).
Could not reproduce on MariaDB 5.2, MySQL 5.5, MySQL trunk (revno 3706).
Test case:
CREATE TABLE t1 ( a INT, b CHAR(3) );
INSERT INTO t1 VALUES ( 1, 'foo' );
CREATE TABLE t2 ( c CHAR(3), d INT );
INSERT INTO t2 VALUES ( 'foo', 1 );
UPDATE IGNORE t1, t2 SET b = 'bar', c = 'bar'
WHERE a != ( SELECT 1 UNION SELECT 2 );
# End of test case
description: | updated |
Changed in maria: | |
assignee: | Sergei (sergii) → Michael Widenius (monty) |
Changed in maria: | |
assignee: | Michael Widenius (monty) → Sergei (sergii) |
status: | New → Fix Committed |
Setting to 'High' rather than 'Critical' because it's a debug assertion, no crash on the release build, only an error message in the log file.
Also filed in JIRA as https:/ /mariadb. atlassian. net/browse/ MDEV-216