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

Galera: Assertion `field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || field_types[field_pos] == MYSQL_TYPE_LONG' fails in Protocol_text::store_long

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5.36-galera
    • Fix Version/s: 5.5.46-galera
    • Component/s: None
    • Labels:

      Description

      mysqld: maria-5.5-galera/sql/protocol.cc:1094: virtual bool Protocol_text::store_long(longlong): Assertion `field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || field_types[field_pos] == MYSQL_TYPE_LONG' failed.
      [ERROR] mysqld got signal 6 ;
      

      Selected threads:

      Thread 10 (Thread 0x7f9d20328700 (LWP 3423)):
      #0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
      #1  0x0000000000cfcb90 in safe_cond_timedwait (cond=0x34ce468, mp=0x34ce3c0, abstime=0x7f9d20326210, file=0xd9a3c8 "maria-5.5-galera/sql/mdl.cc", line=1202) at maria-5.5-galera/mysys/thr_mutex.c:547
      #2  0x0000000000725fc1 in inline_mysql_cond_timedwait (that=0x34ce468, mutex=0x34ce3c0, abstime=0x7f9d20326210, src_file=0xd9a3c8 "maria-5.5-galera/sql/mdl.cc", src_line=1202) at maria-5.5-galera/include/mysql/psi/mysql_thread.h:1018
      #3  0x0000000000727095 in MDL_wait::timed_wait (this=0x34ce3c0, thd=0x34ce2d0, abs_timeout=0x7f9d20326210, set_status_on_timeout=false, wait_state_name=0xd9a308 "Waiting for stored function metadata lock") at maria-5.5-galera/sql/mdl.cc:1202
      #4  0x0000000000728bc0 in MDL_context::acquire_lock (this=0x34ce3c0, mdl_request=0x7f9d20326690, lock_wait_timeout=31536000) at maria-5.5-galera/sql/mdl.cc:2209
      #5  0x000000000072903c in MDL_context::acquire_locks (this=0x34ce3c0, mdl_requests=0x7f9d20326320, lock_wait_timeout=31536000) at maria-5.5-galera/sql/mdl.cc:2320
      #6  0x00000000008bc6d5 in lock_object_name (thd=0x34ce2d0, mdl_type=MDL_key::FUNCTION, db=0x7f9cd42ca150 "test", name=0x7f9cd42ca148 "func1") at maria-5.5-galera/sql/lock.cc:903
      #7  0x000000000090eec7 in sp_drop_routine (thd=0x34ce2d0, type=TYPE_ENUM_FUNCTION, name=0x7f9cd42ca158) at maria-5.5-galera/sql/sp.cc:1259
      #8  0x000000000061fcac in mysql_execute_command (thd=0x34ce2d0) at maria-5.5-galera/sql/sql_parse.cc:4558
      #9  0x0000000000624da9 in mysql_parse (thd=0x34ce2d0, rawbuf=0x7f9cd42ca0a8 "DROP FUNCTION func1", length=19, parser_state=0x7f9d20327550) at maria-5.5-galera/sql/sql_parse.cc:6304
      #10 0x0000000000623e70 in wsrep_mysql_parse (thd=0x34ce2d0, rawbuf=0x7f9cd42ca0a8 "DROP FUNCTION func1", length=19, parser_state=0x7f9d20327550) at maria-5.5-galera/sql/sql_parse.cc:6069
      #11 0x0000000000616335 in dispatch_command (command=COM_QUERY, thd=0x34ce2d0, packet=0x35bccc1 "DROP FUNCTION func1", packet_length=19) at maria-5.5-galera/sql/sql_parse.cc:1245
      #12 0x0000000000615114 in do_command (thd=0x34ce2d0) at maria-5.5-galera/sql/sql_parse.cc:891
      #13 0x000000000071ddd7 in do_handle_one_connection (thd_arg=0x34ce2d0) at maria-5.5-galera/sql/sql_connect.cc:1291
      #14 0x000000000071d7af in handle_one_connection (arg=0x34ce2d0) at maria-5.5-galera/sql/sql_connect.cc:1199
      #15 0x00007f9d2fad3e9a in start_thread (arg=0x7f9d20328700) at pthread_create.c:308
      #16 0x00007f9d2f204cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      #17 0x0000000000000000 in ?? ()
      
      Thread 1 (Thread 0x7f9d202df700 (LWP 3425)):
      #0  __pthread_kill (threadid=<optimized out>, signo=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
      #1  0x0000000000cf4b80 in my_write_core (sig=6) at maria-5.5-galera/mysys/stacktrace.c:457
      #2  0x00000000007e5240 in handle_fatal_signal (sig=6) at maria-5.5-galera/sql/signal_handler.cc:262
      #3  <signal handler called>
      #4  0x00007f9d2f147425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
      #5  0x00007f9d2f14ab8b in __GI_abort () at abort.c:91
      #6  0x00007f9d2f1400ee in __assert_fail_base (fmt=<optimized out>, assertion=0xd5bd00 "field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || field_types[field_pos] == MYSQL_TYPE_LONG", file=0xd5b750 "maria-5.5-galera/sql/protocol.cc", line=<optimized out>, function=<optimized out>) at assert.c:94
      #7  0x00007f9d2f140192 in __GI___assert_fail (assertion=0xd5bd00 "field_types == 0 || field_types[field_pos] == MYSQL_TYPE_INT24 || field_types[field_pos] == MYSQL_TYPE_LONG", file=0xd5b750 "maria-5.5-galera/sql/protocol.cc", line=1094, function=0xd5c360 "virtual bool Protocol_text::store_long(longlong)") at assert.c:103
      #8  0x000000000057a58e in Protocol_text::store_long (this=0x35c1438, from=2) at maria-5.5-galera/sql/protocol.cc:1092
      #9  0x000000000080439a in Item::send (this=0x7f9cec0150c8, protocol=0x35c1438, buffer=0x7f9d202dc250) at maria-5.5-galera/sql/item.cc:6367
      #10 0x0000000000579c26 in Protocol::send_result_set_row (this=0x35c1438, row_items=0x7f9cec014428) at maria-5.5-galera/sql/protocol.cc:908
      #11 0x00000000005dfd7a in select_send::send_data (this=0x7f9cec02c008, items=...) at maria-5.5-galera/sql/sql_class.cc:2591
      #12 0x00000000006521fc in JOIN::exec (this=0x7f9cec02c028) at maria-5.5-galera/sql/sql_select.cc:2235
      #13 0x0000000000655073 in mysql_select (thd=0x35c0e70, rref_pointer_array=0x7f9cec014570, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147749632, result=0x7f9cec02c008, unit=0x7f9cec013c40, select_lex=0x7f9cec014318) at maria-5.5-galera/sql/sql_select.cc:3056
      #14 0x000000000064bbfa in handle_select (thd=0x35c0e70, lex=0x7f9cec013b90, result=0x7f9cec02c008, setup_tables_done_option=0) at maria-5.5-galera/sql/sql_select.cc:316
      #15 0x000000000062166e in execute_sqlcom_select (thd=0x35c0e70, all_tables=0x0) at maria-5.5-galera/sql/sql_parse.cc:5014
      #16 0x00000000006191ab in mysql_execute_command (thd=0x35c0e70) at maria-5.5-galera/sql/sql_parse.cc:2488
      #17 0x0000000000919568 in sp_instr_stmt::exec_core (this=0x7f9cec015230, thd=0x35c0e70, nextp=0x7f9d202dd6d8) at maria-5.5-galera/sql/sp_head.cc:3189
      #18 0x0000000000918db5 in sp_lex_keeper::reset_lex_and_exec_core (this=0x7f9cec015270, thd=0x35c0e70, nextp=0x7f9d202dd6d8, open_tables=false, instr=0x7f9cec015230) at maria-5.5-galera/sql/sp_head.cc:2983
      #19 0x0000000000919322 in sp_instr_stmt::execute (this=0x7f9cec015230, thd=0x35c0e70, nextp=0x7f9d202dd6d8) at maria-5.5-galera/sql/sp_head.cc:3121
      #20 0x0000000000914f48 in sp_head::execute (this=0x7f9cec0133e8, thd=0x35c0e70, merge_da_on_success=true) at maria-5.5-galera/sql/sp_head.cc:1425
      #21 0x0000000000916dd3 in sp_head::execute_procedure (this=0x7f9cec0133e8, thd=0x35c0e70, args=0x35c4100) at maria-5.5-galera/sql/sp_head.cc:2182
      #22 0x000000000061f628 in mysql_execute_command (thd=0x35c0e70) at maria-5.5-galera/sql/sql_parse.cc:4445
      #23 0x0000000000624da9 in mysql_parse (thd=0x35c0e70, rawbuf=0x7f9cec0063c8 "CALL proc1 ()", length=13, parser_state=0x7f9d202de550) at maria-5.5-galera/sql/sql_parse.cc:6304
      #24 0x0000000000623e70 in wsrep_mysql_parse (thd=0x35c0e70, rawbuf=0x7f9cec0063c8 "CALL proc1 ()", length=13, parser_state=0x7f9d202de550) at maria-5.5-galera/sql/sql_parse.cc:6069
      #25 0x0000000000616335 in dispatch_command (command=COM_QUERY, thd=0x35c0e70, packet=0x35c65d1 "CALL proc1 ()", packet_length=13) at maria-5.5-galera/sql/sql_parse.cc:1245
      #26 0x0000000000615114 in do_command (thd=0x35c0e70) at maria-5.5-galera/sql/sql_parse.cc:891
      #27 0x000000000071ddd7 in do_handle_one_connection (thd_arg=0x35c0e70) at maria-5.5-galera/sql/sql_connect.cc:1291
      #28 0x000000000071d7af in handle_one_connection (arg=0x35c0e70) at maria-5.5-galera/sql/sql_connect.cc:1199
      #29 0x00007f9d2fad3e9a in start_thread (arg=0x7f9d202df700) at pthread_create.c:308
      #30 0x00007f9d2f204cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      #31 0x0000000000000000 in ?? ()
      
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x7f9cec02bf08): SELECT func1()
      Connection ID (thread ID): 8
      Status: KILL_QUERY
      

      It's enough to run the test workflow on one node with two threads.

      Server command line:

      maria-5.5-galera/sql/mysqld --no-defaults --basedir=maria-5.5-galera --datadir=maria-5.5-galera/data --log-error=maria-5.5-galera/data/log.err --lc-messages-dir=maria-5.5-galera/sql/share/ --port=8306 --socket=maria-5.5-galera/data/tmp/mysql.sock --tmpdir=maria-5.5-galera/data/tmp --core --datadir=maria-5.5-galera/data1 --tmpdir=maria-5.5-galera/data1/tmp --port=8306 --socket=maria-5.5-galera/data1/tmp/node1.sock --wsrep-provider=galera/libgalera_smm.so --wsrep-cluster-address=gcomm:// --binlog-format=row --wsrep-sst-method=rsync --log-error=maria-5.5-galera/data1/log.err --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --general-log=1
      

      RQG grammar (test.yy):

      query:
      	CALL proc1 () | ddl ;
      
      ddl:
      	create_function | drop_function |
      	create_procedure | drop_procedure ; 
      
      create_function:
      	CREATE FUNCTION func1 () RETURNS INTEGER RETURN _digit ;
      
      create_procedure:
      	CREATE PROCEDURE proc1 () BEGIN SELECT func1() ; END ;
      
      drop_function:
      	DROP FUNCTION func1 ;
      
      drop_procedure:
      	DROP PROCEDURE proc1 ;
      
      

      RQG command line:

      perl ./gentest.pl --threads=2 --queries=100M --duration=600 --dsn=dbi:mysql:host=127.0.0.1:port=8306:user=root:database=test --grammar=test.yy
      

      bzr version-info:

      revision-id: seppo.jaakola@codership.com-20130216222240-syypg8kc355qcpsp
      revno: 3380
      branch-nick: maria-5.5-galera
      

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Still reproducible on the current maria-5.5-galera tree

            revision-id: nirbhay@skysql.com-20140320223323-1823lty0btwccp4l
            date: 2014-03-20 18:33:23 -0400
            build-date: 2014-04-08 20:43:58 +0400
            revno: 3476
            branch-nick: maria-5.5-galera
            
            Show
            elenst Elena Stepanova added a comment - Still reproducible on the current maria-5.5-galera tree revision-id: nirbhay@skysql.com-20140320223323-1823lty0btwccp4l date: 2014-03-20 18:33:23 -0400 build-date: 2014-04-08 20:43:58 +0400 revno: 3476 branch-nick: maria-5.5-galera

              People

              • Assignee:
                jplindst Jan Lindström
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: