Bug #91989 InnoDB: Assertion failure: dict0dict.cc
Submitted: 13 Aug 2018 6:45 Modified: 16 Aug 2018 14:44
Reporter: Giacomo Mazzini Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:8.0.12 OS:MacOS (10.13.6)
Assigned to: CPU Architecture:x86

[13 Aug 2018 6:45] Giacomo Mazzini
Description:
********************************
From the general query log
********************************
 
2018-08-13T06:34:31.010216Z	    8 Query	SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'iPratico_Cash' UNION SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'iPratico_Cash' UNION SELECT COUNT(*) FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = 'iPratico_Cash'
2018-08-13T06:34:31.010886Z	    9 Init DB	ipratico_cash
2018-08-13T06:34:31.011265Z	    9 Query	SHOW TABLE STATUS
2018-08-13T06:34:31.015384Z	   10 Connect	root@localhost on  using TCP/IP
2018-08-13T06:34:31.015669Z	   10 Query	SET NAMES utf8mb4

********************************
********************************
From the error log (just after "SHOW TABLE STATUS" query)
********************************
[cf. attached "error.log"]

How to repeat:
By repeating the query sequence above (observed while using Navicat Premium 12.1.4)
[14 Aug 2018 13:04] MySQL Verification Team
Hi,

Thank you for your bug report.

I have tried to run your command on my schema that has most of the data. I have got this output:

+----------+
| COUNT(*) |
+----------+
|       33 |
|      260 |
|        0 |
+----------+

No assertions or anything like that. 

I can try again , but I need your numbers so that I can attempt to reproduce the problem.

Waiting on your feedback.
[14 Aug 2018 14:38] Giacomo Mazzini
My MySQL server seems to crash on "SHOW TABLE STATUS".
Any way, my output for 
  SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 
  'iPratico_Cash' UNION SELECT COUNT(*) FROM information_schema.COLUMNS WHERE 
  TABLE_SCHEMA = 'iPratico_Cash' UNION SELECT COUNT(*) FROM 
  information_schema.ROUTINES WHERE ROUTINE_SCHEMA = 'iPratico_Cash'
is 

+----------+
| COUNT(*) |
+----------+
|       85 |
|     1385 |
|        2 |
+----------+

Thank you in advance,
giacomo mazzini
[14 Aug 2018 15:33] MySQL Verification Team
Hi,

Show table status ........ On which table does it crash ????

Can you upload the dump of that table so that we can test it ????

Also, have you run mysql_upgrade if your data were on 8.0.11 ???

If not, then, this is a cause of your problems .....
[15 Aug 2018 23:19] Giacomo Mazzini
My queries (more precisely "Navicat Premium 12.1.4"'s ones) are recorded in the  the reported general query log (in this bug report's Description field).
By comparing timestamps from that log and from the error log (attached to this bug report), I'm unable to seek a fatal sequence elsewhere than in 
  9 Init DB	ipratico_cash   
  9 Query	SHOW TABLE STATUS
 10 Connect	root@localhost on  using TCP/IP
 10 Query	SET NAMES utf8mb4

The "iPratico_Cash" db was simply build up from the attached Mysql 5.7 dump.
I've also some other databases under the same server: in the meanwhile, 
I'm noticing that each time I ask the server to oipen iPraticoCash, it crashes
in the same way and with the very same "error.log".
[16 Aug 2018 14:44] MySQL Verification Team
Hi,

I have tested all your queries on my latest macOS with our 8.0.12.

SHOW TABLE STATUS and that UNION query run just fine. I have ran a shell command with a loop of 1024 attempts and it worked like charm.

Hence, I can't repeat this. Check whether you are using our binary, check whether your OS and hardware are OK, then check permission, single use of the datadir by our server and all other troubleshooting possibilities.

But, I am not able to repeat this report !!!!!