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

SEGV on ANALYZE LOCAL TABLE __ PERSISTENT FOR ALL

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Incomplete
    • 10.0.25
    • N/A
    • OTHER
    • None
    • Linux hv3 3.13.0-86-generic #131-Ubuntu SMP Thu May 12 23:33:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    Description

      This happened on two different servers that ran the same command on copies of the same MyISAM table.

      Command was: ANALYZE LOCAL TABLE ac_schematic PERSISTENT FOR ALL.

      CREATE TABLE `ac_schematic` (
        `srcid` int(11) NOT NULL DEFAULT '0',
        `pid` int(11) NOT NULL DEFAULT '0',
        `ppid` int(11) NOT NULL DEFAULT '0',
        `aid` int(11) NOT NULL DEFAULT '0',
        `did` int(11) NOT NULL DEFAULT '0',
        `cid` int(11) NOT NULL DEFAULT '0',
        `sid` int(11) NOT NULL DEFAULT '0',
        PRIMARY KEY (`srcid`,`pid`),
        KEY `srcid_ppid_pid` (`srcid`,`ppid`,`pid`),
        KEY `cid` (`cid`),
        KEY `aid` (`aid`),
        KEY `did` (`did`),
        KEY `sid` (`sid`)
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8
      
      

      Table has 66126857 rows, 1.8GiB data length, 5.1GiB index length.

      Same command on two other somewhat smaller tables did not crash.

      $ cat /etc/mysql/my.cnf
      [client]
      default-character-set           = utf8
       
      [mysql]
      max_allowed_packet              = 1024M
       
      [mysqldump]
      max_allowed_packet              = 1024M
       
      [mysqld_safe]
      socket                          = /var/run/mysqld/mysqld.sock
      nice                            = 0
      open-files-limit                 = 40000
       
      [mysqld]
      user                            = mysql
      pid_file                        = /var/run/mysqld/mysqld.pid
      datadir                         = /home/mysql/datadir
      tmpdir                          = /home/mysql/tmpdir
      skip_symbolic_links
      skip_name_resolve
      skip_external_locking
      innodb_status_file              = 1
      bind_address                    = 0.0.0.0
      character-set-server            = utf8
      collation-server                = utf8_general_ci
      character_set_server            = utf8
      collation_server                = utf8_general_ci
      myisam_recover_options          = BACKUP
       
      #https://blog.mariadb.org/installing-mariadb-galera-cluster-on-debian-ubuntu/
      # mysql settings
      binlog_format                   = ROW
      default_storage_engine          = innodb
      innodb_autoinc_lock_mode        = 2
      innodb_doublewrite              = 1
      # Query cache makes Galera burn to the ground
      query_cache_size                = 0
      query_cache_type                = 0
      # galera settings
      wsrep_on                        = ON
      wsrep_provider                  = /usr/lib/galera/libgalera_smm.so
      wsrep_provider_options          = "gcs.fc_limit = 40; gcache.size = 512M"
      wsrep_cluster_name              = "spinitron_galera"
      wsrep_cluster_address           = "gcomm://10.1.1.5,10.1.1.3,10.1.1.4"
      wsrep_node_address              = 10.1.1.3
      wsrep_sst_method                = rsync
      wsrep_retry_autocommit          = 3
       
      # these are huge myisam dbs generated once a week by a batch sql script
      # and indexed with sphinx. they are never written after initial generation
      binlog_ignore_db                = autocomplete1
      binlog_ignore_db                = autocomplete2
      replicate_ignore_db             = autocomplete1
      replicate_ignore_db             = autocomplete2
       
      ## TUNING
      ##
      key_buffer_size                 = 8G
      innodb_buffer_pool_size         = 16G
      table_open_cache                = 5000
      max_connections                 = 200
      max_connect_errors              = 100000
      net_write_timeout               = 3600
      net_read_timeout                = 3600
      max_allowed_packet              = 1024M
      bulk_insert_buffer_size	        = 16M
      tmp_table_size                  = 1G
      max_heap_table_size             = 1G
      innodb_use_native_aio           = 0
      # http://www.percona.com/blog/2013/09/20/innodb-performance-optimization-basics-updated/
      # We have very small transaction writes and less than one per second, so
      #innodb_log_file_size           = use default 48MB
      #innodb_log_buffer_size         = use default
      innodb_flush_log_at_trx_commit  = 0
      innodb_flush_method             = O_DIRECT
      innodb_thread_concurrency       = 8
       
      # for checking the autocomplete dbs
      [isamchk]
      key_buffer_size                 = 1G
      read_buffer_size                = 64M
      write_buffer_size               = 64M
      
      


       
      Server version: 10.0.25-MariaDB-1~trusty-wsrep
      key_buffer_size=8589934592
      read_buffer_size=131072
      max_used_connections=24
      max_threads=202
      thread_count=4
      It is possible that mysqld could use up to
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 8832222 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x0x7f00966ab008
      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 = 0x7f06ec08ddf0 thread_stack 0x48000
      (my_addr_resolve failure: fork)
      /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f0710b08cee]
      /usr/sbin/mysqld(handle_fatal_signal+0x457) [0x7f0710638547]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x10330) [0x7f070edd7330]
      /usr/sbin/mysqld(Field_long::cmp(unsigned char const*, unsigned char const*)+0xf) [0x7f071061463f]
      /usr/sbin/mysqld(queue_insert+0x84) [0x7f0710b08454]
      /usr/sbin/mysqld(merge_buffers(Sort_param*, st_io_cache*, st_io_cache*, unsigned char*, st_buffpek*, st_buffpek*, st_buffpek*, int)+0x1ed) [0x7f07106358cd]
      /usr/sbin/mysqld(merge_many_buff(Sort_param*, unsigned char*, st_buffpek*, unsigned int*, st_io_cache*)+0x192) [0x7f07106362a2]
      /usr/sbin/mysqld(Unique::merge(TABLE*, unsigned char*, bool)+0x114) [0x7f071056a834]
      /usr/sbin/mysqld(Unique::walk(TABLE*, int (*)(void*, unsigned int, void*), void*)+0x251) [0x7f071056abe1]
      /usr/sbin/mysqld(collect_statistics_for_table(THD*, TABLE*)+0xdf1) [0x7f0710523951]
      /usr/sbin/mysqld(+0x4f782b) [0x7f071059482b]
      /usr/sbin/mysqld(Sql_cmd_analyze_table::execute(THD*)+0xed) [0x7f071059622d]
      /usr/sbin/mysqld(mysql_execute_command(THD*)+0xada) [0x7f07104a8fda]
      /usr/sbin/mysqld(+0x415c5b) [0x7f07104b2c5b]
      /usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x1fa1) [0x7f07104b5261]
      /usr/sbin/mysqld(do_command(THD*)+0x28f) [0x7f07104b5f6f]
      /usr/sbin/mysqld(do_handle_one_connection(THD*)+0x32b) [0x7f07105860cb]
      /usr/sbin/mysqld(handle_one_connection+0x40) [0x7f07105861b0]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x8184) [0x7f070edcf184]
      /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f070e4f237d]
       
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x7f0053908020): is an invalid pointer
      Connection ID (thread ID): 11139929
      Status: NOT_KILLED
       
      Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_co
      ndition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table
      _scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bk
      a=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thefsb Tom
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.