Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.13, 10.5.3, 10.5.5
-
Windows Server 2016 VM, 16 core 40GB RAM.
Description
MariaDB Server crashes during select
2020-05-31 12:27:44 0x8ec InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\row\row0sel.cc line 3966
|
InnoDB: We intentionally generate a memory trap.
|
InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
|
InnoDB: If you get repeated assertion failures or crashes, even
|
InnoDB: immediately after the mysqld startup, there may be
|
InnoDB: corruption in the InnoDB tablespace. Please refer to
|
InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/
|
InnoDB: about forcing recovery.
|
200531 12:27:44 [ERROR] mysqld got exception 0x80000003 ;
|
This could be because you hit a bug. It is also possible that this binary
|
or one of the libraries it was linked against is corrupt, improperly built,
|
or misconfigured. This error can also be caused by malfunctioning hardware.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
We will try our best to scrape up some info that will hopefully help
|
diagnose the problem, but since we have already crashed,
|
something is definitely wrong and this may fail.
|
|
Server version: 10.4.13-MariaDB-log
|
key_buffer_size=134217728
|
read_buffer_size=131072
|
max_used_connections=12
|
max_threads=65537
|
thread_count=9
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 141521 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x1f23fd98a18
|
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...
|
mysqld.exe!my_sigabrt_handler()[my_thr_init.c:485]
|
ucrtbase.dll!raise()
|
ucrtbase.dll!abort()
|
mysqld.exe!ut_dbg_assertion_failed()[ut0dbg.cc:60]
|
mysqld.exe!row_search_idx_cond_check()[row0sel.cc:3966]
|
mysqld.exe!row_search_mvcc()[row0sel.cc:5266]
|
mysqld.exe!ha_innobase::general_fetch()[ha_innodb.cc:9546]
|
mysqld.exe!handler::ha_index_prev()[handler.cc:2967]
|
mysqld.exe!join_read_prev_same()[sql_select.cc:21213]
|
mysqld.exe!sub_select()[sql_select.cc:20385]
|
mysqld.exe!do_select()[sql_select.cc:19904]
|
mysqld.exe!JOIN::exec_inner()[sql_select.cc:4459]
|
mysqld.exe!JOIN::exec()[sql_select.cc:4242]
|
mysqld.exe!mysql_select()[sql_select.cc:4675]
|
mysqld.exe!handle_select()[sql_select.cc:410]
|
mysqld.exe!execute_sqlcom_select()[sql_parse.cc:6359]
|
mysqld.exe!mysql_execute_command()[sql_parse.cc:3898]
|
mysqld.exe!mysql_parse()[sql_parse.cc:7904]
|
mysqld.exe!dispatch_command()[sql_parse.cc:1844]
|
mysqld.exe!do_command()[sql_parse.cc:1359]
|
mysqld.exe!threadpool_process_request()[threadpool_common.cc:365]
|
mysqld.exe!tp_callback()[threadpool_common.cc:192]
|
ntdll.dll!RtlReleaseSRWLockExclusive()
|
ntdll.dll!RtlReleaseSRWLockExclusive()
|
KERNEL32.DLL!BaseThreadInitThunk()
|
ntdll.dll!RtlUserThreadStart()
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x1f240537180): select a.session_id, a.user
|
from redcap_log_view a
|
inner join redcap_user_rights u ON a.user = u.username AND u.project_id = a.project_id
|
inner join redcap_user_information i ON i.username = u.username
|
left join redcap_user_roles ur ON u.role_id = ur.role_id
|
where a.project_id = 6108
|
and a.log_view_id >= 13349060
|
and a.user != 'exxxxxx'
|
and a.event_id = 31089
|
and a.record = '878096793'
|
and a.form_name = 'sedation'
|
and a.page in ('DataEntry/index.php', 'ProjectGeneral/keep_alive.php', 'DataEntry/check_unique_ajax.php',
|
'DataEntry/file_download.php', 'DataEntry/file_upload.php', 'DataEntry/file_delete.php')
|
and (((u.data_entry like '%[sedation,1]%' OR u.data_entry like '%[sedation,3]%') AND ur.role_id IS NULL)
|
OR ((ur.data_entry LIKE '%[sedation,1]%' OR ur.data_entry LIKE '%[sedation,3]%') AND ur.role_id IS NOT NULL)
|
OR i.super_user = 1)
|
and a.log_view_id = (select b.log_view_id from redcap_log_view b where b.user = a.user order by b.log_view_id desc limit 1)
|
|
order by a.log_view_id desc limit 1
|
Connection ID (thread ID): 21184
|
Status: KILL_CONNECTION
|
|
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_condition_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_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on
|
|
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
|
information that should help you find out what is causing the crash.
|
Writing a core file at G:\MariaDB\MariaDB 10.4\data\
|
----------
contents of my.ini
----------
[mysqld]
|
datadir=G:/MariaDB/MariaDB 10.4/data
|
port=3306
|
innodb_buffer_pool_size=20480M
|
character-set-server=utf8
|
performance_schema=on
|
max_connections=400
|
|
# The Pipe the MySQL Server will use
|
socket=MariaDB104
|
#shared_memory_base_name=MariaDB104
|
general-log=0
|
general_log_file="D:/MariaDB/MariaDB104/logs/general.log"
|
slow-query-log=1
|
slow_query_log_file="D:/MariaDB/MariaDB104/logs/slow-query.log"
|
long_query_time=20
|
|
# Error Logging.
|
log-error="D:/MariaDB/MariaDB104/logs/error.log"
|
log-warnings = 2
|
|
# Binary Logging.
|
# >> Removed the last sud-dir (binlog) <<
|
#log-bin = "D:/MySQL/MySQL56/binlog/binlog"
|
log-bin = "D:/MariaDB/MariaDB104/binlog/binlog"
|
expire_logs_days = 28
|
#binlog-ignore-db = tch
|
binlog_format = row
|
|
# Temporary location (multiple locations cas be set ';' is separator)
|
tmpdir=D:/MariaDB/MariaDB104/temp
|
|
# Query cache is used to cache SELECT results and later return them
|
# without actual executing the same query once again. Having the query
|
# cache enabled may result in significant speed improvements, if your
|
# have a lot of identical queries and rarely changing tables. See the
|
# "Qcache_lowmem_prunes" status variable to check if the current value
|
# is high enough for your load.
|
# Note: In case your tables change very often or if your queries are
|
# textually different every time, the query cache may result in a
|
# slowdown instead of a performance improvement.
|
# query_cache_size=192M
|
|
# Size of each log file in a log group. You should set the combined size
|
# of log files to about 25%-100% of your buffer pool size to avoid
|
# unneeded buffer pool flush activity on log file overwrite. However,
|
# note that a larger logfile size will increase the time needed for the
|
# recovery process.
|
innodb_log_file_size=512M
|
innodb_log_group_home_dir = "F:/MariaDB/MariaDB104/redo"
|
innodb_log_files_in_group = 4
|
|
# Number of threads allowed inside the InnoDB kernel. The optimal value
|
# depends highly on the application, hardware as well as the OS
|
# scheduler properties. A too high value may lead to thread thrashing.
|
# innodb_read_io_threads = 16
|
# innodb_write_io_threads = 16
|
|
# Set the query cache type. 0 for OFF, 1 for ON and 2 for DEMAND.
|
# query_cache_type=0
|
|
# The number of table definitions (from .frm files) that can be stored in the definition cache.
|
# If you use a large number of tables, you can create a large table definition cache to speed up opening of tables.
|
# The table definition cache takes less space and does not use file descriptors, unlike the normal table cache.
|
# The minimum and default values are both 400.
|
table_definition_cache=1400
|
|
# Enable the even-scheduler
|
# event-scheduler = ON
|
|
# Set server-id in order to read binlog with remote options
|
server-id = 1 # or something else unique
|
|
# Secure File Priv.
|
#secure-file-priv="C:\ProgramData\MySQL\MySQL Server 5.7\Uploads"
|
secure-file-priv="G:/MariaDB/MariaDB 10.4/spool"
|
|
[client]
|
port=3306
|
plugin-dir=D:/MariaDB/MariaDB 10.4/lib/plugin
|
Attachments
Issue Links
- is caused by
-
MDEV-21794 Optimizer flag rowid_filter leads to long query
- Closed
- is duplicated by
-
MDEV-23834 InnoDB: Assertion failure
- Closed
-
MDEV-24180 InnoDB: Assertion failure in row0sel.cc line 3961
- Closed
-
MDEV-24428 mysqld got exception 0x80000003
- Closed
- relates to
-
MDEV-16188 Use in-memory PK filters built from range index scans
- Closed
-
MDEV-23938 innodb aborted by user in ICP fails to return SQL error
- Closed