[MDEV-30779] Assertion `field_max_length <= m_return_field_def.length || m_return_field_def.type_handler()->cmp_type() == INT_RESULT || (_current_thd()->stmt_arena->is_stmt_execute() && m_return_field_def.length == 8 && (m_return_field_def.pack_flag & (1024U|2048U)))' Created: 2023-03-03  Updated: 2024-01-16

Status: Confirmed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2, 11.3, 11.4
Fix Version/s: 10.4, 10.5, 10.6, 10.11, 11.0, 11.1, 11.2, 11.3, 11.4

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Oleksandr Byelkin
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-22368 Assertion field_max_length <= m_retur... Confirmed
relates to MDEV-30766 Issue with NOT IN (subquery that viol... Closed

 Description   

test, derived from MDEV-30766:

CREATE TABLE playback ( session_id int PRIMARY KEY, customer_id int, start_time int, end_time int);
insert into playback values (-1, 0, 1, 1),(0, 0, 1, 1);
 
CREATE TABLE ads ( ad_id int PRIMARY KEY, customer_id int, TIMESTAMP int);
insert into ads values (0, 0, 1),(1, 0, 1);
 
delimiter //;
create aggregate function any_value (x longblob) returns longblob
begin
 loop
  fetch group next row;
  return x;
 end loop; 
end //
delimiter ;//
 
select any_value(session_id) from playback join ads on playback.customer_id=ads.customer_id group by playback.customer_id;

Version: '10.3.38-MariaDB-debug-log'
mysqld: /10.3/src/sql/sp_head.cc:934: Field* sp_head::create_result_field(uint, const LEX_CSTRING*, TABLE*) const: Assertion `field_max_length <= m_return_field_def.length || m_return_field_def.type_handler()->cmp_type() == INT_RESULT || (_current_thd()->stmt_arena->is_stmt_execute() && m_return_field_def.length == 8 && (m_return_field_def.pack_flag & (1024U|2048U)))' failed.
230302 12:12:42 [ERROR] mysqld got signal 6 ;
 
Server version: 10.3.38-MariaDB-debug-log source revision: 2743a510a156456fe57429032bf41c0da0f11198
 
mysys/stacktrace.c:174(my_print_stacktrace)[0x55cff7fb0d5b]
sql/signal_handler.cc:233(handle_fatal_signal)[0x55cff6c06c37]
sigaction.c:0(__restore_rt)[0x7f803d9c5420]
sql/sp_head.cc:941(sp_head::create_result_field(unsigned int, st_mysql_const_lex_string const*, TABLE*) const)[0x55cff6258710]
sql/item.cc:3133(Item_sp::init_result_field(THD*, unsigned int, unsigned int, bool*, st_mysql_const_lex_string*))[0x55cff6c6872c]
sql/item_sum.cc:1469(Item_sum_sp::copy_or_same(THD*))[0x55cff6e6bf32]
sql/item_sum.cc:527(Item_sum::get_tmp_table_item(THD*))[0x55cff6e62805]
sql/sql_select.cc:24920(change_refs_to_tmp_fields(THD*, Bounds_checked_array<Item*>, List<Item>&, List<Item>&, unsigned int, List<Item>&))[0x55cff65e88ec]
sql/sql_select.cc:3108(JOIN::make_aggr_tables_info())[0x55cff6547bad]
sql/sql_select.cc:2720(JOIN::optimize_stage2())[0x55cff6543000]
sql/sql_select.cc:2026(JOIN::optimize_inner())[0x55cff653be54]
sql/sql_select.cc:1542(JOIN::optimize())[0x55cff6537086]
sql/sql_select.cc:4379(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55cff655483b]
sql/sql_select.cc:372(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55cff652aa1f]
sql/sql_parse.cc:6340(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55cff649b708]
sql/sql_parse.cc:3871(mysql_execute_command(THD*))[0x55cff648972e]
sql/sql_parse.cc:7855(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55cff64a53ea]
sql/sql_parse.cc:1855(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55cff647c3a7]
sql/sql_parse.cc:1398(do_command(THD*))[0x55cff6478ec6]
sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x55cff684f62d]
sql/sql_connect.cc:1310(handle_one_connection)[0x55cff684eee7]
perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55cff7e86201]
nptl/pthread_create.c:478(start_thread)[0x7f803d9b9609]
addr2line: DWARF error: section .debug_info is larger than its filesize! (0x93ef57 vs 0x530ea0)
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f803d8de133]
 
Query (0x62b000000290): select any_value(session_id) from playback join ads on playback.customer_id=ads.customer_id group by playback.customer_id



 Comments   
Comment by Alice Sherepa [ 2024-01-16 ]

also ~ on 11.4

