Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Duplicate
-
10.6.1, 10.5.13, 10.6.5
Description
Several times a day the MariaDB windows services crashes. Every time the same error in the log is shown. Please advise which steps to take to fix it. I am using version:
Server version: 10.6.1-MariaDB - mariadb.org binary distribution
Error log:
2021-11-12 08:27:15 0x37d8 InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\trx\trx0trx.cc line 1288
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 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.
211112 8:27:15 [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.1-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=141
max_threads=65537
thread_count=120
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 139782 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.Thread pointer: 0x27a7abc4038
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:1288]
server.dll!trx_t::commit()[trx0trx.cc:1511]
server.dll!trx_commit_for_mysql()[trx0trx.cc:1625]
server.dll!innobase_commit()[ha_innodb.cc:4417]
server.dll!commit_one_phase_2()[handler.cc:1999]
server.dll!ha_commit_one_phase()[handler.cc:1980]
server.dll!ha_commit_trans()[handler.cc:1772]
server.dll!trans_commit_stmt()[transaction.cc:473]
server.dll!mysql_execute_command()[sql_parse.cc:6047]
server.dll!mysql_parse()[sql_parse.cc:8023]
server.dll!dispatch_command()[sql_parse.cc:1899]
server.dll!do_command()[sql_parse.cc:1406]
server.dll!threadpool_process_request()[threadpool_common.cc:395]
server.dll!tp_callback()[threadpool_common.cc:203]
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 (0x27a7a987720): SELECTi.ips_id,
i.event_type_id,
i.event_type,
i.category,
i.ts,
i.log_comment,
i.log_decision,
i.log_topwind_user,
i.log_observations,
i.log_actions,
i.log_pictures,
md.meteo_datetime > DATE_SUB(i.ts, INTERVAL 5 MINUTE) as ShowSensor,
md_one_hour_ago.meteo_datetime > DATE_SUB(md.meteo_datetime, INTERVAL 2 HOUR) as ShowSensorDiff,
round(md.temperature,1) as Temp,
sign(round(1/0.2*
(md.temperature-md_one_hour_ago.temperature)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60)
)) as Temp_Change_Sign,
round(
(md.temperature-md_one_hour_ago.temperature)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60),
1
) as Temp_Change,
round(md.relative_humidity) as Humidity,
sign(round(1/3*
(md.relative_humidity-md_one_hour_ago.relative_humidity)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60)
)) as Humidity_Change_Sign,
round(
(md.relative_humidity-md_one_hour_ago.relative_humidity)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60),
0
) as Humidity_Change,
md.precipitation as Precip,
sign(
(md.precipitation-md_one_hour_ago.precipitation)
) as Precip_Change_Sign,
round(md.risk_number,0) as Risk,
sign(round(1/5*
(md.risk_number-md_one_hour_ago.risk_number)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60)
)) as Risk_Change_Sign,
round(
(md.risk_number-md_one_hour_ago.risk_number)
/(TIMESTAMPDIFF(minute,md_one_hour_ago.meteo_datetime,md.meteo_datetime)/60)
) as Risk_Change
FROM
(
SELECT
e.ips_id,
event_type.event_type_id,
event_type.event_type,
'EventStart' as category,
e.start_datetime as ts,
NULL as log_comment,
NULL as log_decision,
NULL as log_topwind_user,
NULL as log_observations,
NULL as log_actions,
NULL as log_pictures
FROM
event_recent e
LEFT OUTER JOIN event_type ON e.event_type_id=event_type.event_type_id
LEFT OUTER JOIN ips ON e.ips_id = ips.ips_id
WHERE
ips.ips_cluster_id=26 AND
e.start_datetime > DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 DAY)
UNION ALL
SELECT
e2.ips_id,
event_type.event_type_id,
event_type.event_type,
'EventEnd',
e2.end_datetime,
NULL,NULL,NULL,NULL,NULL,NULL
FROM
event_recent e2
LEFT OUTER JOIN event_type ON e2.event_type_id=event_type.event_type_id
LEFT OUTER JOIN ips ON e2.ips_id = ips.ips_id
WHERE
e2.end_datetime is NOT NULL AND
ips.ips_cluster_id=26 AND
e2.end_datetime > DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 DAY)
UNION ALL
SELECT
-1 as ips_id,
NULL,
NULL,
'Log',
log.datetime,
comment as log_comment,
decision.decision_nl as log_decision,
topwind_user.username as log_topwind_user,
IFNULL(GROUP_CONCAT(DISTINCT observation.observation_nl),'') as log_observations,
IFNULL(GROUP_CONCAT(DISTINCT action.action_nl),'') as log_actions,
IFNULL(GROUP_CONCAT(DISTINCT CONCAT(
picture.turbine_id,';',
picture.picture_datetime,';',
picture.filename
)),'') as log_pictures
FROM
log
LEFT OUTER JOIN decision ON log.decision_id = decision.decision_id
LEFT OUTER JOIN topwind_user ON log.topwind_user_id = topwind_user.topwind_user_id
LEFT OUTER JOIN log_observation ON log.log_id = log_observation.log_id
LEFT OUTER JOIN observation ON log_observation.observation_id = observation.observation_id
LEFT OUTER JOIN log_action ON log.log_id = log_action.log_id
LEFT OUTER JOIN action ON log_action.action_id = action.action_id
LEFT OUTER JOIN picture ON log.log_id = picture.log_id
WHERE log.ips_cluster_id=26 AND log.datetime>DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 DAY)
GROUP BY log.log_id
) i
LEFT OUTER JOIN `meteo_data_last_day` md ON md.ips_id = i.ips_id
LEFT OUTER JOIN `meteo_data_last_day` md_one_hour_ago ON md_one_hour_ago.ips_id = i.ips_id
WHERE
(
md.meteo_datetime = (
SELECT MAX(`meteo_data_last_day`.`meteo_datetime`)
FROM `meteo_data_last_day`
WHERE ips_id = i.ips_id AND `meteo_data_last_day`.`meteo_datetime`<i.ts
) OR
md.ips_id IS NULL
) AND
(
md_one_hour_ago.meteo_datetime = (
SELECT MAX(`meteo_data_last_day`.`meteo_datetime`)
FROM `meteo_data_last_day`
WHERE ips_id = i.ips_id AND
`meteo_data_last_day`.`meteo_datetime` < DATE_SUB(md.meteo_datetime, INTERVAL 1 HOUR)
) OR
md_one_hour_ago.ips_id IS NULL
)
ORDER BY i.ts
Connection ID (thread ID): 19138
Status: NOT_KILLEDOptimizer 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
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 D:\MariaDB\data\
Attachments
Issue Links
- duplicates
-
MDEV-27701 Race on trx->lock.wait_lock between lock_rec_move() and lock_sys_t::cancel()
- Closed
- relates to
-
MDEV-31780 InnoDB: Assertion failure in file D:\winx64-packages\build\src\storage\innobase\trx\trx0trx.cc line 1252
- Closed
-
MDEV-25163 Rowid filter does not process storage engine error correctly.
- Closed