Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.13, 10.1.0
Description
SET join_cache_level = 3; |
SELECT * FROM INFORMATION_SCHEMA.PROFILING, mysql.user WHERE password_expired = PAGE_FAULTS_MINOR; |
#6 0x00007f61677866f1 in *__GI___assert_fail (assertion=0xf0eab0 "0", file=<optimized out>, line=521, function=0xf0ffc0 "void Protocol::end_statement()") at assert.c:81
|
#7 0x00000000005d1b83 in Protocol::end_statement (this=0x7f616232f5f8) at 10.0/sql/protocol.cc:521
|
#8 0x000000000067881e in dispatch_command (command=COM_QUERY, thd=0x7f616232f070, packet=0x7f61633f6071 "SELECT * FROM INFORMATION_SCHEMA.PROFILING, mysql.user WHERE password_expired = PAGE_FAULTS_MINOR", packet_length=97) at 10.0/sql/sql_parse.cc:1728
|
#9 0x0000000000676795 in do_command (thd=0x7f616232f070) at 10.0/sql/sql_parse.cc:1004
|
#10 0x0000000000792a96 in do_handle_one_connection (thd_arg=0x7f616232f070) at 10.0/sql/sql_connect.cc:1379
|
#11 0x00000000007927e9 in handle_one_connection (arg=0x7f616232f070) at 10.0/sql/sql_connect.cc:1293
|
#12 0x0000000000cc5296 in pfs_spawn_thread (arg=0x7f616171fbf0) at 10.0/storage/perfschema/pfs.cc:1860
|
#13 0x00007f616933fb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
|
#14 0x00007f616783720d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
|
Stack trace from:
revision-id: knielsen@knielsen-hq.org-20140902120701-txesdmkczel84qgf
|
revno: 4369
|
branch-nick: 10.0
|
EXPLAIN also crashes.
cvicentiu, please investigate.
Initial ideas (I might be wrong): something failed with an error but failed to print the error to network. We fail assert at the end of the statement, where we attempt to make an impossible state transition in the client-server protocol.
Is it possible to produce an EXPLAIN for this query with a lower @@join_cache_level ?
AFAIU, INFORMATION_SCHEMA.PROFILING is a special kind of table, its handler may cause bugs when one is trying to do joins with it.