[MDEV-31780] InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\trx\trx0trx.cc line 1252 Created: 2023-07-26  Updated: 2024-01-08  Resolved: 2024-01-08

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.6.14
Fix Version/s: N/A

Type: Bug Priority: Critical
Reporter: Paul Rothrock Assignee: Paul Moen
Resolution: Incomplete Votes: 0
Labels: None
Environment:

Windows Server 2016


Issue Links:
Duplicate
duplicates MDEV-24035 Failing assertion: UT_LIST_GET_LEN(lo... Open
duplicates MDEV-25163 Rowid filter does not process storage... Closed
is duplicated by MDEV-32345 Assertion failure in file D:\winx64-p... Open
Relates
relates to MDEV-27031 InnoDB: Assertion failure in file D:\... Closed
relates to MDEV-31185 rw_trx_hash_t::find() unpins pins too... Closed
relates to MDEV-32448 MariaDB 10.6.11 - InnoDB: Assertion f... Closed

 Description   

The MariaDB Windows service crashes periodically with this error, as well as corrupting the table spp.uua_pill_countable_item. Crash dump is attached to this ticket.

2023-07-26 08:52:34 0x1554  InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\trx\trx0trx.cc line 1252
InnoDB: Failing assertion: UT_LIST_GET_LEN(lock.trx_locks) == 0
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 mariadbd 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.
 
230726  8:52:34 [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.6.14-MariaDB source revision: c93754d45e5d9379e3e23d7ada1d5f21d2711f66
key_buffer_size=2147483648
read_buffer_size=131072
max_used_connections=51
max_threads=65537
thread_count=33
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 144727451 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x16da9996e08
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...
server.dll!my_parameter_handler()[my_init.c:278]
ucrtbase.dll!raise()
ucrtbase.dll!abort()
server.dll!ut_dbg_assertion_failed()[ut0dbg.cc:60]
server.dll!trx_t::commit_in_memory()[trx0trx.cc:1252]
server.dll!trx_t::commit()[trx0trx.cc:1473]
server.dll!trx_commit_for_mysql()[trx0trx.cc:1591]
server.dll!innobase_commit_ordered_2()[ha_innodb.cc:4497]
server.dll!innobase_commit()[ha_innodb.cc:4611]
server.dll!ha_innobase::external_lock()[ha_innodb.cc:16203]
server.dll!handler::ha_external_lock()[handler.cc:7128]
server.dll!unlock_external()[lock.cc:730]
server.dll!mysql_unlock_read_tables()[lock.cc:497]
server.dll!JOIN::join_free()[sql_select.cc:14694]
server.dll!do_select()[sql_select.cc:21219]
server.dll!JOIN::exec_inner()[sql_select.cc:4812]
server.dll!mysql_select()[sql_select.cc:5069]
server.dll!handle_select()[sql_select.cc:559]
server.dll!execute_sqlcom_select()[sql_parse.cc:6273]
server.dll!mysql_execute_command()[sql_parse.cc:3949]
server.dll!mysql_parse()[sql_parse.cc:8040]
server.dll!dispatch_command()[sql_parse.cc:1898]
server.dll!do_command()[sql_parse.cc:1409]
server.dll!tp_callback()[threadpool_common.cc:245]
KERNEL32.DLL!LCMapStringEx()
ntdll.dll!RtlAddRefActivationContext()
ntdll.dll!RtlAcquireSRWLockExclusive()
KERNEL32.DLL!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x16da511f0a0): SELECT 
	upci.ITEM_ID as ItemId,
	upci.DISPENSER_ID as DispenserId,
	upci.QTY as Qty,
	os.TOTE_ID AS ToteId
FROM 
	spp.uua_pill_countable_item upci
	INNER JOIN spp.item i ON i.ITEM_ID = upci.ITEM_ID
	INNER JOIN spp.script_proc sp ON i.SCRIPT_PROC_ID = sp.SCRIPT_PROC_ID
	INNER JOIN spp.ordersplit os ON os.ORDER_SPLIT_ID = sp.ORDER_SPLIT_ID
Connection ID (thread ID): 28690383
Status: NOT_KILLED
 
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,not_null_range_scan=off,hash_join_cardinality=off
 
The manual page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ contains
information that should help you find out what is causing the crash.
Writing a core file at E:\Data
Minidump written to E:\Data\mysqld.dmp



 Comments   
Comment by Marko Mäkelä [ 2023-07-27 ]

I believe that this bug may share a root cause with MDEV-31185. That fix has not been merged to the 10.6 branch yet, but it will be merged before the upcoming 10.6.15 release, which I hope will be out within a couple of weeks.

How frequently does the server crash with this? Would you be willing to test a development snapshot, so that we can get feedback already before the 10.6.15 release is out?

Generated at Thu Feb 08 10:26:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.