[MDEV-24707] Assertion `!auto_increment_field_not_null' failed in TABLE::init Created: 2021-01-27  Updated: 2023-11-28

Status: Confirmed
Project: MariaDB Server
Component/s: Data Definition - Temporary
Affects Version/s: 10.2, 10.3, 10.4, 10.5, 10.6, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2
Fix Version/s: 10.4, 10.5, 10.6, 10.11, 11.0, 11.1, 11.2

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


 Description   

CREATE TABLE t1 AS SELECT 1 AS a;
CREATE TEMPORARY TABLE tmp (b INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) ENGINE=MyISAM;
INSERT INTO tmp VALUES (1);
ALTER TABLE tmp FORCE;
--error ER_WARN_DATA_OUT_OF_RANGE
UPDATE tmp, t1 SET b = -1;
INSERT INTO tmp () VALUES ();
 
# Cleanup
DROP TABLE t1;

10.2 900a1475

mysqld: /data/src/10.2/sql/table.cc:4654: void TABLE::init(THD*, TABLE_LIST*): Assertion `!auto_increment_field_not_null' failed.
210127 16:19:26 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f4566b4cf36 in __GI___assert_fail (assertion=0x56025af04b20 "!auto_increment_field_not_null", file=0x56025af035c6 "/data/src/10.2/sql/table.cc", line=4654, function=0x56025af04ac0 "void TABLE::init(THD*, TABLE_LIST*)") at assert.c:101
#8  0x000056025a585dd8 in TABLE::init (this=0x7f455018e0d0, thd=0x7f4550000d90, tl=0x7f45500127d8) at /data/src/10.2/sql/table.cc:4654
#9  0x000056025a673504 in THD::open_temporary_table (this=0x7f4550000d90, tl=0x7f45500127d8) at /data/src/10.2/sql/temporary_tables.cc:425
#10 0x000056025a673608 in THD::open_temporary_tables (this=0x7f4550000d90, tl=0x7f45500127d8) at /data/src/10.2/sql/temporary_tables.cc:462
#11 0x000056025a4778b9 in mysql_execute_command (thd=0x7f4550000d90) at /data/src/10.2/sql/sql_parse.cc:4185
#12 0x000056025a48303f in mysql_parse (thd=0x7f4550000d90, rawbuf=0x7f45500126f8 "INSERT INTO tmp () VALUES ()", length=28, parser_state=0x7f4560ca65f0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7763
#13 0x000056025a471318 in dispatch_command (command=COM_QUERY, thd=0x7f4550000d90, packet=0x7f4550008b51 "INSERT INTO tmp () VALUES ()", packet_length=28, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1827
#14 0x000056025a46fe13 in do_command (thd=0x7f4550000d90) at /data/src/10.2/sql/sql_parse.cc:1381
#15 0x000056025a5ca72e in do_handle_one_connection (connect=0x56025cad39c0) at /data/src/10.2/sql/sql_connect.cc:1336
#16 0x000056025a5ca493 in handle_one_connection (arg=0x56025cad39c0) at /data/src/10.2/sql/sql_connect.cc:1241
#17 0x000056025adf29ec in pfs_spawn_thread (arg=0x56025cab6dd0) at /data/src/10.2/storage/perfschema/pfs.cc:1869
#18 0x00007f456705c609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#19 0x00007f4566c38293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Reproducible on 10.2-10.6.
No obvious immediate problem on a non-debug build.



 Comments   
Comment by Alice Sherepa [ 2023-10-30 ]

mysqld: /10.6/sql/table.cc:5767: void TABLE::init(THD*, TABLE_LIST*): Assertion `!auto_increment_field_not_null' failed.
231030 11:27:57 [ERROR] mysqld got signal 6 ;
 
Server version: 10.6.16-MariaDB-debug-log source revision: ab6139ddc09b28df94016ac1e7345d623b08de8e
 
linux/raise.c:51(__GI_raise)[0x7f56182028eb]
stdlib/abort.c:81(__GI_abort)[0x7f56181ed535]
sql/table.cc:5768(TABLE::init(THD*, TABLE_LIST*))[0x560881ce75ac]
sql/temporary_tables.cc:437(THD::open_temporary_table(TABLE_LIST*))[0x56088201ebc3]
sql/temporary_tables.cc:475(THD::open_temporary_tables(TABLE_LIST*))[0x56088201eefa]
sql/sql_parse.cc:3824(mysql_execute_command(THD*, bool))[0x5608819613eb]
sql/sql_parse.cc:8050(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x56088197e7e2]
sql/sql_parse.cc:1898(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x560881954b6c]
sql/sql_parse.cc:1409(do_command(THD*, bool))[0x560881951862]
sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x560881dbd77c]
sql/sql_connect.cc:1320(handle_one_connection)[0x560881dbd0d2]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x560882acf535]
nptl/pthread_create.c:487(start_thread)[0x7f56186b8fa3]
x86_64/clone.S:97(clone)[0x7f56182c406f]
 
Query (0x62b0002062a8): ALTER IGNORE TABLE tmp MODIFY IF EXISTS `k` int UNSIGNED NULL DEFAULT NULL

Generated at Thu Feb 08 09:32:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.