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

TokuDB: Server crashes on ROLLBACK TO SAVEPOINT after the 2nd savepoint

Details

    Description

      #3  <signal handler called>
      #4  0x00007f161f948668 in tokudb_rollback_to_savepoint (hton=0x7f1614044e40, thd=0x39fcdc0, savepoint=0x7f1614007528) at 5.5-hf-tokudb/storage/tokudb/hatoku_hton.cc:1000
      #5  0x00000000007cc9b1 in ha_rollback_to_savepoint (thd=0x39fcdc0, sv=0x7f16140074c8) at 5.5-hf-tokudb/sql/handler.cc:1858
      #6  0x0000000000723d8a in trans_rollback_to_savepoint (thd=0x39fcdc0, name=...) at 5.5-hf-tokudb/sql/transaction.cc:479
      #7  0x0000000000614373 in mysql_execute_command (thd=0x39fcdc0) at 5.5-hf-tokudb/sql/sql_parse.cc:3852
      #8  0x0000000000619204 in mysql_parse (thd=0x39fcdc0, rawbuf=0x7f161408ab38 "rollback to savepoint sp1", length=25, parser_state=0x7f161fcf1500) at 5.5-hf-tokudb/sql/sql_parse.cc:5760
      #9  0x000000000060c8f4 in dispatch_command (command=COM_QUERY, thd=0x39fcdc0, packet=0x3a6dad1 "rollback to savepoint sp1", packet_length=25) at 5.5-hf-tokudb/sql/sql_parse.cc:1068
      #10 0x000000000060bb35 in do_command (thd=0x39fcdc0) at 5.5-hf-tokudb/sql/sql_parse.cc:794
      #11 0x0000000000712025 in do_handle_one_connection (thd_arg=0x39fcdc0) at 5.5-hf-tokudb/sql/sql_connect.cc:1266
      #12 0x0000000000711a0c in handle_one_connection (arg=0x39fcdc0) at 5.5-hf-tokudb/sql/sql_connect.cc:1181
      #13 0x0000000000960094 in pfs_spawn_thread (arg=0x3a40df0) at 5.5-hf-tokudb/storage/perfschema/pfs.cc:1015
      #14 0x00007f162b3dee9a in start_thread (arg=0x7f161fcf2700) at pthread_create.c:308
      #15 0x00007f162a6d2cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      bzr version-info

      revision-id: holyfoot@askmonty.org-20130514121908-d6tp4zsdkim0q4dg
      revno: 3768
      branch-nick: 5.5-hf-tokudb

      Test case:

      install soname 'ha_tokudb.so';
       
      drop table if exists t_toku;
      create table t_toku (pk int primary key) engine=TokuDB;
      begin;
      insert into t_toku values (1),(2);
      savepoint sp1;
      insert into t_toku values (3);
      savepoint sp2;
      insert into t_toku values (4);
      rollback to savepoint sp1;
      commit;
       
      select * from t_toku;
      drop table t_toku;

      Attachments

        Issue Links

          Activity

            Not reproducible on MariaDB-5.5.30-TokuDB-7.0.1

            elenst Elena Stepanova added a comment - Not reproducible on MariaDB-5.5.30-TokuDB-7.0.1

            probably fixed by other my changes

            serg Sergei Golubchik added a comment - probably fixed by other my changes
            Roel Roel Van de Paar added a comment - - edited

            A testrun picked up on this bug in a 10.4 run in combination with XA

            USE test;
            INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';
            CREATE TEMPORARY TABLE t (c1 INT,c2 INT,c3 INT) ENGINE=InnoDB;
            CREATE TABLE t (a INT) ENGINE=TokuDB;
            DROP TABLE t;
            XA START 'a';
            INSERT INTO t VALUES (1);
            SAVEPOINT sp1;
            SAVEPOINT sp2;
            ROLLBACK TO sp1;
            

            Leads to:

            10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Debug)

            Core was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
            Program terminated with signal SIGSEGV, Segmentation fault.
            #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
                at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
            [Current thread is 1 (Thread 0x14e92b720700 (LWP 3067192))]
            (gdb) bt
            #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
            #1  0x0000558947a72308 in my_write_core (sig=sig@entry=11) at /test/10.4_dbg/mysys/stacktrace.c:386
            #2  0x00005589471f83c8 in handle_fatal_signal (sig=11) at /test/10.4_dbg/sql/signal_handler.cc:343
            #3  <signal handler called>
            #4  tokudb_rollback_to_savepoint (hton=0x14e92846a270, thd=0x14e903815070, savepoint=0x14e903874110) at /test/10.4_dbg/storage/tokudb/hatoku_hton.cc:1161
            #5  0x00005589471fe7b4 in ha_rollback_to_savepoint (thd=thd@entry=0x14e903815070, sv=sv@entry=0x14e903874088) at /test/10.4_dbg/sql/handler.cc:2350
            #6  0x0000558947094733 in trans_rollback_to_savepoint (thd=thd@entry=0x14e903815070, name=<optimized out>) at /test/10.4_dbg/sql/transaction.cc:652
            #7  0x0000558946f48423 in mysql_execute_command (thd=thd@entry=0x14e903815070) at /test/10.4_dbg/sql/sql_parse.cc:5687
            #8  0x0000558946f4c237 in mysql_parse (thd=thd@entry=0x14e903815070, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14e92b71f460, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7896
            #9  0x0000558946f4eac7 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e903815070, packet=packet@entry=0x14e903857071 "ROLLBACK TO sp1", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:1834
            #10 0x0000558946f52502 in do_command (thd=0x14e903815070) at /test/10.4_dbg/sql/sql_parse.cc:1352
            #11 0x000055894708011c in do_handle_one_connection (connect=connect@entry=0x14e928435790) at /test/10.4_dbg/sql/sql_connect.cc:1412
            #12 0x000055894708023c in handle_one_connection (arg=0x14e928435790) at /test/10.4_dbg/sql/sql_connect.cc:1316
            #13 0x000014e92a91e6db in start_thread (arg=0x14e92b720700) at pthread_create.c:463
            #14 0x000014e929a98a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Optimized)

            Core was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-opt/bin/mysqld --no-defaults --core'.
            Program terminated with signal SIGSEGV, Segmentation fault.
            #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
                at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
            [Current thread is 1 (Thread 0x1554867cd700 (LWP 3077357))]
            (gdb) bt
            #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
            #1  0x000055f22927b537 in my_write_core (sig=sig@entry=11) at /data/10.4_opt/mysys/stacktrace.c:386
            #2  0x000055f228c5161a in handle_fatal_signal (sig=11) at /data/10.4_opt/sql/signal_handler.cc:343
            #3  <signal handler called>
            #4  tokudb_rollback_to_savepoint (hton=0x15545ecfb1c8, thd=0x15545ec12008, savepoint=0x15545ec460a8) at /data/10.4_opt/storage/tokudb/hatoku_hton.cc:1161
            #5  0x000055f228c55787 in ha_rollback_to_savepoint (thd=thd@entry=0x15545ec12008, sv=sv@entry=0x15545ec46020) at /data/10.4_opt/sql/handler.cc:2350
            #6  0x000055f228b3656c in trans_rollback_to_savepoint (thd=thd@entry=0x15545ec12008, name=<optimized out>) at /data/10.4_opt/sql/transaction.cc:652
            #7  0x000055f228a40b55 in mysql_execute_command (thd=thd@entry=0x15545ec12008) at /data/10.4_opt/sql/sql_parse.cc:5687
            #8  0x000055f228a46b7a in mysql_parse (thd=0x15545ec12008, rawbuf=<optimized out>, length=15, parser_state=0x1554867cc4d0, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.4_opt/sql/sql_parse.cc:7896
            #9  0x000055f228a48fd5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x15545ec12008, packet=packet@entry=0x15545ec32009 "ROLLBACK TO sp1", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.4_opt/sql/sql_parse.cc:1834
            #10 0x000055f228a4a754 in do_command (thd=0x15545ec12008) at /data/10.4_opt/sql/sql_parse.cc:1352
            #11 0x000055f228b27e1e in do_handle_one_connection (connect=connect@entry=0x155483432748) at /data/10.4_opt/sql/sql_connect.cc:1412
            #12 0x000055f228b27edd in handle_one_connection (arg=0x155483432748) at /data/10.4_opt/sql/sql_connect.cc:1316
            #13 0x00001554859cb6db in start_thread (arg=0x1554867cd700) at pthread_create.c:463
            #14 0x0000155484b45a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            Bug confirmed present in:
            MariaDB: 10.1.47 (dbg), 10.1.47 (opt), 10.2.34 (dbg), 10.2.34 (opt), 10.3.25 (dbg), 10.3.25 (opt), 10.4.15 (dbg), 10.4.15 (opt)

            Bug confirmed not present in:
            MariaDB: 10.5.6 (dbg), 10.5.6 (opt), 10.6.0 (dbg), 10.6.0 (opt)
            MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.49 (dbg), 5.6.49 (opt), 5.7.31 (dbg), 5.7.31 (opt), 8.0.21 (dbg), 8.0.21 (opt)

            Roel Roel Van de Paar added a comment - - edited A testrun picked up on this bug in a 10.4 run in combination with XA USE test; INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so'; CREATE TEMPORARY TABLE t (c1 INT,c2 INT,c3 INT) ENGINE=InnoDB; CREATE TABLE t (a INT) ENGINE=TokuDB; DROP TABLE t; XA START 'a'; INSERT INTO t VALUES (1); SAVEPOINT sp1; SAVEPOINT sp2; ROLLBACK TO sp1; Leads to: 10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Debug) Core was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-dbg/bin/mysqld --no-defaults --core'. Program terminated with signal SIGSEGV, Segmentation fault. #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 [Current thread is 1 (Thread 0x14e92b720700 (LWP 3067192))] (gdb) bt #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 #1 0x0000558947a72308 in my_write_core (sig=sig@entry=11) at /test/10.4_dbg/mysys/stacktrace.c:386 #2 0x00005589471f83c8 in handle_fatal_signal (sig=11) at /test/10.4_dbg/sql/signal_handler.cc:343 #3 <signal handler called> #4 tokudb_rollback_to_savepoint (hton=0x14e92846a270, thd=0x14e903815070, savepoint=0x14e903874110) at /test/10.4_dbg/storage/tokudb/hatoku_hton.cc:1161 #5 0x00005589471fe7b4 in ha_rollback_to_savepoint (thd=thd@entry=0x14e903815070, sv=sv@entry=0x14e903874088) at /test/10.4_dbg/sql/handler.cc:2350 #6 0x0000558947094733 in trans_rollback_to_savepoint (thd=thd@entry=0x14e903815070, name=<optimized out>) at /test/10.4_dbg/sql/transaction.cc:652 #7 0x0000558946f48423 in mysql_execute_command (thd=thd@entry=0x14e903815070) at /test/10.4_dbg/sql/sql_parse.cc:5687 #8 0x0000558946f4c237 in mysql_parse (thd=thd@entry=0x14e903815070, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14e92b71f460, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7896 #9 0x0000558946f4eac7 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e903815070, packet=packet@entry=0x14e903857071 "ROLLBACK TO sp1", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:1834 #10 0x0000558946f52502 in do_command (thd=0x14e903815070) at /test/10.4_dbg/sql/sql_parse.cc:1352 #11 0x000055894708011c in do_handle_one_connection (connect=connect@entry=0x14e928435790) at /test/10.4_dbg/sql/sql_connect.cc:1412 #12 0x000055894708023c in handle_one_connection (arg=0x14e928435790) at /test/10.4_dbg/sql/sql_connect.cc:1316 #13 0x000014e92a91e6db in start_thread (arg=0x14e92b720700) at pthread_create.c:463 #14 0x000014e929a98a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 10.4.15 de76bebc5798313e3798a35e02468e42254dd608 (Optimized) Core was generated by `/test/MD150920-mariadb-10.4.15-linux-x86_64-opt/bin/mysqld --no-defaults --core'. Program terminated with signal SIGSEGV, Segmentation fault. #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 [Current thread is 1 (Thread 0x1554867cd700 (LWP 3077357))] (gdb) bt #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 #1 0x000055f22927b537 in my_write_core (sig=sig@entry=11) at /data/10.4_opt/mysys/stacktrace.c:386 #2 0x000055f228c5161a in handle_fatal_signal (sig=11) at /data/10.4_opt/sql/signal_handler.cc:343 #3 <signal handler called> #4 tokudb_rollback_to_savepoint (hton=0x15545ecfb1c8, thd=0x15545ec12008, savepoint=0x15545ec460a8) at /data/10.4_opt/storage/tokudb/hatoku_hton.cc:1161 #5 0x000055f228c55787 in ha_rollback_to_savepoint (thd=thd@entry=0x15545ec12008, sv=sv@entry=0x15545ec46020) at /data/10.4_opt/sql/handler.cc:2350 #6 0x000055f228b3656c in trans_rollback_to_savepoint (thd=thd@entry=0x15545ec12008, name=<optimized out>) at /data/10.4_opt/sql/transaction.cc:652 #7 0x000055f228a40b55 in mysql_execute_command (thd=thd@entry=0x15545ec12008) at /data/10.4_opt/sql/sql_parse.cc:5687 #8 0x000055f228a46b7a in mysql_parse (thd=0x15545ec12008, rawbuf=<optimized out>, length=15, parser_state=0x1554867cc4d0, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/10.4_opt/sql/sql_parse.cc:7896 #9 0x000055f228a48fd5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x15545ec12008, packet=packet@entry=0x15545ec32009 "ROLLBACK TO sp1", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/10.4_opt/sql/sql_parse.cc:1834 #10 0x000055f228a4a754 in do_command (thd=0x15545ec12008) at /data/10.4_opt/sql/sql_parse.cc:1352 #11 0x000055f228b27e1e in do_handle_one_connection (connect=connect@entry=0x155483432748) at /data/10.4_opt/sql/sql_connect.cc:1412 #12 0x000055f228b27edd in handle_one_connection (arg=0x155483432748) at /data/10.4_opt/sql/sql_connect.cc:1316 #13 0x00001554859cb6db in start_thread (arg=0x1554867cd700) at pthread_create.c:463 #14 0x0000155484b45a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Bug confirmed present in: MariaDB: 10.1.47 (dbg), 10.1.47 (opt), 10.2.34 (dbg), 10.2.34 (opt), 10.3.25 (dbg), 10.3.25 (opt), 10.4.15 (dbg), 10.4.15 (opt) Bug confirmed not present in: MariaDB: 10.5.6 (dbg), 10.5.6 (opt), 10.6.0 (dbg), 10.6.0 (opt) MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.49 (dbg), 5.6.49 (opt), 5.7.31 (dbg), 5.7.31 (opt), 8.0.21 (dbg), 8.0.21 (opt)

            People

              serg Sergei Golubchik
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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