[MDEV-15802] [Draft] Server crashes in Item::delete_self upon ALTER TABLE Created: 2018-04-06  Updated: 2019-09-09

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Unresolved Votes: 0
Labels: None

Attachments: HTML File threads    
Issue Links:
Relates
relates to MDEV-17177 Crash in Item_func_in::cleanup() for ... Closed
relates to MDEV-17738 Server crashes in Item::delete_self o... Closed
relates to MDEV-16078 Server crashes in Item::delete_self o... Closed

 Description   

Note: it might be related to MDEV-15755 / MDEV-15585 or MDEV-15588; but this time it happens on ALTER and there is no Galera involved, so I'm storing it separately just in case.

https://api.travis-ci.org/v3/job/359643870/log.txt

10.3 4faf34ad639a28a29ddfc84547108fad058d00ca

Version: '10.3.6-MariaDB-debug-log'  socket: '/home/travis/logs/vardir1_3/mysql.sock'  port: 19300  Source distribution
180329 10:27:38 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
Server version: 10.3.6-MariaDB-debug-log
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=8
max_threads=153
thread_count=14
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467490 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x7fb97c000fa0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x7fb9cc17fe30 thread_stack 0x49000
/home/travis/server/bin/mysqld(my_print_stacktrace+0x40)[0x55d538a11688]
/home/travis/server/bin/mysqld(handle_fatal_signal+0x3dc)[0x55d538262d8b]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10330)[0x7fb9d4a9f330]
/home/travis/server/bin/mysqld(_ZN4Item11delete_selfEv+0x17)[0x55d537f258b5]
sql/item.h:1879(Item::delete_self())[0x55d537f1be89]
sql/sql_class.cc:3764(Query_arena::free_items())[0x55d538088b1c]
sql/table.cc:3566(closefrm(TABLE*))[0x55d53819b563]
sql/table_cache.cc:223(intern_close_table)[0x55d53819b702]
sql/table_cache.cc:261(tc_remove_table)[0x55d53819c06f]
sql/table_cache.cc:472(tc_release_table(TABLE*))[0x55d537ee99bd]
sql/sql_base.cc:910(close_thread_table(THD*, TABLE**))[0x55d537ee9222]
sql/sql_base.cc:677(close_all_tables_for_name(THD*, TABLE_SHARE*, ha_extra_function, TABLE*))[0x55d53804e40d]
sql/sql_table.cc:7698(mysql_inplace_alter_table)[0x55d53805464a]
sql/sql_table.cc:9847(mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool))[0x55d5380dae3e]
sql/sql_alter.cc:334(Sql_cmd_alter_table::execute(THD*))[0x55d537f7f94d]
sql/sql_parse.cc:6284(mysql_execute_command(THD*))[0x55d537fa204f]
sql/sql_prepare.cc:4740(Prepared_statement::execute(String*, bool))[0x55d537fa0499]
sql/sql_prepare.cc:4170(Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*))[0x55d537f9dd39]
sql/sql_prepare.cc:3170(mysql_stmt_execute_common)[0x55d537f9d8dc]
sql/sql_prepare.cc:3069(mysqld_stmt_execute(THD*, char*, unsigned int))[0x55d537f71841]
sql/sql_parse.cc:1785(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d537f70628]
sql/sql_parse.cc:1387(do_command(THD*))[0x55d5380d58b3]
sql/sql_connect.cc:1402(do_handle_one_connection(CONNECT*))[0x55d5380d5640]
sql/sql_connect.cc:1309(handle_one_connection)[0x55d5389aafc3]
nptl/pthread_create.c:312(start_thread)[0x7fb9d4a97184]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fb9d3fa403d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x7fb97c062368): ALTER TABLE `DD` ADD KEY ( t ) /* QNO 27312 CON_ID 14 */
Connection ID (thread ID): 14
Status: NOT_KILLED

