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

Assertion `!thd->spcont' failed in bool net_send_error

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.2(EOL), 10.3(EOL)
    • 10.2.17
    • Optimizer - CTE
    • None

    Description

      bb-10.2-marko 72689ee5c42fb8cfbc53cd1316bbd2e60c1ebb78

      2018-01-31  5:26:48 140168137496320 [Note] /home/elenst/bld/bb-10.2-marko/bin/mysqld (rqg[rqg] @ localhost [127.0.0.1]): Normal shutdown
      2018-01-31  5:26:48 140168036071168 [Note] InnoDB: FTS optimize thread exiting.
      2018-01-31  5:26:48 140168137496320 [Note] Event Scheduler: Purging the queue. 0 events
      2018-01-31  5:27:08 140168137496320 [Warning] /home/elenst/bld/bb-10.2-marko/bin/mysqld: Forcing close of thread 22  user: 'rqg'
       
      mysqld: /home/elenst/git/bb-10.2-marko/sql/protocol.cc:155: bool net_send_error(THD*, uint, const char*, const char*): Assertion `!thd->spcont' failed.
      180131  5:27:08 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f7b9a9a5c82 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
      #8  0x000055a366b37b77 in net_send_error (thd=0x7f7afc000b00, sql_errno=1053, err=0x55a36a0b7489 "Server shutdown in progress", sqlstate=0x0) at /home/elenst/git/bb-10.2-marko/sql/protocol.cc:155
      #9  0x000055a366b221c1 in close_connection (thd=0x7f7afc000b00, sql_errno=1053) at /home/elenst/git/bb-10.2-marko/sql/mysqld.cc:2816
      #10 0x000055a366b1fc1b in close_connections () at /home/elenst/git/bb-10.2-marko/sql/mysqld.cc:1782
      #11 0x000055a366b203d4 in kill_server (sig_ptr=0x0) at /home/elenst/git/bb-10.2-marko/sql/mysqld.cc:2006
      #12 0x000055a366b2044f in kill_server_thread (arg=0x7f7b9805ae50) at /home/elenst/git/bb-10.2-marko/sql/mysqld.cc:2038
      #13 0x00007f7b9b5e96ba in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
      #14 0x00007f7b9aa7e82d in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      experimental 0bc930df82b107fc1a1a6eda10d340655b55fced

      perl /home/elenst/git/rqg/runall-new.pl --no-mask --seed=1517368777 --threads=6 --duration=400 --queries=100M --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --transformers=ExecuteAsPreparedTwice,ExecuteAsSPTwice --redefine=conf/mariadb/general-workarounds.yy --mysqld=--log_output=FILE --mysqld=--max-statement-time=30 --redefine=conf/mariadb/alter_table.yy --mysqld=--plugin-load-add=file_key_management --mysqld=--loose-file-key-management-filename=/home/elenst/git/rqg/data/file_key_management_keys.txt --mysqld=--loose-debug_assert_on_not_freed_memory=0 --rpl_mode=mixed-nosync --mysqld=--slave-skip-errors=1049,1305,1539,1505,1317,1568 --mysqld=--log_bin_trust_function_creators=1 --vcols --redefine=conf/mariadb/bulk_insert.yy --grammar=conf/runtime/metadata_stability.yy --gendata=conf/runtime/metadata_stability.zz --mysqld=--old-alter-table --engine=InnoDB --basedir=/home/elenst/bld/bb-10.2-marko --mtr-build-thread=72 --vardir1=/home/elenst/test_results/mdev11415-9/current1_1
      

      Not reproducible right away.

      Attachments

        1. alter_table.yy
          14 kB
          Elena Stepanova
        2. threads
          31 kB
          Elena Stepanova

        Activity

          alice Alice Sherepa added a comment -

          repeatable on 10.2 commit 8639e288086247ce39917f4cb5 , 10.3 46857a860c90a643a8859e1be

          --source include/have_innodb.inc
           
          --connection default
          CREATE or replace TABLE t1 (id int  KEY) engine=innodb;
          INSERT INTO t1 VALUES (0), (1),(2);
           
          CREATE OR REPLACE FUNCTION func() RETURNS int RETURN 
          ( WITH recursive cte AS (SELECT 1 a UNION SELECT cte.* FROM cte natural join t1) SELECT * FROM cte  limit 1 );
           
          --let $conid= `SELECT CONNECTION_ID()`
          --send SELECT func();
           
          --connect (con1,localhost,root,,)
          --eval KILL QUERY $conid
          --source include/restart_mysqld.inc
           
          --connection default
          

          2018-07-02 12:57:04 140593826244352 [Warning] /home/alice/git/10.2/sql/mysqld: Forcing close of thread 9  user: 'root'
           
          mysqld: /home/alice/git/10.2/sql/protocol.cc:155: bool net_send_error(THD*, uint, const char*, const char*): Assertion `!thd->spcont' failed.
          180702 12:57:04 [ERROR] mysqld got signal 6 ;
           
          Server version: 10.2.17-MariaDB-debug-log
          key_buffer_size=1048576
          read_buffer_size=131072
          max_used_connections=2
          max_threads=153
          thread_count=1
          It is possible that mysqld could use up to 
          key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63108 K  bytes of memory
          Hope that's ok; if not, decrease some variables in the equation.
           
          Thread pointer: 0x0
          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 = 0x0 thread_stack 0x49000
          /usr/lib/x86_64-linux-gnu/libasan.so.2(+0x4a077)[0x7fdea4eb4077]
          mysys/stacktrace.c:267(my_print_stacktrace)[0x55733718a6d4]
          sql/signal_handler.cc:168(handle_fatal_signal)[0x5573361854dc]
          /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fdea3d20390]
          linux/raise.c:54(__GI_raise)[0x7fdea30d9428]
          stdlib/abort.c:91(__GI_abort)[0x7fdea30db02a]
          assert/assert.c:92(__assert_fail_base)[0x7fdea30d1bd7]
          /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7fdea30d1c82]
          sql/protocol.cc:156(net_send_error(THD*, unsigned int, char const*, char const*))[0x557335a135eb]
          sql/mysqld.cc:2825(close_connection(THD*, unsigned int))[0x5573359e666e]
          sql/mysqld.cc:1800(close_connections())[0x5573359e272d]
          sql/mysqld.cc:2013(kill_server(void*))[0x5573359e3689]
          sql/mysqld.cc:2045(kill_server_thread)[0x5573359e3805]
          perfschema/pfs.cc:1864(pfs_spawn_thread)[0x55733708f2a8]
          /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fdea3d166ba]
          x86_64/clone.S:111(clone)[0x7fdea31ab41d]
          

          alice Alice Sherepa added a comment - repeatable on 10.2 commit 8639e288086247ce39917f4cb5 , 10.3 46857a860c90a643a8859e1be --source include/have_innodb.inc   --connection default CREATE or replace TABLE t1 (id int KEY ) engine=innodb; INSERT INTO t1 VALUES (0), (1),(2);   CREATE OR REPLACE FUNCTION func() RETURNS int RETURN ( WITH recursive cte AS ( SELECT 1 a UNION SELECT cte.* FROM cte natural join t1) SELECT * FROM cte limit 1 );   --let $conid= `SELECT CONNECTION_ID()` --send SELECT func();   --connect (con1,localhost,root,,) --eval KILL QUERY $conid --source include/restart_mysqld.inc   --connection default 2018-07-02 12:57:04 140593826244352 [Warning] /home/alice/git/10.2/sql/mysqld: Forcing close of thread 9 user: 'root'   mysqld: /home/alice/git/10.2/sql/protocol.cc:155: bool net_send_error(THD*, uint, const char*, const char*): Assertion `!thd->spcont' failed. 180702 12:57:04 [ERROR] mysqld got signal 6 ;   Server version: 10.2.17-MariaDB-debug-log key_buffer_size=1048576 read_buffer_size=131072 max_used_connections=2 max_threads=153 thread_count=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63108 K bytes of memory Hope that's ok; if not, decrease some variables in the equation.   Thread pointer: 0x0 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 = 0x0 thread_stack 0x49000 /usr/lib/x86_64-linux-gnu/libasan.so.2(+0x4a077)[0x7fdea4eb4077] mysys/stacktrace.c:267(my_print_stacktrace)[0x55733718a6d4] sql/signal_handler.cc:168(handle_fatal_signal)[0x5573361854dc] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fdea3d20390] linux/raise.c:54(__GI_raise)[0x7fdea30d9428] stdlib/abort.c:91(__GI_abort)[0x7fdea30db02a] assert/assert.c:92(__assert_fail_base)[0x7fdea30d1bd7] /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7fdea30d1c82] sql/protocol.cc:156(net_send_error(THD*, unsigned int, char const*, char const*))[0x557335a135eb] sql/mysqld.cc:2825(close_connection(THD*, unsigned int))[0x5573359e666e] sql/mysqld.cc:1800(close_connections())[0x5573359e272d] sql/mysqld.cc:2013(kill_server(void*))[0x5573359e3689] sql/mysqld.cc:2045(kill_server_thread)[0x5573359e3805] perfschema/pfs.cc:1864(pfs_spawn_thread)[0x55733708f2a8] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fdea3d166ba] x86_64/clone.S:111(clone)[0x7fdea31ab41d]

          This bug is actually a duplicate of bug MDEV-16661
          The test case for this bug was pushed into 10.2

          igor Igor Babaev (Inactive) added a comment - This bug is actually a duplicate of bug MDEV-16661 The test case for this bug was pushed into 10.2

          People

            igor Igor Babaev (Inactive)
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.