mysqld: /11.4/sql/sp_head.cc:984: Field* sp_head::create_result_field(uint, const LEX_CSTRING*, TABLE*) const: Assertion `field_max_length <= m_return_field_def.length || m_return_field_def.type_handler()->cmp_type() == INT_RESULT || (_current_thd()->stmt_arena->is_stmt_execute() && m_return_field_def.length == 8 && (m_return_field_def.pack_flag & (1024U|2048U)))' failed.
240112 18:26:29 [ERROR] mysqld got signal 6 ;
 
Server version: 11.4.0-MariaDB-debug-log source revision: c0c1c80346b926ea1358aa512374d72d513299b0
 
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7f4094482fd6]
sql/sp_head.cc:991(sp_head::create_result_field(unsigned int, st_mysql_const_lex_string const*, TABLE*) const)[0x55c3d1d9a414]
sql/item.cc:3001(Item_sp::init_result_field(THD*, unsigned int, unsigned int, bool*, st_mysql_const_lex_string*))[0x55c3d29e69f0]
sql/item_func.cc:6761(Item_func_sp::fix_fields(THD*, Item**))[0x55c3d2b11c88]
sql/item.h:1153(Item::fix_fields_if_needed(THD*, Item**))[0x55c3d1d53a95]
sql/item.h:1162(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x55c3d1d53acf]
sql/sql_base.cc:8084(setup_fields(THD*, Bounds_checked_array<Item*>, List<Item>&, enum_column_usage, List<Item>*, List<Item>*, bool))[0x55c3d1e73d82]
sql/sql_select.cc:1549(JOIN::prepare(TABLE_LIST*, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x55c3d210de24]
sql/sql_union.cc:1103(st_select_lex_unit::prepare_join(THD*, st_select_lex*, select_result*, unsigned long long, bool))[0x55c3d23767a9]
sql/sql_union.cc:1583(st_select_lex_unit::prepare(TABLE_LIST*, select_result*, unsigned long long))[0x55c3d237a72d]
sql/sql_derived.cc:840(mysql_derived_prepare(THD*, LEX*, TABLE_LIST*))[0x55c3d1f28825]
sql/sql_derived.cc:200(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55c3d1f24ad0]
sql/table.cc:9754(TABLE_LIST::handle_derived(LEX*, unsigned int))[0x55c3d24281c9]
sql/sql_lex.h:4633(LEX::handle_list_of_derived(TABLE_LIST*, unsigned int))[0x55c3d1f70056]
sql/sql_lex.cc:5072(st_select_lex::handle_derived(LEX*, unsigned int))[0x55c3d1f967d7]
sql/sql_select.cc:1433(JOIN::prepare(TABLE_LIST*, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x55c3d210c6a9]
sql/sql_select.cc:5279(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55c3d2135438]
sql/sql_select.cc:630(handle_select(THD*, LEX*, select_result*, unsigned long long))[0x55c3d21044ac]
sql/sql_parse.cc:6077(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55c3d20244ca]
sql/sql_parse.cc:3926(mysql_execute_command(THD*, bool))[0x55c3d20149bc]
sql/sp_instr.cc:956(sp_instr_stmt::exec_core(THD*, unsigned int*))[0x55c3d26df3cb]
sql/sp_instr.cc:296(sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*, bool))[0x55c3d26db261]
sql/sp_instr.cc:476(sp_lex_keeper::validate_lex_and_exec_core(THD*, unsigned int*, bool, sp_lex_instr*))[0x55c3d26dc4ae]
sql/sp_instr.cc:862(sp_instr_stmt::execute(THD*, unsigned int*))[0x55c3d26deb0b]
sql/sp_head.cc:1284(sp_head::execute(THD*, bool))[0x55c3d1d9c162]
sql/sp_head.cc:2300(sp_head::execute_procedure(THD*, List<Item>*))[0x55c3d1da23a3]
sql/sql_parse.cc:3033(do_execute_sp(THD*, sp_head*))[0x55c3d200db95]
sql/sql_parse.cc:3256(Sql_cmd_call::execute(THD*))[0x55c3d200f82c]
sql/sql_parse.cc:5786(mysql_execute_command(THD*, bool))[0x55c3d2021e3d]
sql/sql_parse.cc:7798(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55c3d202f6d1]
sql/sql_parse.cc:1895(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55c3d2006c7f]
sql/sql_parse.cc:1406(do_command(THD*, bool))[0x55c3d20039c4]
sql/sql_connect.cc:1417(do_handle_one_connection(CONNECT*, bool))[0x55c3d24e7945]
sql/sql_connect.cc:1321(handle_one_connection)[0x55c3d24e72a2]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55c3d31541a8]
nptl/pthread_create.c:478(start_thread)[0x7f409499d609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f409456e353]

Generated at Thu Feb 08 10:18:49 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.