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

[Bugfix] Issue #45 Issue #577 InnoDB crash when master thread evict dict_table_t object

    Details

      Description

      Problem
      ================
      The innodb will crash when master thread wants to evict an unused object.
      The backtrace:
        ut_ad(dict_index_is_clust(index))
        row_merge_drop_indexes
        dict_table_remove_from_cache_low
        dict_make_room_in_cache ()
        srv_master_evict_from_table_cache ()
        srv_master_do_idle_tasks ()
        srv_master_thread (arg=0x0)
        start_thread (arg=0x2b21c8200700)
        clone ()
       
      Solution
      ================
      The wrong position of judgement logic code about variable 'drop_aborted' in function
      dict_table_close() may be the root cause.
      We simply move this piece of codes prior to the decrement of
      table->n_ref_count, thus aborted index will be discard when this table
      is being closed.
      

      https://github.com/alibaba/AliSQL/commit/58ebcbd5c8998a43e985223e665e5da331f5651c

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                anel Anel Husakovic
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: