Description:
MySQL service which is running version 5.7.16 on Windows 2012 R2 crash multiple times within last week due to following issue.
[ERROR] [FATAL] InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung.
Following was longest waiting Semaphore in innodb output status
--Thread 4524 has waited at srv0srv.cc line 1968 for 891.00 seconds the semaphore:
X-lock on RW-latch at 000000720B4E6998 created in file dict0dict.cc line 1184
a writer (thread id 4564) has reserved it in mode exclusive
number of readers 0, waiters flag 1, lock_word: 0
Last time read locked in file row0purge.cc line 861
Last time write locked in file G:\ade\build\sb_0-20577873-1475083302.76\mysql-5.7.16\storage\innobase\dict\dict0stats.cc line 2366
--Thread 3228 has waited at ha_innodb.cc line 5510 for 855.00 seconds the semaphore:
Mutex at 00000070596E9E88, Mutex DICT_SYS created dict0dict.cc:1173, lock var 1
---TRANSACTION 2408883, ACTIVE 933 sec inserting, thread declared inside InnoDB 5000
mysql tables in use 1, locked 1
1 lock struct(s), heap size 1136, 0 row lock(s)
MySQL thread id 9430, OS thread handle 6956, query id 6961240 ... update
Insert into ……
---TRANSACTION 2408526, ACTIVE 991 sec inserting, thread declared inside InnoDB 4584
mysql tables in use 2, locked 2
1 lock struct(s), heap size 1136, 0 row lock(s), undo log entries 1187945
MySQL thread id 46489, OS thread handle 928, query id 6960176 ... Sending data
CREATE TABLE IF NOT EXISTS <table name>
SELECT * FROM <temp table>
How to repeat:
No Proper repeat step available.