Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.1.67, 5.2.14, 5.5.35, 10.0.8, 5.5(EOL), 10.0(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
Description
--source include/have_partition.inc
|
|
CREATE TABLE t1 (a INT) PARTITION BY HASH(a) PARTITIONS 2; |
|
CREATE TABLE t2 (b INT); |
INSERT INTO t2 VALUES (1),(2); |
|
UPDATE t1 SET a = 7 WHERE a = ( SELECT b FROM t2 ) ORDER BY a LIMIT 6; |
On some reason, it does not fail on 5.3, but fails on 5.1, 5.2, 5.5 and 10.0 (and on all current branches of MySQL).
Stack trace from 5.5:
mysqld: 5.5/sql/sql_error.cc:362: void Diagnostics_area::set_ok_status(THD*, ulonglong, ulonglong, const char*): Assertion `! is_set()' failed.
|
140207 23:42:49 [ERROR] mysqld got signal 6 ;
|
#6 0x00007f84cb4bb621 in *__GI___assert_fail (assertion=0xd68c86 "! is_set()", file=<optimized out>, line=362, function=0xd69740 "void Diagnostics_area::set_ok_status(THD*, ulonglong, ulonglong, const char*)") at assert.c:81
|
#7 0x000000000060c8b5 in Diagnostics_area::set_ok_status (this=0x7f84c7ff26a0, thd=0x7f84c7fee060, affected_rows_arg=0, last_insert_id_arg=0, message_arg=0x0) at 5.5/sql/sql_error.cc:362
|
#8 0x00000000005c9d70 in my_ok (thd=0x7f84c7fee060, affected_rows=0, id=0, message=0x0) at 5.5/sql/sql_class.h:3168
|
#9 0x00000000006e1ce7 in mysql_update (thd=0x7f84c7fee060, table_list=0x7f84c615d1b0, fields=..., values=..., conds=0x7f84c615ed48, order_num=1, order=0x7f84c615efc0, limit=6, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7f84c6bb5298, updated_return=0x7f84c6bb5290) at 5.5/sql/sql_update.cc:401
|
#10 0x0000000000630ea1 in mysql_execute_command (thd=0x7f84c7fee060) at 5.5/sql/sql_parse.cc:2847
|
#11 0x0000000000638cf6 in mysql_parse (thd=0x7f84c7fee060, rawbuf=0x7f84c615d078 "UPDATE t1 SET a = 7 WHERE a = ( SELECT b FROM t2 ) ORDER BY a LIMIT 6", length=69, parser_state=0x7f84c6bb5630) at 5.5/sql/sql_parse.cc:5799
|
#12 0x000000000062cd17 in dispatch_command (command=COM_QUERY, thd=0x7f84c7fee060, packet=0x7f84c72ff061 "UPDATE t1 SET a = 7 WHERE a = ( SELECT b FROM t2 ) ORDER BY a LIMIT 6", packet_length=69) at 5.5/sql/sql_parse.cc:1078
|
#13 0x000000000062beba in do_command (thd=0x7f84c7fee060) at 5.5/sql/sql_parse.cc:793
|
#14 0x000000000072d982 in do_handle_one_connection (thd_arg=0x7f84c7fee060) at 5.5/sql/sql_connect.cc:1266
|
#15 0x000000000072d441 in handle_one_connection (arg=0x7f84c7fee060) at 5.5/sql/sql_connect.cc:1181
|
#16 0x000000000098592d in pfs_spawn_thread (arg=0x7f84c7ff59e0) at 5.5/storage/perfschema/pfs.cc:1015
|
#17 0x00007f84cca1bb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
|
#18 0x00007f84cb56aa7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
|
revision-id: elenst@wheezy-64.home-20140205102537-7ern5gfca6a6ojg3
|
revno: 4055
|
branch-nick: 5.5
|
Attachments
Issue Links
- duplicates
-
MDEV-11779 Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status upon UPDATE on partitioned table
- Closed
-
MDEV-17537 [Draft] Assertion `! is_set()' failed in Diagnostics_area::set_ok_status
- Closed
- relates to
-
MDEV-22783 Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status on DELETE on partitioned table
- Confirmed
- links to