Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5.11
Description
Scenario:
|
1. Start the server and generate some initial data (row_format REDUNDANT )
|
2. Nine sessions run concurrent UPDATEs (autocommit) on the same table
|
3. SIGKILL server during 2. is ongoing
|
4. Restart attempt with success
|
5. OPTIMIZE TABLE `test`.`tab1` harvests
|
mysqld: /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1613: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed.
|
(rr) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x00007fbcbffbd859 in __GI_abort () at abort.c:79
|
#2 0x00007fbcbffbd729 in __assert_fail_base (fmt=0x7fbcc0153588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556821eeaf60 "bpage->in_page_hash", file=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h",
|
line=1613, function=<optimized out>) at assert.c:92
|
#3 0x00007fbcbffcef36 in __GI___assert_fail (assertion=assertion@entry=0x556821eeaf60 "bpage->in_page_hash", file=file@entry=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=line@entry=1613,
|
function=function@entry=0x556821eeadc0 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101
|
#4 0x000055682110b9c1 in buf_pool_t::page_hash_get_low (fold=4168528640, id=..., this=<optimized out>) at /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1612
|
#5 buf_flush_check_neighbor (id=..., fold=fold@entry=5245779, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1002
|
#6 0x000055682110d185 in buf_flush_check_neighbors (space=..., id=..., contiguous=contiguous@entry=true, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1052
|
#7 0x0000556821119321 in buf_flush_try_neighbors (space=space@entry=0x615000004180, page_id=..., contiguous=contiguous@entry=true, lru=lru@entry=false, n_flushed=n_flushed@entry=95, n_to_flush=n_to_flush@entry=200)
|
at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1142
|
#8 0x000055682111dac3 in buf_do_flush_list_batch (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1487
|
#9 0x000055682112081f in buf_flush_lists (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1602
|
#10 0x000055682112310b in buf_flush_page_cleaner () at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:2239
|
#11 0x00007fbcc04e6609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#12 0x00007fbcc00ba293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(rr)
|
sdp:/data/Results/1621969282/TBR-1091/dev/shm/vardir/1621969282/45/1/rr
|
_RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0 # Fate of server till SIGKILL
|
_RR_TRACE_DIR="." rr replay --mark-stdio mysqld-1 # Fate of server after restart
|
|
GIT_SHOW: HEAD, origin/bb-10.5-monty, origin/10.5 c80cecb5e3e509d37929b4f446edf9b6c636b98f 2021-05-23T19:53:38+03:00
|
|
RQG
|
====
|
git clone https://github.com/mleich1/rqg --branch experimental RQG
|
|
rqg.pl \
|
--gendata=MDEV-25776.zz \
|
--max_gd_duration=600 \
|
--grammar=MDEV-25776.yy \
|
--mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
|
--mysqld=--loose-idle_write_transaction_timeout=0 \
|
--mysqld=--loose-idle_transaction_timeout=0 \
|
--mysqld=--loose-idle_readonly_transaction_timeout=0 \
|
--mysqld=--connect_timeout=60 \
|
--mysqld=--interactive_timeout=28800 \
|
--mysqld=--slave_net_timeout=60 \
|
--mysqld=--net_read_timeout=30 \
|
--mysqld=--net_write_timeout=60 \
|
--mysqld=--loose-table_lock_wait_timeout=50 \
|
--mysqld=--wait_timeout=28800 \
|
--mysqld=--lock-wait-timeout=86400 \
|
--mysqld=--innodb-lock-wait-timeout=50 \
|
--no-mask \
|
--queries=10000000 \
|
--seed=random \
|
--reporters=Backtrace \
|
--reporters=ErrorLog \
|
--reporters=CrashRecovery1 \
|
--validators=None \
|
--mysqld=--log_output=none \
|
--mysqld=--log-bin \
|
--mysqld=--log_bin_trust_function_creators=1 \
|
--mysqld=--loose-debug_assert_on_not_freed_memory=0 \
|
--engine=InnoDB \
|
--restart_timeout=240 \
|
--duration=300 \
|
--mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
|
--mysqld=--innodb_stats_persistent=on \
|
--mysqld=--innodb_adaptive_hash_index=on \
|
--threads=9 \
|
--mysqld=--innodb-use-native-aio=0 \
|
--rr=Extended \
|
--rr_options="--wait" \
|
--mysqld=--innodb_page_size=4K \
|
--mysqld=--innodb-buffer-pool-size=5M \
|
--no_mask \
|
--workdir=<local settings> \
|
--vardir=<local settings> \
|
--mtr-build-thread=<local settings> \
|
--basedir1=<local settings> \
|
--script_debug=_nix_
|
Attachments
Issue Links
- is caused by
-
MDEV-15053 Reduce buf_pool_t::mutex contention
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
{noformat} Scenario: 1. Start the server and generate some initial data 2. Nine sessions run concurrent UPDATEs (autocommit) on the same table 3. SIGKILL server during 2. is ongoing 4. Restart attempt with success 5. OPTIMIZE TABLE `test`.`tab1` harvests mysqld: /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1613: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fbcbffbd859 in __GI_abort () at abort.c:79 #2 0x00007fbcbffbd729 in __assert_fail_base (fmt=0x7fbcc0153588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556821eeaf60 "bpage->in_page_hash", file=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=1613, function=<optimized out>) at assert.c:92 #3 0x00007fbcbffcef36 in __GI___assert_fail (assertion=assertion@entry=0x556821eeaf60 "bpage->in_page_hash", file=file@entry=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=line@entry=1613, function=function@entry=0x556821eeadc0 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101 #4 0x000055682110b9c1 in buf_pool_t::page_hash_get_low (fold=4168528640, id=..., this=<optimized out>) at /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1612 #5 buf_flush_check_neighbor (id=..., fold=fold@entry=5245779, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1002 #6 0x000055682110d185 in buf_flush_check_neighbors (space=..., id=..., contiguous=contiguous@entry=true, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1052 #7 0x0000556821119321 in buf_flush_try_neighbors (space=space@entry=0x615000004180, page_id=..., contiguous=contiguous@entry=true, lru=lru@entry=false, n_flushed=n_flushed@entry=95, n_to_flush=n_to_flush@entry=200) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1142 #8 0x000055682111dac3 in buf_do_flush_list_batch (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1487 #9 0x000055682112081f in buf_flush_lists (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1602 #10 0x000055682112310b in buf_flush_page_cleaner () at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:2239 #11 0x00007fbcc04e6609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007fbcc00ba293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (rr) sdp:/data/Results/1621969282/TBR-1091/dev/shm/vardir/1621969282/45/1/rr _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0 # Fate of server till SIGKILL _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-1 # Fate of server after restart GIT_SHOW: HEAD, origin/bb-10.5-monty, origin/10.5 c80cecb5e3e509d37929b4f446edf9b6c636b98f 2021-05-23T19:53:38+03:00 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG rqg.pl \ --gendata= --max_gd_duration=600 \ --grammar= --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=CrashRecovery1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log-bin \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --duration=300 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --threads=9 \ --mysqld=--innodb-use-native-aio=0 \ --rr=Extended \ --rr_options="--wait" \ --mysqld=--innodb_page_size=4K \ --mysqld=--innodb-buffer-pool-size=5M \ --no_mask \ --workdir=<local settings> \ --vardir=<local settings> \ --mtr-build-thread=<local settings> \ --basedir1=<local settings> \ --script_debug=_nix_ {noformat} |
{noformat}
Scenario: 1. Start the server and generate some initial data 2. Nine sessions run concurrent UPDATEs (autocommit) on the same table 3. SIGKILL server during 2. is ongoing 4. Restart attempt with success 5. OPTIMIZE TABLE `test`.`tab1` harvests mysqld: /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1613: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fbcbffbd859 in __GI_abort () at abort.c:79 #2 0x00007fbcbffbd729 in __assert_fail_base (fmt=0x7fbcc0153588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556821eeaf60 "bpage->in_page_hash", file=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=1613, function=<optimized out>) at assert.c:92 #3 0x00007fbcbffcef36 in __GI___assert_fail (assertion=assertion@entry=0x556821eeaf60 "bpage->in_page_hash", file=file@entry=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=line@entry=1613, function=function@entry=0x556821eeadc0 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101 #4 0x000055682110b9c1 in buf_pool_t::page_hash_get_low (fold=4168528640, id=..., this=<optimized out>) at /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1612 #5 buf_flush_check_neighbor (id=..., fold=fold@entry=5245779, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1002 #6 0x000055682110d185 in buf_flush_check_neighbors (space=..., id=..., contiguous=contiguous@entry=true, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1052 #7 0x0000556821119321 in buf_flush_try_neighbors (space=space@entry=0x615000004180, page_id=..., contiguous=contiguous@entry=true, lru=lru@entry=false, n_flushed=n_flushed@entry=95, n_to_flush=n_to_flush@entry=200) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1142 #8 0x000055682111dac3 in buf_do_flush_list_batch (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1487 #9 0x000055682112081f in buf_flush_lists (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1602 #10 0x000055682112310b in buf_flush_page_cleaner () at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:2239 #11 0x00007fbcc04e6609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007fbcc00ba293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (rr) sdp:/data/Results/1621969282/TBR-1091/dev/shm/vardir/1621969282/45/1/rr _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0 # Fate of server till SIGKILL _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-1 # Fate of server after restart GIT_SHOW: HEAD, origin/bb-10.5-monty, origin/10.5 c80cecb5e3e509d37929b4f446edf9b6c636b98f 2021-05-23T19:53:38+03:00 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG rqg.pl \ --gendata= --max_gd_duration=600 \ --grammar= --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=CrashRecovery1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log-bin \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --duration=300 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --threads=9 \ --mysqld=--innodb-use-native-aio=0 \ --rr=Extended \ --rr_options="--wait" \ --mysqld=--innodb_page_size=4K \ --mysqld=--innodb-buffer-pool-size=5M \ --no_mask \ --workdir=<local settings> \ --vardir=<local settings> \ --mtr-build-thread=<local settings> \ --basedir1=<local settings> \ --script_debug=_nix_ {noformat} |
Attachment | MDEV-25776.yy [ 57850 ] |
Attachment | MDEV-25776.zz [ 57851 ] |
Assignee | Matthias Leich [ mleich ] | Marko Mäkelä [ marko ] |
Summary | Draft: Assertion `bpage->in_page_hash' in buf_pool_t::page_hash_get_low | Assertion `bpage->in_page_hash' in buf_pool_t::page_hash_get_low |
Description |
{noformat}
Scenario: 1. Start the server and generate some initial data 2. Nine sessions run concurrent UPDATEs (autocommit) on the same table 3. SIGKILL server during 2. is ongoing 4. Restart attempt with success 5. OPTIMIZE TABLE `test`.`tab1` harvests mysqld: /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1613: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fbcbffbd859 in __GI_abort () at abort.c:79 #2 0x00007fbcbffbd729 in __assert_fail_base (fmt=0x7fbcc0153588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556821eeaf60 "bpage->in_page_hash", file=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=1613, function=<optimized out>) at assert.c:92 #3 0x00007fbcbffcef36 in __GI___assert_fail (assertion=assertion@entry=0x556821eeaf60 "bpage->in_page_hash", file=file@entry=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=line@entry=1613, function=function@entry=0x556821eeadc0 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101 #4 0x000055682110b9c1 in buf_pool_t::page_hash_get_low (fold=4168528640, id=..., this=<optimized out>) at /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1612 #5 buf_flush_check_neighbor (id=..., fold=fold@entry=5245779, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1002 #6 0x000055682110d185 in buf_flush_check_neighbors (space=..., id=..., contiguous=contiguous@entry=true, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1052 #7 0x0000556821119321 in buf_flush_try_neighbors (space=space@entry=0x615000004180, page_id=..., contiguous=contiguous@entry=true, lru=lru@entry=false, n_flushed=n_flushed@entry=95, n_to_flush=n_to_flush@entry=200) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1142 #8 0x000055682111dac3 in buf_do_flush_list_batch (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1487 #9 0x000055682112081f in buf_flush_lists (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1602 #10 0x000055682112310b in buf_flush_page_cleaner () at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:2239 #11 0x00007fbcc04e6609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007fbcc00ba293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (rr) sdp:/data/Results/1621969282/TBR-1091/dev/shm/vardir/1621969282/45/1/rr _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0 # Fate of server till SIGKILL _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-1 # Fate of server after restart GIT_SHOW: HEAD, origin/bb-10.5-monty, origin/10.5 c80cecb5e3e509d37929b4f446edf9b6c636b98f 2021-05-23T19:53:38+03:00 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG rqg.pl \ --gendata= --max_gd_duration=600 \ --grammar= --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=CrashRecovery1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log-bin \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --duration=300 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --threads=9 \ --mysqld=--innodb-use-native-aio=0 \ --rr=Extended \ --rr_options="--wait" \ --mysqld=--innodb_page_size=4K \ --mysqld=--innodb-buffer-pool-size=5M \ --no_mask \ --workdir=<local settings> \ --vardir=<local settings> \ --mtr-build-thread=<local settings> \ --basedir1=<local settings> \ --script_debug=_nix_ {noformat} |
{noformat}
Scenario: 1. Start the server and generate some initial data (row_format REDUNDANT ) 2. Nine sessions run concurrent UPDATEs (autocommit) on the same table 3. SIGKILL server during 2. is ongoing 4. Restart attempt with success 5. OPTIMIZE TABLE `test`.`tab1` harvests mysqld: /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1613: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fbcbffbd859 in __GI_abort () at abort.c:79 #2 0x00007fbcbffbd729 in __assert_fail_base (fmt=0x7fbcc0153588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x556821eeaf60 "bpage->in_page_hash", file=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=1613, function=<optimized out>) at assert.c:92 #3 0x00007fbcbffcef36 in __GI___assert_fail (assertion=assertion@entry=0x556821eeaf60 "bpage->in_page_hash", file=file@entry=0x556821eea420 "/data/Server/10.5_old/storage/innobase/include/buf0buf.h", line=line@entry=1613, function=function@entry=0x556821eeadc0 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101 #4 0x000055682110b9c1 in buf_pool_t::page_hash_get_low (fold=4168528640, id=..., this=<optimized out>) at /data/Server/10.5_old/storage/innobase/include/buf0buf.h:1612 #5 buf_flush_check_neighbor (id=..., fold=fold@entry=5245779, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1002 #6 0x000055682110d185 in buf_flush_check_neighbors (space=..., id=..., contiguous=contiguous@entry=true, lru=lru@entry=false) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1052 #7 0x0000556821119321 in buf_flush_try_neighbors (space=space@entry=0x615000004180, page_id=..., contiguous=contiguous@entry=true, lru=lru@entry=false, n_flushed=n_flushed@entry=95, n_to_flush=n_to_flush@entry=200) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1142 #8 0x000055682111dac3 in buf_do_flush_list_batch (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1487 #9 0x000055682112081f in buf_flush_lists (max_n=max_n@entry=200, lsn=lsn@entry=18446744073709551615) at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:1602 #10 0x000055682112310b in buf_flush_page_cleaner () at /data/Server/10.5_old/storage/innobase/buf/buf0flu.cc:2239 #11 0x00007fbcc04e6609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007fbcc00ba293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (rr) sdp:/data/Results/1621969282/TBR-1091/dev/shm/vardir/1621969282/45/1/rr _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-0 # Fate of server till SIGKILL _RR_TRACE_DIR="." rr replay --mark-stdio mysqld-1 # Fate of server after restart GIT_SHOW: HEAD, origin/bb-10.5-monty, origin/10.5 c80cecb5e3e509d37929b4f446edf9b6c636b98f 2021-05-23T19:53:38+03:00 RQG ==== git clone https://github.com/mleich1/rqg --branch experimental RQG rqg.pl \ --gendata= --max_gd_duration=600 \ --grammar= --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \ --mysqld=--loose-idle_write_transaction_timeout=0 \ --mysqld=--loose-idle_transaction_timeout=0 \ --mysqld=--loose-idle_readonly_transaction_timeout=0 \ --mysqld=--connect_timeout=60 \ --mysqld=--interactive_timeout=28800 \ --mysqld=--slave_net_timeout=60 \ --mysqld=--net_read_timeout=30 \ --mysqld=--net_write_timeout=60 \ --mysqld=--loose-table_lock_wait_timeout=50 \ --mysqld=--wait_timeout=28800 \ --mysqld=--lock-wait-timeout=86400 \ --mysqld=--innodb-lock-wait-timeout=50 \ --no-mask \ --queries=10000000 \ --seed=random \ --reporters=Backtrace \ --reporters=ErrorLog \ --reporters=CrashRecovery1 \ --validators=None \ --mysqld=--log_output=none \ --mysqld=--log-bin \ --mysqld=--log_bin_trust_function_creators=1 \ --mysqld=--loose-debug_assert_on_not_freed_memory=0 \ --engine=InnoDB \ --restart_timeout=240 \ --duration=300 \ --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \ --mysqld=--innodb_stats_persistent=on \ --mysqld=--innodb_adaptive_hash_index=on \ --threads=9 \ --mysqld=--innodb-use-native-aio=0 \ --rr=Extended \ --rr_options="--wait" \ --mysqld=--innodb_page_size=4K \ --mysqld=--innodb-buffer-pool-size=5M \ --no_mask \ --workdir=<local settings> \ --vardir=<local settings> \ --mtr-build-thread=<local settings> \ --basedir1=<local settings> \ --script_debug=_nix_ {noformat} |
Attachment | 25776_100.yy [ 57986 ] |
Attachment | 25776_100.zz [ 57987 ] |
Link |
This issue is caused by |
Fix Version/s | 10.6 [ 24028 ] | |
Labels | rr-profile | race regression-10.5 rr-profile-analyzed |
Status | Open [ 1 ] | In Progress [ 3 ] |
Fix Version/s | 10.5.13 [ 26026 ] | |
Fix Version/s | 10.6.5 [ 26034 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 122167 ] | MariaDB v4 [ 159332 ] |
Alternative scenario showing the same assert.
1. Start the server and generate some initial data (row_format REDUNDANT )
2. Two sessions run concurrent UPDATEs (autocommit) on the same table.
3. At some point of time happens
mysqld: /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/include/buf0buf.h:1513: buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint): Assertion `bpage->in_page_hash' failed.
(rr) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00003f8c3a539859 in __GI_abort () at abort.c:79
#2 0x00003f8c3a539729 in __assert_fail_base (fmt=0x3f8c3a6cf588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55953e054920 "bpage->in_page_hash", file=0x55953e054680 "/data/Server/bb-10.6-MDEV-25506_K/storage/innobase/include/buf0buf.h", line=1513,
function=<optimized out>) at assert.c:92
#3 0x00003f8c3a54af36 in __GI___assert_fail (assertion=0x55953e054920 "bpage->in_page_hash", file=0x55953e054680 "/data/Server/bb-10.6-MDEV-25506_K/storage/innobase/include/buf0buf.h", line=1513,
function=0x55953e054780 "buf_page_t* buf_pool_t::page_hash_get_low(page_id_t, ulint)") at assert.c:101
#4 0x000055953cb49302 in buf_pool_t::page_hash_get_low (this=0x55953f1aea80 <buf_pool>, id=..., fold=5242928) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/include/buf0buf.h:1512
#5 0x000055953cfd019a in buf_flush_check_neighbor (id=..., fold=5242928, lru=false) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0flu.cc:967
#6 0x000055953cfd08e1 in buf_flush_check_neighbors (space=..., id=..., contiguous=true, lru=false) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0flu.cc:1017
#7 0x000055953cfd1752 in buf_flush_try_neighbors (space=0x612000071740, page_id=..., contiguous=true, lru=false, n_flushed=13, n_to_flush=18446744073709551615) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0flu.cc:1107
#8 0x000055953cfd42bb in buf_do_flush_list_batch (max_n=18446744073709551615, lsn=18446744073709551615) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0flu.cc:1444
#9 0x000055953cfd4e4b in buf_flush_lists (max_n=18446744073709551615, lsn=18446744073709551615) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0flu.cc:1560
#10 0x000055953cf99084 in buf_page_get_low (page_id=..., zip_size=0, rw_latch=2, guess=0x0, mode=11, mtr=0x244942d88690, err=0x244942d87290, allow_ibuf_merge=true) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0buf.cc:2973
#11 0x000055953cf99bcb in buf_page_get_gen (page_id=..., zip_size=0, rw_latch=2, guess=0x0, mode=11, mtr=0x244942d88690, err=0x244942d87290, allow_ibuf_merge=true) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/buf/buf0buf.cc:3106
#12 0x000055953cf313b7 in btr_cur_search_to_nth_level_func (index=0x6160007a2908, level=0, tuple=0x61900109f608, mode=PAGE_CUR_LE, latch_mode=2, cursor=0x244942d882d0, ahi_latch=0x0, mtr=0x244942d88690, autoinc=0)
at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/btr/btr0cur.cc:1608
#13 0x000055953cd1db0b in row_ins_sec_index_entry_low (flags=0, mode=2, index=0x6160007a2908, offsets_heap=0x619000975480, heap=0x619000972c80, entry=0x61900109f608, trx_id=0, thr=0x6210003f9228)
at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0ins.cc:2992
#14 0x000055953cd1f3e1 in row_ins_sec_index_entry (index=0x6160007a2908, entry=0x61900109f608, thr=0x6210003f9228, check_foreign=true) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0ins.cc:3315
#15 0x000055953ce07105 in row_upd_sec_index_entry (node=0x6210003f8e28, thr=0x6210003f9228) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0upd.cc:2224
#16 0x000055953ce07730 in row_upd_sec_step (node=0x6210003f8e28, thr=0x6210003f9228) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0upd.cc:2251
#17 0x000055953ce0cc4a in row_upd (node=0x6210003f8e28, thr=0x6210003f9228) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0upd.cc:2982
#18 0x000055953ce0d40c in row_upd_step (thr=0x6210003f9228) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0upd.cc:3097
#19 0x000055953cd64c57 in row_update_for_mysql (prebuilt=0x6210003f8588) at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/row/row0mysql.cc:1769
#20 0x000055953c9f3992 in ha_innobase::update_row (this=0x61d0007d14b8, old_row=0x61a0001a6d20 "\300\blssnehno", new_row=0x61a0001a6ab8 "\300\blssnehno") at /data/Server/bb-10.6-MDEV-25506_K/storage/innobase/handler/ha_innodb.cc:8440
#21 0x000055953c0fdd6d in handler::ha_update_row (this=0x61d0007d14b8, old_data=0x61a0001a6d20 "\300\blssnehno", new_data=0x61a0001a6ab8 "\300\blssnehno") at /data/Server/bb-10.6-MDEV-25506_K/sql/handler.cc:7293
#22 0x000055953bc16b95 in mysql_update (thd=0x62b0000d9218, table_list=0x62b0000a83c0, fields=..., values=..., conds=0x62b0000a8e90, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x244942d8b270, updated_return=0x244942d8b290)
at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_update.cc:1081
#23 0x000055953b93b44b in mysql_execute_command (thd=0x62b0000d9218) at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_parse.cc:4399
#24 0x000055953b953933 in mysql_parse (thd=0x62b0000d9218, rawbuf=0x62b0000a8238 "UPDATE `tab1` SET e = 'air' WHERE pk = 63 /* E_R Thread1 QNO 132 CON_ID 14 */", length=77, parser_state=0x244942d8bb20) at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_parse.cc:8016
#25 0x000055953b92bc76 in dispatch_command (command=COM_QUERY, thd=0x62b0000d9218, packet=0x629000bea219 "UPDATE `tab1` SET e = 'air' WHERE pk = 63 /* E_R Thread1 QNO 132 CON_ID 14 */ ", packet_length=78, blocking=true)
at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_parse.cc:1897
#26 0x000055953b929057 in do_command (thd=0x62b0000d9218, blocking=true) at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_parse.cc:1406
#27 0x000055953bd24ed2 in do_handle_one_connection (connect=0x608000003038, put_in_cache=true) at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_connect.cc:1410
#28 0x000055953bd24834 in handle_one_connection (arg=0x608000002e38) at /data/Server/bb-10.6-MDEV-25506_K/sql/sql_connect.cc:1312
#29 0x000030365276b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#30 0x00003f8c3a636293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(rr)
pluto:/data/Results/1623073203/TBR-977/dev/shm/vardir/1623073203/83/1/rr
_RR_TRACE_DIR="." rr replay --mark-stdio
perl rqg.pl \
--gendata=MDEV-25776_100.zz \
--max_gd_duration=300 \
--grammar=MDEV-25776_100.yy \
--mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
--mysqld=--loose-idle_write_transaction_timeout=0 \
--mysqld=--loose-idle_transaction_timeout=0 \
--mysqld=--loose-idle_readonly_transaction_timeout=0 \
--mysqld=--connect_timeout=60 \
--mysqld=--interactive_timeout=28800 \
--mysqld=--slave_net_timeout=60 \
--mysqld=--net_read_timeout=30 \
--mysqld=--net_write_timeout=60 \
--mysqld=--loose-table_lock_wait_timeout=50 \
--mysqld=--wait_timeout=28800 \
--mysqld=--lock-wait-timeout=86400 \
--mysqld=--innodb-lock-wait-timeout=50 \
--no-mask \
--queries=10000000 \
--seed=random \
--reporters=Backtrace \
--reporters=ErrorLog \
--reporters=CrashRecovery1 \
--validators=None \
--mysqld=--log_output=none \
--mysqld=--log-bin \
--mysqld=--log_bin_trust_function_creators=1 \
--mysqld=--loose-debug_assert_on_not_freed_memory=0 \
--engine=InnoDB \
--restart_timeout=240 \
--duration=300 \
--mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
--mysqld=--innodb_stats_persistent=on \
--mysqld=--innodb_adaptive_hash_index=on \
--threads=2 \
--mysqld=--innodb_change_buffering_debug=1 \
--mysqld=--innodb_change_buffering=all \
--mysqld=--innodb-use-native-aio=0 \
--rr=Extended \
--rr_options="--chaos --wait" \
--mysqld=--innodb_page_size=4K \
--mysqld=--innodb-buffer-pool-size=5M \
--no_mask \
--workdir=<local settings> \
--vardir=<local settings> \
--mtr-build-thread=<local settings> \
--basedir1=<local settings> \
--script_debug=_nix_