Commit 8c944fc
Bug#35037114 Server crash in old_index != nullptr at my_server_abort
Issue: When clearing AHI index from all pages of the buffer pool, the block state may change to BUF_BLOCK_MEMORY before acquiring the block mutex. In these cases the AHI index will be null, and we must skip this block and go to the next instead of trying to make it null using btr_search_set_block_not_cached function. Fix: Continue to next block after asserting that AHI index is null for blocks in other state (state other than BUF_BLOCK_FILE_PAGE and BUF_BLOCK_REMOVE_HASH). Background: As indicated by AHI index's documentation, index may be modified to nullptr if btr_search_enabled is false and block is held in private in BUF_BLOCK_REMOVE_HASH state in buf_LRU_free_page(). This is what has happended in this scenario. Change-Id: Ib0d07b1b1bf13c4cb8872bc06b97e95d86b74c401 parent 80accb4 commit 8c944fc
File tree
4 files changed
+140
-0
lines changed- mysql-test/suite/innodb
- r
- t
- storage/innobase/buf
4 files changed
+140
-0
lines changedLines changed: 42 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2652 | 2652 | | |
2653 | 2653 | | |
2654 | 2654 | | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
2655 | 2658 | | |
2656 | 2659 | | |
2657 | 2660 | | |
| |||
2673 | 2676 | | |
2674 | 2677 | | |
2675 | 2678 | | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
2676 | 2686 | | |
2677 | 2687 | | |
2678 | 2688 | | |
| |||
2706 | 2716 | | |
2707 | 2717 | | |
2708 | 2718 | | |
| 2719 | + | |
| 2720 | + | |
2709 | 2721 | | |
2710 | 2722 | | |
2711 | 2723 | | |
| |||
2718 | 2730 | | |
2719 | 2731 | | |
2720 | 2732 | | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
2721 | 2740 | | |
2722 | 2741 | | |
2723 | 2742 | | |
| |||
0 commit comments