[MDEV-19063] [Bugfix] Issue #45 Issue #577 InnoDB crash when master thread evict dict_table_t object Created: 2019-03-27  Updated: 2019-04-30  Resolved: 2019-04-30

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Fix Version/s: 10.0.33, 10.1.29, 10.2.10, 10.3.3

Type: Task Priority: Major
Reporter: Anel Husakovic Assignee: Marko Mäkelä
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-13051 MySQL#86607 InnoDB crash after failed... Closed
Epic Link: AliSQL patches

 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



 Comments   
Comment by Marko Mäkelä [ 2019-04-30 ]

This appears to be a duplicate of MDEV-13051.
The Description looks exactly the same as in MySQL Bug #86607, which is what I fixed in MDEV-13051 together with the original reporter jianwei zhao.

Generated at Thu Feb 08 08:48:47 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.