Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-22705

Assertion `llabs(next_free_value % real_increment) == offset' failed in sequence_definition::adjust_values, from sequence_definition::check_and_adjust and from SEQUENCE::read_stored_values

Details

    • Bug
    • Status: Confirmed (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL)
    • 10.5, 10.6, 10.11
    • Sequences

    Description

      See also MDEV-16313 and MDEV-13005

      SET GLOBAL auto_increment_increment=3;
      CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 INCREMENT 0;
      

      Leads to:

      10.5.4 8569dac1ec9f6853a0b2f3ea9bcbda67644ead24

      mysqld: /test/10.5_dbg/sql/sql_sequence.cc:569: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed.
      

      10.5.4 8569dac1ec9f6853a0b2f3ea9bcbda67644ead24

      Core was generated by `/test/MD260520-mariadb-10.5.4-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      [Current thread is 1 (Thread 0x149bf475e700 (LWP 1417077))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      #1  0x000055b7948a3d7a in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
      #2  0x000055b794049385 in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #5  0x0000149bf2ea2801 in __GI_abort () at abort.c:79
      #6  0x0000149bf2e9239a in __assert_fail_base (fmt=0x149bf30197d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55b794a86a58 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x55b794a86a00 "/test/10.5_dbg/sql/sql_sequence.cc", line=line@entry=569, function=function@entry=0x55b794a86e40 <sequence_definition::adjust_values(long long)::__PRETTY_FUNCTION__> "void sequence_definition::adjust_values(longlong)") at assert.c:92
      #7  0x0000149bf2e92412 in __GI___assert_fail (assertion=assertion@entry=0x55b794a86a58 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x55b794a86a00 "/test/10.5_dbg/sql/sql_sequence.cc", line=line@entry=569, function=function@entry=0x55b794a86e40 <sequence_definition::adjust_values(long long)::__PRETTY_FUNCTION__> "void sequence_definition::adjust_values(longlong)") at assert.c:101
      #8  0x000055b793fa065d in sequence_definition::adjust_values (this=this@entry=0x149bd18748b8, next_value=<optimized out>) at /test/10.5_dbg/sql/sql_sequence.cc:569
      #9  0x000055b793fa0727 in sequence_definition::check_and_adjust (this=0x149bd18748b8, set_reserved_until=set_reserved_until@entry=true) at /test/10.5_dbg/sql/sql_sequence.cc:112
      #10 0x000055b793fb831b in MYSQLparse (thd=thd@entry=0x149bd1815088) at /test/10.5_dbg/sql/sql_yacc.yy:2347
      #11 0x000055b793db18b0 in parse_sql (thd=thd@entry=0x149bd1815088, parser_state=parser_state@entry=0x149bf475d3d0, creation_ctx=creation_ctx@entry=0x0, do_pfs_digest=do_pfs_digest@entry=true) at /test/10.5_dbg/sql/sql_parse.cc:10297
      #12 0x000055b793dabe34 in mysql_parse (thd=thd@entry=0x149bd1815088, rawbuf=<optimized out>, length=58, parser_state=parser_state@entry=0x149bf475d3d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7944
      #13 0x000055b793d98b42 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x149bd1815088, packet=packet@entry=0x149bd1867089 "CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 INCREMENT 0", packet_length=packet_length@entry=58, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1874
      #14 0x000055b793d9731c in do_command (thd=0x149bd1815088) at /test/10.5_dbg/sql/sql_parse.cc:1355
      #15 0x000055b793ef173f in do_handle_one_connection (connect=<optimized out>, connect@entry=0x149bd34453a8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
      #16 0x000055b793ef1e5b in handle_one_connection (arg=arg@entry=0x149bd34453a8) at /test/10.5_dbg/sql/sql_connect.cc:1313
      #17 0x000055b79435114e in pfs_spawn_thread (arg=0x149bf2445888) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
      #18 0x0000149bf3b856db in start_thread (arg=0x149bf475e700) at pthread_create.c:463
      #19 0x0000149bf2f8388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.3.24 (dbg), 10.4.14 (dbg), 10.5.4 (dbg)

      Bug confirmed not present in:
      MariaDB: 10.1.46 (dbg), 10.1.46 (opt), 10.2.33 (dbg), 10.2.33 (opt), 10.3.24 (opt), 10.4.14 (opt), 10.5.4 (opt)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)

      Attachments

        Issue Links

          Activity

            10.8.0 bc57ff7cf79504a198d4752b4748340a4afd886c (Debug)

            mysqld: /test/10.8_dbg/sql/sql_sequence.cc:586: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed.
            

            10.8.0 bc57ff7cf79504a198d4752b4748340a4afd886c (Debug)

            Core was generated by `/test/MD121121-mariadb-10.8.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            [Current thread is 1 (Thread 0x14f40c8d1700 (LWP 3588131))]
            (gdb) bt
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            #1  0x000014f40f4b0859 in __GI_abort () at abort.c:79
            #2  0x000014f40f4b0729 in __assert_fail_base (fmt=0x14f40f646588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556520e116d0 "llabs(next_free_value % real_increment) == offset", file=0x556520e11650 "/test/10.8_dbg/sql/sql_sequence.cc", line=586, function=<optimized out>) at assert.c:92
            #3  0x000014f40f4c1f36 in __GI___assert_fail (assertion=assertion@entry=0x556520e116d0 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x556520e11650 "/test/10.8_dbg/sql/sql_sequence.cc", line=line@entry=586, function=function@entry=0x556520e11708 "void sequence_definition::adjust_values(longlong)") at assert.c:101
            #4  0x0000556520331e36 in sequence_definition::adjust_values (this=this@entry=0x14f3c80145f0, next_value=<optimized out>) at /test/10.8_dbg/sql/sql_sequence.cc:586
            #5  0x0000556520331ef7 in sequence_definition::check_and_adjust (this=0x14f3c80145f0, set_reserved_until=set_reserved_until@entry=true) at /test/10.8_dbg/sql/sql_sequence.cc:113
            #6  0x000055652034f840 in MYSQLparse (thd=thd@entry=0x14f3c8000db8) at /test/10.8_dbg/sql/sql_yacc.yy:2416
            #7  0x00005565200dc569 in parse_sql (thd=thd@entry=0x14f3c8000db8, parser_state=parser_state@entry=0x14f40c8d0400, creation_ctx=creation_ctx@entry=0x0, do_pfs_digest=do_pfs_digest@entry=true) at /test/10.8_dbg/sql/sql_parse.cc:10406
            #8  0x00005565200d6b07 in mysql_parse (thd=thd@entry=0x14f3c8000db8, rawbuf=<optimized out>, length=58, parser_state=parser_state@entry=0x14f40c8d0400) at /test/10.8_dbg/sql/sql_parse.cc:7980
            #9  0x00005565200e5949 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14f3c8000db8, packet=packet@entry=0x14f3c800b879 "CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 INCREMENT 0", packet_length=packet_length@entry=58, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_class.h:1360
            #10 0x00005565200e8d83 in do_command (thd=0x14f3c8000db8, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_parse.cc:1402
            #11 0x0000556520262e2a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5565230250c8, put_in_cache=put_in_cache@entry=true) at /test/10.8_dbg/sql/sql_connect.cc:1418
            #12 0x000055652026342f in handle_one_connection (arg=arg@entry=0x5565230250c8) at /test/10.8_dbg/sql/sql_connect.cc:1312
            #13 0x00005565206e34ce in pfs_spawn_thread (arg=0x556522f38b68) at /test/10.8_dbg/storage/perfschema/pfs.cc:2201
            #14 0x000014f40f9bf609 in start_thread (arg=<optimized out>) at pthread_create.c:477
            #15 0x000014f40f5ad293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            Bug confirmed present in:
            MariaDB: 10.3.33 (dbg), 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.0 (dbg)

            Roel Roel Van de Paar added a comment - 10.8.0 bc57ff7cf79504a198d4752b4748340a4afd886c (Debug) mysqld: /test/10.8_dbg/sql/sql_sequence.cc:586: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed. 10.8.0 bc57ff7cf79504a198d4752b4748340a4afd886c (Debug) Core was generated by `/test/MD121121-mariadb-10.8.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 [Current thread is 1 (Thread 0x14f40c8d1700 (LWP 3588131))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x000014f40f4b0859 in __GI_abort () at abort.c:79 #2 0x000014f40f4b0729 in __assert_fail_base (fmt=0x14f40f646588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556520e116d0 "llabs(next_free_value % real_increment) == offset", file=0x556520e11650 "/test/10.8_dbg/sql/sql_sequence.cc", line=586, function=<optimized out>) at assert.c:92 #3 0x000014f40f4c1f36 in __GI___assert_fail (assertion=assertion@entry=0x556520e116d0 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x556520e11650 "/test/10.8_dbg/sql/sql_sequence.cc", line=line@entry=586, function=function@entry=0x556520e11708 "void sequence_definition::adjust_values(longlong)") at assert.c:101 #4 0x0000556520331e36 in sequence_definition::adjust_values (this=this@entry=0x14f3c80145f0, next_value=<optimized out>) at /test/10.8_dbg/sql/sql_sequence.cc:586 #5 0x0000556520331ef7 in sequence_definition::check_and_adjust (this=0x14f3c80145f0, set_reserved_until=set_reserved_until@entry=true) at /test/10.8_dbg/sql/sql_sequence.cc:113 #6 0x000055652034f840 in MYSQLparse (thd=thd@entry=0x14f3c8000db8) at /test/10.8_dbg/sql/sql_yacc.yy:2416 #7 0x00005565200dc569 in parse_sql (thd=thd@entry=0x14f3c8000db8, parser_state=parser_state@entry=0x14f40c8d0400, creation_ctx=creation_ctx@entry=0x0, do_pfs_digest=do_pfs_digest@entry=true) at /test/10.8_dbg/sql/sql_parse.cc:10406 #8 0x00005565200d6b07 in mysql_parse (thd=thd@entry=0x14f3c8000db8, rawbuf=<optimized out>, length=58, parser_state=parser_state@entry=0x14f40c8d0400) at /test/10.8_dbg/sql/sql_parse.cc:7980 #9 0x00005565200e5949 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14f3c8000db8, packet=packet@entry=0x14f3c800b879 "CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 INCREMENT 0", packet_length=packet_length@entry=58, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_class.h:1360 #10 0x00005565200e8d83 in do_command (thd=0x14f3c8000db8, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_parse.cc:1402 #11 0x0000556520262e2a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5565230250c8, put_in_cache=put_in_cache@entry=true) at /test/10.8_dbg/sql/sql_connect.cc:1418 #12 0x000055652026342f in handle_one_connection (arg=arg@entry=0x5565230250c8) at /test/10.8_dbg/sql/sql_connect.cc:1312 #13 0x00005565206e34ce in pfs_spawn_thread (arg=0x556522f38b68) at /test/10.8_dbg/storage/perfschema/pfs.cc:2201 #14 0x000014f40f9bf609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #15 0x000014f40f5ad293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Bug confirmed present in: MariaDB: 10.3.33 (dbg), 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.0 (dbg)
            Roel Roel Van de Paar added a comment - - edited

            Different stack with

            SET GLOBAL AUTO_INCREMENT_OFFSET=36;
            SET sql_mode=ORACLE;
            SET GLOBAL AUTO_INCREMENT_INCREMENT=19;
            CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 increment 0;
            

            Leads to:

            10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)

            mysqld: /test/10.9_dbg/sql/sql_sequence.cc:591: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed.
            

            10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)

            Core was generated by `/test/MD140222-mariadb-10.9.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            [Current thread is 1 (Thread 0x1455b81fa700 (LWP 2640233))]
            (gdb) bt
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            #1  0x00001455ccc93859 in __GI_abort () at abort.c:79
            #2  0x00001455ccc93729 in __assert_fail_base (fmt=0x1455cce29588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x560a8bb91f10 "llabs(next_free_value % real_increment) == offset", file=0x560a8bb91e90 "/test/10.9_dbg/sql/sql_sequence.cc", line=591, function=<optimized out>) at assert.c:92
            #3  0x00001455ccca4f36 in __GI___assert_fail (assertion=assertion@entry=0x560a8bb91f10 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x560a8bb91e90 "/test/10.9_dbg/sql/sql_sequence.cc", line=line@entry=591, function=function@entry=0x560a8bb91f48 "void sequence_definition::adjust_values(longlong)") at assert.c:101
            #4  0x0000560a8b0aeaaa in sequence_definition::adjust_values (this=this@entry=0x145508014600, next_value=<optimized out>) at /test/10.9_dbg/sql/sql_sequence.cc:591
            #5  0x0000560a8b0aeb6b in sequence_definition::check_and_adjust (this=0x145508014600, set_reserved_until=set_reserved_until@entry=true) at /test/10.9_dbg/sql/sql_sequence.cc:113
            #6  0x0000560a8b0fa967 in ORAparse (thd=thd@entry=0x145508000db8) at /test/10.9_dbg/sql/sql_yacc.yy:2408
            #7  0x0000560a8ae4fb62 in parse_sql (thd=thd@entry=0x145508000db8, parser_state=parser_state@entry=0x1455b81f9400, creation_ctx=creation_ctx@entry=0x0, do_pfs_digest=do_pfs_digest@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:10378
            #8  0x0000560a8ae4a16f in mysql_parse (thd=thd@entry=0x145508000db8, rawbuf=<optimized out>, length=58, parser_state=parser_state@entry=0x1455b81f9400) at /test/10.9_dbg/sql/sql_parse.cc:7979
            #9  0x0000560a8ae58fb1 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x145508000db8, packet=packet@entry=0x14550800b889 "CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 increment 0", packet_length=packet_length@entry=58, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362
            #10 0x0000560a8ae5c3f8 in do_command (thd=0x145508000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1402
            #11 0x0000560a8afd6fc4 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x560a8ef65828, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418
            #12 0x0000560a8afd75c9 in handle_one_connection (arg=arg@entry=0x560a8ef65828) at /test/10.9_dbg/sql/sql_connect.cc:1312
            #13 0x0000560a8b45dd67 in pfs_spawn_thread (arg=0x560a8eea7e38) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201
            #14 0x00001455cd1a2609 in start_thread (arg=<optimized out>) at pthread_create.c:477
            #15 0x00001455ccd90293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            Bug confirmed present in:
            MariaDB: 10.3.33 (dbg), 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.1 (dbg), 10.9.0 (dbg)

            Bug (or feature/syntax) confirmed not present in:
            MariaDB: 10.2.42 (dbg), 10.2.42 (opt), 10.3.33 (opt), 10.4.23 (opt), 10.5.14 (opt), 10.6.6 (opt), 10.7.2 (opt), 10.8.1 (opt), 10.9.0 (opt)
            MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.36 (dbg), 5.7.36 (opt), 8.0.27 (dbg), 8.0.27 (opt)

            Roel Roel Van de Paar added a comment - - edited Different stack with SET GLOBAL AUTO_INCREMENT_OFFSET=36; SET sql_mode=ORACLE; SET GLOBAL AUTO_INCREMENT_INCREMENT=19; CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 increment 0; Leads to: 10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug) mysqld: /test/10.9_dbg/sql/sql_sequence.cc:591: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed. 10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug) Core was generated by `/test/MD140222-mariadb-10.9.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 [Current thread is 1 (Thread 0x1455b81fa700 (LWP 2640233))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00001455ccc93859 in __GI_abort () at abort.c:79 #2 0x00001455ccc93729 in __assert_fail_base (fmt=0x1455cce29588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x560a8bb91f10 "llabs(next_free_value % real_increment) == offset", file=0x560a8bb91e90 "/test/10.9_dbg/sql/sql_sequence.cc", line=591, function=<optimized out>) at assert.c:92 #3 0x00001455ccca4f36 in __GI___assert_fail (assertion=assertion@entry=0x560a8bb91f10 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x560a8bb91e90 "/test/10.9_dbg/sql/sql_sequence.cc", line=line@entry=591, function=function@entry=0x560a8bb91f48 "void sequence_definition::adjust_values(longlong)") at assert.c:101 #4 0x0000560a8b0aeaaa in sequence_definition::adjust_values (this=this@entry=0x145508014600, next_value=<optimized out>) at /test/10.9_dbg/sql/sql_sequence.cc:591 #5 0x0000560a8b0aeb6b in sequence_definition::check_and_adjust (this=0x145508014600, set_reserved_until=set_reserved_until@entry=true) at /test/10.9_dbg/sql/sql_sequence.cc:113 #6 0x0000560a8b0fa967 in ORAparse (thd=thd@entry=0x145508000db8) at /test/10.9_dbg/sql/sql_yacc.yy:2408 #7 0x0000560a8ae4fb62 in parse_sql (thd=thd@entry=0x145508000db8, parser_state=parser_state@entry=0x1455b81f9400, creation_ctx=creation_ctx@entry=0x0, do_pfs_digest=do_pfs_digest@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:10378 #8 0x0000560a8ae4a16f in mysql_parse (thd=thd@entry=0x145508000db8, rawbuf=<optimized out>, length=58, parser_state=parser_state@entry=0x1455b81f9400) at /test/10.9_dbg/sql/sql_parse.cc:7979 #9 0x0000560a8ae58fb1 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x145508000db8, packet=packet@entry=0x14550800b889 "CREATE SEQUENCE s START WITH -3 MINVALUE=-1000 increment 0", packet_length=packet_length@entry=58, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362 #10 0x0000560a8ae5c3f8 in do_command (thd=0x145508000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1402 #11 0x0000560a8afd6fc4 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x560a8ef65828, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418 #12 0x0000560a8afd75c9 in handle_one_connection (arg=arg@entry=0x560a8ef65828) at /test/10.9_dbg/sql/sql_connect.cc:1312 #13 0x0000560a8b45dd67 in pfs_spawn_thread (arg=0x560a8eea7e38) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201 #14 0x00001455cd1a2609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #15 0x00001455ccd90293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Bug confirmed present in: MariaDB: 10.3.33 (dbg), 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.1 (dbg), 10.9.0 (dbg) Bug (or feature/syntax) confirmed not present in: MariaDB: 10.2.42 (dbg), 10.2.42 (opt), 10.3.33 (opt), 10.4.23 (opt), 10.5.14 (opt), 10.6.6 (opt), 10.7.2 (opt), 10.8.1 (opt), 10.9.0 (opt) MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.36 (dbg), 5.7.36 (opt), 8.0.27 (dbg), 8.0.27 (opt)
            Roel Roel Van de Paar added a comment - - edited

            bar How significant is the ORACLE mode in the last testcase? Just a coincidence/circumstance or is the issue (for that testcase) due to/related to ORACLE mode being faulty somehow? Thank you

            Roel Roel Van de Paar added a comment - - edited bar How significant is the ORACLE mode in the last testcase? Just a coincidence/circumstance or is the issue (for that testcase) due to/related to ORACLE mode being faulty somehow? Thank you

            Additional stack with:

            CREATE SEQUENCE s START WITH -3 MINVALUE=-10 INCREMENT 0;
            SET GLOBAL AUTO_INCREMENT_INCREMENT=3;
            FLUSH TABLES;
            UPDATE s SET a=1;
            

            10.11.1 50c5743adc87e1cdec1431a02558f6540fe5a6d5 (Debug)

            mysqld: /test/10.11_dbg/sql/sql_sequence.cc:599: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed.
            

            10.11.1 50c5743adc87e1cdec1431a02558f6540fe5a6d5 (Debug)

            Core was generated by `/test/MD221022-mariadb-10.11.1-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            [Current thread is 1 (Thread 0x147a841ae700 (LWP 3222636))]
            (gdb) bt
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
            #1  0x0000147ab1f38859 in __GI_abort () at abort.c:79
            #2  0x0000147ab1f38729 in __assert_fail_base (fmt=0x147ab20ce588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5580cbdebb18 "llabs(next_free_value % real_increment) == offset", file=0x5580cbdebac8 "/test/10.11_dbg/sql/sql_sequence.cc", line=599, function=<optimized out>) at assert.c:92
            #3  0x0000147ab1f49fd6 in __GI___assert_fail (assertion=assertion@entry=0x5580cbdebb18 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x5580cbdebac8 "/test/10.11_dbg/sql/sql_sequence.cc", line=line@entry=599, function=function@entry=0x5580cbdebb50 "void sequence_definition::adjust_values(longlong)") at assert.c:101
            #4  0x00005580cb4085c2 in sequence_definition::adjust_values (this=this@entry=0x1479f001b340, next_value=<optimized out>) at /test/10.11_dbg/sql/sql_sequence.cc:599
            #5  0x00005580cb4087ae in SEQUENCE::read_stored_values (this=this@entry=0x1479f001b340, table=0x5580ce73d828) at /test/10.11_dbg/sql/sql_sequence.cc:554
            #6  0x00005580cb408906 in SEQUENCE::read_initial_values (this=0x1479f001b340, table=<optimized out>) at /test/10.11_dbg/sql/sql_sequence.cc:507
            #7  0x00005580cb76584d in ha_sequence::open (this=0x1479f0033060, name=<optimized out>, mode=<optimized out>, flags=18) at /test/10.11_dbg/sql/ha_sequence.cc:122
            #8  0x00005580cb4bdf6d in handler::ha_open (this=0x1479f0033060, table_arg=table_arg@entry=0x5580ce73d828, name=0x1479f0028860 "./test/s", mode=mode@entry=2, test_if_locked=test_if_locked@entry=18, mem_root=mem_root@entry=0x0, partitions_to_open=0x0) at /test/10.11_dbg/sql/handler.cc:3331
            #9  0x00005580cb2f7e03 in open_table_from_share (thd=thd@entry=0x1479f0000d48, share=share@entry=0x1479f00282a0, alias=alias@entry=0x1479f0013318, db_stat=db_stat@entry=33, prgflag=prgflag@entry=8, ha_open_flags=18, outparam=0x5580ce73d828, is_create_table=false, partitions_to_open=0x0) at /test/10.11_dbg/sql/table.cc:4451
            #10 0x00005580cb1573ff in open_table (thd=thd@entry=0x1479f0000d48, table_list=table_list@entry=0x1479f00132f8, ot_ctx=ot_ctx@entry=0x147a841ac6f0) at /test/10.11_dbg/sql/sql_base.cc:2180
            #11 0x00005580cb15b903 in open_and_process_table (ot_ctx=0x147a841ac6f0, has_prelocking_list=false, prelocking_strategy=0x147a841ac8b0, flags=0, counter=0x147a841ac854, tables=0x1479f00132f8, thd=0x1479f0000d48) at /test/10.11_dbg/sql/sql_base.cc:4111
            #12 open_tables (thd=thd@entry=0x1479f0000d48, options=@0x1479f00065c0: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x147a841ac838, counter=counter@entry=0x147a841ac854, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x147a841ac8b0) at /test/10.11_dbg/sql/sql_base.cc:4598
            #13 0x00005580cb2e1304 in open_tables (flags=0, counter=0x147a841ac854, tables=0x147a841ac838, thd=0x1479f0000d48) at /test/10.11_dbg/sql/sql_base.h:480
            #14 mysql_update (thd=thd@entry=0x1479f0000d48, table_list=<optimized out>, fields=@0x1479f0005a50: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1479f0013bc0, last = 0x1479f0013bc0, elements = 1}, <No data fields>}, values=@0x1479f0005e80: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1479f0013bd0, last = 0x1479f0013bd0, elements = 1}, <No data fields>}, conds=<optimized out>, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x147a841accd0, updated_return=0x147a841acdc0) at /test/10.11_dbg/sql/sql_update.cc:410
            #15 0x00005580cb1dffe6 in mysql_execute_command (thd=thd@entry=0x1479f0000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.11_dbg/sql/sql_limit.h:85
            #16 0x00005580cb1ccf90 in mysql_parse (thd=thd@entry=0x1479f0000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x147a841ad300) at /test/10.11_dbg/sql/sql_parse.cc:8023
            #17 0x00005580cb1da4ac in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1479f0000d48, packet=packet@entry=0x1479f000af09 "UPDATE s SET a=1", packet_length=packet_length@entry=16, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_class.h:1346
            #18 0x00005580cb1dc8f4 in do_command (thd=0x1479f0000d48, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_parse.cc:1407
            #19 0x00005580cb339067 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5580ce74a9e8, put_in_cache=put_in_cache@entry=true) at /test/10.11_dbg/sql/sql_connect.cc:1416
            #20 0x00005580cb339536 in handle_one_connection (arg=0x5580ce74a9e8) at /test/10.11_dbg/sql/sql_connect.cc:1318
            #21 0x0000147ab2449609 in start_thread (arg=<optimized out>) at pthread_create.c:477
            #22 0x0000147ab2035133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            UniqueID's/stacks seen thus far (the last one in the list is the testcase in this comment):

            llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|MYSQLparse|parse_sql
            llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|ORAparse|parse_sql
            llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|SEQUENCE::read_stored_values|SEQUENCE::read_initial_values|ha_sequence::open
            

            Roel Roel Van de Paar added a comment - Additional stack with: CREATE SEQUENCE s START WITH -3 MINVALUE=-10 INCREMENT 0; SET GLOBAL AUTO_INCREMENT_INCREMENT=3; FLUSH TABLES; UPDATE s SET a=1; 10.11.1 50c5743adc87e1cdec1431a02558f6540fe5a6d5 (Debug) mysqld: /test/10.11_dbg/sql/sql_sequence.cc:599: void sequence_definition::adjust_values(longlong): Assertion `llabs(next_free_value % real_increment) == offset' failed. 10.11.1 50c5743adc87e1cdec1431a02558f6540fe5a6d5 (Debug) Core was generated by `/test/MD221022-mariadb-10.11.1-linux-x86_64-dbg/bin/mysqld --no-defaults --core'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 [Current thread is 1 (Thread 0x147a841ae700 (LWP 3222636))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x0000147ab1f38859 in __GI_abort () at abort.c:79 #2 0x0000147ab1f38729 in __assert_fail_base (fmt=0x147ab20ce588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5580cbdebb18 "llabs(next_free_value % real_increment) == offset", file=0x5580cbdebac8 "/test/10.11_dbg/sql/sql_sequence.cc", line=599, function=<optimized out>) at assert.c:92 #3 0x0000147ab1f49fd6 in __GI___assert_fail (assertion=assertion@entry=0x5580cbdebb18 "llabs(next_free_value % real_increment) == offset", file=file@entry=0x5580cbdebac8 "/test/10.11_dbg/sql/sql_sequence.cc", line=line@entry=599, function=function@entry=0x5580cbdebb50 "void sequence_definition::adjust_values(longlong)") at assert.c:101 #4 0x00005580cb4085c2 in sequence_definition::adjust_values (this=this@entry=0x1479f001b340, next_value=<optimized out>) at /test/10.11_dbg/sql/sql_sequence.cc:599 #5 0x00005580cb4087ae in SEQUENCE::read_stored_values (this=this@entry=0x1479f001b340, table=0x5580ce73d828) at /test/10.11_dbg/sql/sql_sequence.cc:554 #6 0x00005580cb408906 in SEQUENCE::read_initial_values (this=0x1479f001b340, table=<optimized out>) at /test/10.11_dbg/sql/sql_sequence.cc:507 #7 0x00005580cb76584d in ha_sequence::open (this=0x1479f0033060, name=<optimized out>, mode=<optimized out>, flags=18) at /test/10.11_dbg/sql/ha_sequence.cc:122 #8 0x00005580cb4bdf6d in handler::ha_open (this=0x1479f0033060, table_arg=table_arg@entry=0x5580ce73d828, name=0x1479f0028860 "./test/s", mode=mode@entry=2, test_if_locked=test_if_locked@entry=18, mem_root=mem_root@entry=0x0, partitions_to_open=0x0) at /test/10.11_dbg/sql/handler.cc:3331 #9 0x00005580cb2f7e03 in open_table_from_share (thd=thd@entry=0x1479f0000d48, share=share@entry=0x1479f00282a0, alias=alias@entry=0x1479f0013318, db_stat=db_stat@entry=33, prgflag=prgflag@entry=8, ha_open_flags=18, outparam=0x5580ce73d828, is_create_table=false, partitions_to_open=0x0) at /test/10.11_dbg/sql/table.cc:4451 #10 0x00005580cb1573ff in open_table (thd=thd@entry=0x1479f0000d48, table_list=table_list@entry=0x1479f00132f8, ot_ctx=ot_ctx@entry=0x147a841ac6f0) at /test/10.11_dbg/sql/sql_base.cc:2180 #11 0x00005580cb15b903 in open_and_process_table (ot_ctx=0x147a841ac6f0, has_prelocking_list=false, prelocking_strategy=0x147a841ac8b0, flags=0, counter=0x147a841ac854, tables=0x1479f00132f8, thd=0x1479f0000d48) at /test/10.11_dbg/sql/sql_base.cc:4111 #12 open_tables (thd=thd@entry=0x1479f0000d48, options=@0x1479f00065c0: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x147a841ac838, counter=counter@entry=0x147a841ac854, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x147a841ac8b0) at /test/10.11_dbg/sql/sql_base.cc:4598 #13 0x00005580cb2e1304 in open_tables (flags=0, counter=0x147a841ac854, tables=0x147a841ac838, thd=0x1479f0000d48) at /test/10.11_dbg/sql/sql_base.h:480 #14 mysql_update (thd=thd@entry=0x1479f0000d48, table_list=<optimized out>, fields=@0x1479f0005a50: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1479f0013bc0, last = 0x1479f0013bc0, elements = 1}, <No data fields>}, values=@0x1479f0005e80: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1479f0013bd0, last = 0x1479f0013bd0, elements = 1}, <No data fields>}, conds=<optimized out>, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x147a841accd0, updated_return=0x147a841acdc0) at /test/10.11_dbg/sql/sql_update.cc:410 #15 0x00005580cb1dffe6 in mysql_execute_command (thd=thd@entry=0x1479f0000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.11_dbg/sql/sql_limit.h:85 #16 0x00005580cb1ccf90 in mysql_parse (thd=thd@entry=0x1479f0000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x147a841ad300) at /test/10.11_dbg/sql/sql_parse.cc:8023 #17 0x00005580cb1da4ac in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1479f0000d48, packet=packet@entry=0x1479f000af09 "UPDATE s SET a=1", packet_length=packet_length@entry=16, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_class.h:1346 #18 0x00005580cb1dc8f4 in do_command (thd=0x1479f0000d48, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_parse.cc:1407 #19 0x00005580cb339067 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5580ce74a9e8, put_in_cache=put_in_cache@entry=true) at /test/10.11_dbg/sql/sql_connect.cc:1416 #20 0x00005580cb339536 in handle_one_connection (arg=0x5580ce74a9e8) at /test/10.11_dbg/sql/sql_connect.cc:1318 #21 0x0000147ab2449609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #22 0x0000147ab2035133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 UniqueID's/stacks seen thus far (the last one in the list is the testcase in this comment): llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|MYSQLparse|parse_sql llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|ORAparse|parse_sql llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|SEQUENCE::read_stored_values|SEQUENCE::read_initial_values|ha_sequence::open

            Additional stack with

            SET sql_mode='';
            CREATE TABLE t1 (a INT) ENGINE=InnoDB;
            INSERT INTO t1 VALUES ('-1000000');
            SELECT * FROM t1 INTO OUTFILE 'a';
            SET GLOBAL AUTO_INCREMENT_INCREMENT=25;
            CREATE SEQUENCE t;
            LOAD DATA INFILE 'a' INTO TABLE t;
            

            Produces

            llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|ha_sequence::write_row|handler::ha_write_row
            

            Roel Roel Van de Paar added a comment - Additional stack with SET sql_mode= '' ; CREATE TABLE t1 (a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES ( '-1000000' ); SELECT * FROM t1 INTO OUTFILE 'a' ; SET GLOBAL AUTO_INCREMENT_INCREMENT=25; CREATE SEQUENCE t; LOAD DATA INFILE 'a' INTO TABLE t; Produces llabs(next_free_value % real_increment) == offset|SIGABRT|sequence_definition::adjust_values|sequence_definition::check_and_adjust|ha_sequence::write_row|handler::ha_write_row

            People

              sanja Oleksandr Byelkin
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.