[MDEV-15812] Assertion `m_lock_type == 2' failed in handler::~handler on dropping a sequence after ER_BINLOG_STMT_MODE_AND_ROW_ENGINE Created: 2018-04-08  Updated: 2018-05-06  Resolved: 2018-05-06

Status: Closed
Project: MariaDB Server
Component/s: Sequences, Storage Engine - InnoDB
Affects Version/s: 10.3
Fix Version/s: 10.3.7

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None


 Description   

--source include/have_innodb.inc
--source include/have_binlog_format_statement.inc
 
CREATE SEQUENCE seq ENGINE=InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
--error ER_BINLOG_STMT_MODE_AND_ROW_ENGINE
INSERT INTO seq VALUES (1,1,100,1,1,1,1,1);
 
# Cleanup
DROP SEQUENCE seq;

10.3 1730ac5c4ae

mysqld: /data/src/10.3/sql/handler.h:3011: virtual handler::~handler(): Assertion `m_lock_type == 2' failed.
180408 16:14:49 [ERROR] mysqld got signal 6 ;
 
#7  0x00007fa20af10ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x00005560d104114d in handler::~handler (this=0x7fa1b0075568, __in_chrg=<optimized out>) at /data/src/10.3/sql/handler.h:3011
#9  0x00005560d115de8c in ha_innobase::~ha_innobase (this=0x7fa1b0075568, __in_chrg=<optimized out>) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:2964
#10 0x00005560d115dec0 in ha_innobase::~ha_innobase (this=0x7fa1b0075568, __in_chrg=<optimized out>) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:2967
#11 0x00005560d15c606c in ha_sequence::~ha_sequence (this=0x7fa1b009d958, __in_chrg=<optimized out>) at /data/src/10.3/sql/ha_sequence.cc:62
#12 0x00005560d15c60ce in ha_sequence::~ha_sequence (this=0x7fa1b009d958, __in_chrg=<optimized out>) at /data/src/10.3/sql/ha_sequence.cc:63
#13 0x00005560d0c7527d in closefrm (table=0x7fa1b000d560) at /data/src/10.3/sql/table.cc:3574
#14 0x00005560d0d81610 in intern_close_table (table=0x7fa1b000d560) at /data/src/10.3/sql/table_cache.cc:222
#15 0x00005560d0d84551 in tdc_remove_table (thd=0x7fa1b0000b00, remove_type=TDC_RT_REMOVE_ALL, db=0x7fa1b0015578 "test", table_name=0x7fa1b0014ef0 "seq", kill_delayed_threads=false) at /data/src/10.3/sql/table_cache.cc:1151
#16 0x00005560d0c2c287 in mysql_rm_table_no_locks (thd=0x7fa1b0000b00, tables=0x7fa1b0014f28, if_exists=false, drop_temporary=false, drop_view=false, drop_sequence=true, dont_log_query=false, dont_free_locks=false) at /data/src/10.3/sql/sql_table.cc:2504
#17 0x00005560d0c2b37c in mysql_rm_table (thd=0x7fa1b0000b00, tables=0x7fa1b0014f28, if_exists=false, drop_temporary=false, drop_sequence=true) at /data/src/10.3/sql/sql_table.cc:2128
#18 0x00005560d0b670ce in mysql_execute_command (thd=0x7fa1b0000b00) at /data/src/10.3/sql/sql_parse.cc:5052
#19 0x00005560d0b703fc in mysql_parse (thd=0x7fa1b0000b00, rawbuf=0x7fa1b0014e58 "DROP SEQUENCE seq", length=17, parser_state=0x7fa20420c5d0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8013
#20 0x00005560d0b5daaf in dispatch_command (command=COM_QUERY, thd=0x7fa1b0000b00, packet=0x7fa1b0126101 "DROP SEQUENCE seq", packet_length=17, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1842
#21 0x00005560d0b5c4ee in do_command (thd=0x7fa1b0000b00) at /data/src/10.3/sql/sql_parse.cc:1387
#22 0x00005560d0cc0ed7 in do_handle_one_connection (connect=0x5560d45302d0) at /data/src/10.3/sql/sql_connect.cc:1402
#23 0x00005560d0cc0c64 in handle_one_connection (arg=0x5560d45302d0) at /data/src/10.3/sql/sql_connect.cc:1308
#24 0x00005560d114867d in pfs_spawn_thread (arg=0x5560d4538690) at /data/src/10.3/storage/perfschema/pfs.cc:1862
#25 0x00007fa20cbe7494 in start_thread (arg=0x7fa20420d700) at pthread_create.c:333
#26 0x00007fa20afcd93f in clone () from /lib/x86_64-linux-gnu/libc.so.6

No visible effect on a non-debug build.



 Comments   
Comment by Michael Widenius [ 2018-05-06 ]

The bug was the we copied the lock type to the underlying engine even when external_lock failed which caused an assert to fail in DBUG builds

Generated at Thu Feb 08 08:24:12 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.