#3  <signal handler called>
#4  0x000055d537f258b5 in Item::delete_self (this=0x7fb97d32a528) at /home/travis/src/sql/item.h:1879
#5  0x000055d537f1be89 in Query_arena::free_items (this=0x7fb97d32a5b8) at /home/travis/src/sql/sql_class.cc:3769
#6  0x000055d538088b1c in closefrm (table=0x7fb97d3d1750) at /home/travis/src/sql/table.cc:3565
#7  0x000055d53819b563 in intern_close_table (table=0x7fb97d3d1750) at /home/travis/src/sql/table_cache.cc:222
#8  0x000055d53819b702 in tc_remove_table (table=0x7fb97d3d1750) at /home/travis/src/sql/table_cache.cc:260
#9  0x000055d53819c06f in tc_release_table (table=0x7fb97d3d1750) at /home/travis/src/sql/table_cache.cc:472
#10 0x000055d537ee99bd in close_thread_table (thd=0x7fb97c000fa0, table_ptr=0x7fb97c001090) at /home/travis/src/sql/sql_base.cc:909
#11 0x000055d537ee9222 in close_all_tables_for_name (thd=0x7fb97c000fa0, share=0x7fb97d57f708, extra=HA_EXTRA_NOT_USED, skip_table=0x0) at /home/travis/src/sql/sql_base.cc:677
#12 0x000055d53804e40d in mysql_inplace_alter_table (thd=0x7fb97c000fa0, table_list=0x7fb97c062490, table=0x7fb97d3d1750, altered_table=0x7fb97c07a0e0, ha_alter_info=0x7fb9cc17be80, inplace_supported=HA_ALTER_INPLACE_SHARED_LOCK_AFTER_PREPARE, target_mdl_request=0x7fb9cc17bff0, alter_ctx=0x7fb9cc17cca0) at /home/travis/src/sql/sql_table.cc:7697
#13 0x000055d53805464a in mysql_alter_table (thd=0x7fb97c000fa0, new_db=0x7fb97c0614d0, new_name=0x7fb97c061880, create_info=0x7fb9cc17d880, table_list=0x7fb97c062490, alter_info=0x7fb9cc17d7d0, order_num=0, order=0x0, ignore=false) at /home/travis/src/sql/sql_table.cc:9847
#14 0x000055d5380dae3e in Sql_cmd_alter_table::execute (this=0x7fb97c062ba8, thd=0x7fb97c000fa0) at /home/travis/src/sql/sql_alter.cc:334
#15 0x000055d537f7f94d in mysql_execute_command (thd=0x7fb97c000fa0) at /home/travis/src/sql/sql_parse.cc:6284
#16 0x000055d537fa204f in Prepared_statement::execute (this=0x7fb97d2342f0, expanded_query=0x7fb9cc17f2f0, open_cursor=false) at /home/travis/src/sql/sql_prepare.cc:4740
#17 0x000055d537fa0499 in Prepared_statement::execute_loop (this=0x7fb97d2342f0, expanded_query=0x7fb9cc17f2f0, open_cursor=false, packet=0x7fb97d0bee5a "", packet_end=0x7fb97d0bee5a "") at /home/travis/src/sql/sql_prepare.cc:4170
#18 0x000055d537f9dd39 in mysql_stmt_execute_common (thd=0x7fb97c000fa0, stmt_id=29673, packet=0x7fb97d0bee5a "", packet_end=0x7fb97d0bee5a "", cursor_flags=0, bulk_op=false, read_types=false) at /home/travis/src/sql/sql_prepare.cc:3170
#19 0x000055d537f9d8dc in mysqld_stmt_execute (thd=0x7fb97c000fa0, packet_arg=0x7fb97d0bee51 "\351s", packet_length=9) at /home/travis/src/sql/sql_prepare.cc:3068
#20 0x000055d537f71841 in dispatch_command (command=COM_STMT_EXECUTE, thd=0x7fb97c000fa0, packet=0x7fb97d0bee51 "\351s", packet_length=9, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:1784
#21 0x000055d537f70628 in do_command (thd=0x7fb97c000fa0) at /home/travis/src/sql/sql_parse.cc:1387
#22 0x000055d5380d58b3 in do_handle_one_connection (connect=0x55d53c42f1c0) at /home/travis/src/sql/sql_connect.cc:1402
#23 0x000055d5380d5640 in handle_one_connection (arg=0x55d53c42f1c0) at /home/travis/src/sql/sql_connect.cc:1308
#24 0x000055d5389aafc3 in pfs_spawn_thread (arg=0x55d53c4f3cf0) at /home/travis/src/storage/perfschema/pfs.cc:1862
#25 0x00007fb9d4a97184 in start_thread (arg=0x7fb9cc180700) at pthread_create.c:312
#26 0x00007fb9d3fa403d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

experimental 82d67e4315d8575501bed9fc4efdb44b047fecf4

perl /home/travis/rqg/runall-new.pl --duration=350 --threads=6 --seed=1522319169 --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --views --redefine=conf/mariadb/versioning.yy --redefine=conf/mariadb/alter_table.yy --redefine=conf/mariadb/bulk_insert.yy --redefine=conf/mariadb/sequences.yy --redefine=conf/mariadb/xa.yy --basedir=/home/travis/server --mysqld=--log_output=FILE --mysqld=--max-statement-time=30 --mysqld=--lock-wait-timeout=10 --mysqld=--loose-innodb-lock-wait-timeout=5 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --mysqld=--default-storage-engine=RocksDB --mysqld=--plugin-load-add=ha_rocksdb --mysqld=--binlog-format=row --grammar=conf/runtime/performance_schema.yy --mysqld=--performance-schema --ps-protocol --transformers=ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsExcept,ExecuteAsInsertSelect,ExecuteAsIntersect,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsSPTwice --vardir=/home/travis/logs/vardir1_3

Not easily reproducible.


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