| Bug #76090 | Assertion `from->m_byte_count == 0' failed in perfschema/pfs_digest.h:113 | ||
|---|---|---|---|
| Submitted: | 2 Mar 2015 9:19 | Modified: | 19 Mar 2015 16:39 |
| Reporter: | Ramesh Sivaraman | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Performance Schema | Severity: | S3 (Non-critical) |
| Version: | 5.6.23 | OS: | Linux (CentOS 7) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | debug | ||
[2 Mar 2015 9:19]
Ramesh Sivaraman
Testcase bundle
Attachment: 1425279078_bug_bundle.tar.gz (application/gzip, text), 93.46 KiB.
[19 Mar 2015 16:04]
MySQL Verification Team
Easily repeatable on 5.6.23 but not on current 5.6.25 code. I guess something changed since on current 5.6.25 code I get 2000 QPS but on the 5.6.23 that crashed I got 12000 QPS... Version: '5.6.23-debug' MySQL Community Server - Debug (GPL) Assertion failed: from->m_byte_count == 0, file g:\ade\build\sb_0-14135570-1421676922.45\mysql-5.6.23\storage\perfschema\pfs_digest.h, line 113 mysqld-debug.exe!my_sigabrt_handler()[my_thr_init.c:458] mysqld-debug.exe!raise()[winsig.c:593] mysqld-debug.exe!abort()[abort.c:81] mysqld-debug.exe!_wassert()[assert.c:153] mysqld-debug.exe!digest_copy()[pfs_digest.h:113] mysqld-debug.exe!table_events_statements_common::make_row_part_1()[table_events_statements.cc:375] mysqld-debug.exe!table_events_statements_current::make_row()[table_events_statements.cc:726] mysqld-debug.exe!table_events_statements_current::rnd_next()[table_events_statements.cc:665] mysqld-debug.exe!ha_perfschema::rnd_next()[ha_perfschema.cc:332] mysqld-debug.exe!handler::ha_rnd_next()[handler.cc:2688] mysqld-debug.exe!rr_sequential()[records.cc:478] mysqld-debug.exe!sub_select()[sql_executor.cc:1259] mysqld-debug.exe!do_select()[sql_executor.cc:933] mysqld-debug.exe!JOIN::exec()[sql_executor.cc:194] mysqld-debug.exe!mysql_execute_select()[sql_select.cc:1103] mysqld-debug.exe!mysql_select()[sql_select.cc:1221] mysqld-debug.exe!handle_select()[sql_select.cc:110] mysqld-debug.exe!execute_sqlcom_select()[sql_parse.cc:5103] mysqld-debug.exe!mysql_execute_command()[sql_parse.cc:2649] mysqld-debug.exe!mysql_parse()[sql_parse.cc:6357] mysqld-debug.exe!dispatch_command()[sql_parse.cc:1335] mysqld-debug.exe!do_command()[sql_parse.cc:1034] mysqld-debug.exe!do_handle_one_connection()[sql_connect.cc:982] mysqld-debug.exe!handle_one_connection()[sql_connect.cc:899] mysqld-debug.exe!pfs_spawn_thread()[pfs.cc:1862] mysqld-debug.exe!pthread_start()[my_winthread.c:62] mysqld-debug.exe!_callthreadstartex()[threadex.c:314] mysqld-debug.exe!_threadstartex()[threadex.c:297]

Description: #0 0x00007fc257239771 in pthread_kill () from /lib64/libpthread.so.0 #1 0x0000000000a980a6 in my_write_core (sig=6) at /sda/mysql-server-5.6/mysys/stacktrace.c:422 #2 0x00000000007277f0 in handle_fatal_signal (sig=6) at /sda/mysql-server-5.6/sql/signal_handler.cc:230 #3 <signal handler called> #4 0x00007fc2560455c9 in raise () from /lib64/libc.so.6 #5 0x00007fc256046cd8 in abort () from /lib64/libc.so.6 #6 0x00007fc25603e536 in __assert_fail_base () from /lib64/libc.so.6 #7 0x00007fc25603e5e2 in __assert_fail () from /lib64/libc.so.6 #8 0x0000000000b46474 in digest_copy (to=0x7fc255d4e380, from=0x7fc2542fbcd0) at /sda/mysql-server-5.6/storage/perfschema/pfs_digest.h:113 #9 0x0000000000b46925 in table_events_statements_common::make_row_part_1 (this=0x7fc236078e00, statement=0x7fc2542fb510, digest=0x7fc255d4e380) at /sda/mysql-server-5.6/storage/perfschema/table_events_statements.cc:373 #10 0x0000000000b477cc in table_events_statements_current::make_row (this=0x7fc236078e00, pfs_thread=0x7fc25405f700, statement=0x7fc2542fb510) at /sda/mysql-server-5.6/storage/perfschema/table_events_statements.cc:723 #11 0x0000000000b47566 in table_events_statements_current::rnd_next (this=0x7fc236078e00) at /sda/mysql-server-5.6/storage/perfschema/table_events_statements.cc:664 #12 0x0000000000b2b2f3 in ha_perfschema::rnd_next (this=0x7fc236c46010, buf=0x7fc236c9b010 "") at /sda/mysql-server-5.6/storage/perfschema/ha_perfschema.cc:332 #13 0x000000000063c1ea in handler::ha_rnd_next (this=0x7fc236c46010, buf=0x7fc236c9b010 "") at /sda/mysql-server-5.6/sql/handler.cc:2687 #14 0x000000000097b3ea in rr_sequential (info=0x7fc236020748) at /sda/mysql-server-5.6/sql/records.cc:478 #15 0x00000000007a470d in sub_select (join=0x7fc23601f9d0, join_tab=0x7fc2360206b8, end_of_records=false) at /sda/mysql-server-5.6/sql/sql_executor.cc:1259 #16 0x00000000007a40e1 in do_select (join=0x7fc23601f9d0) at /sda/mysql-server-5.6/sql/sql_executor.cc:933 #17 0x00000000007a203d in JOIN::exec (this=0x7fc23601f9d0) at /sda/mysql-server-5.6/sql/sql_executor.cc:194 #18 0x00000000008027a7 in mysql_execute_select (thd=0x7fc24663f000, select_lex=0x7fc246641878, free_join=true) at /sda/mysql-server-5.6/sql/sql_select.cc:1100 #19 0x0000000000802aa3 in mysql_select (thd=0x7fc24663f000, tables=0x7fc23601f398, wild_num=0, fields=..., conds=0x0, order=0x7fc246641a40, group=0x7fc246641978, having=0x0, select_options=2147748608, result=0x7fc23601f9a8, unit=0x7fc246641230, select_lex=0x7fc246641878) at /sda/mysql-server-5.6/sql/sql_select.cc:1221 #20 0x0000000000800b2b in handle_select (thd=0x7fc24663f000, result=0x7fc23601f9a8, setup_tables_done_option=0) at /sda/mysql-server-5.6/sql/sql_select.cc:110 #21 0x00000000007da980 in execute_sqlcom_select (thd=0x7fc24663f000, all_tables=0x7fc23601f398) at /sda/mysql-server-5.6/sql/sql_parse.cc:5103 #22 0x00000000007d3730 in mysql_execute_command (thd=0x7fc24663f000) at /sda/mysql-server-5.6/sql/sql_parse.cc:2649 #23 0x00000000007dd54a in mysql_parse (thd=0x7fc24663f000, rawbuf=0x7fc23601f010 "select count(*) from performance_schema.events_statements_current", length=65, parser_state=0x7fc255d4fe70) at /sda/mysql-server-5.6/sql/sql_parse.cc:6357 #24 0x00000000007d06bc in dispatch_command (command=COM_QUERY, thd=0x7fc24663f000, packet=0x7fc246643001 "", packet_length=68) at /sda/mysql-server-5.6/sql/sql_parse.cc:1332 #25 0x00000000007cf7ab in do_command (thd=0x7fc24663f000) at /sda/mysql-server-5.6/sql/sql_parse.cc:1034 #26 0x0000000000797b3d in do_handle_one_connection (thd_arg=0x7fc24663f000) at /sda/mysql-server-5.6/sql/sql_connect.cc:982 #27 0x0000000000797626 in handle_one_connection (arg=0x7fc24663f000) at /sda/mysql-server-5.6/sql/sql_connect.cc:898 #28 0x0000000000b5d7f0 in pfs_spawn_thread (arg=0x7fc250b3c920) at /sda/mysql-server-5.6/storage/perfschema/pfs.cc:1860 #29 0x00007fc257234df3 in start_thread () from /lib64/libpthread.so.0 #30 0x00007fc2561061ad in clone () from /lib64/libc.so.6 How to repeat: select count(*) from performance_schema.events_statements_current; To reproducing the bug we need to use multi thread pquery binary, the attached tarball gives the testcase as an exact match of our system, including some handy utilities $ vi {epoch}_mybase # Update base path in this file (the only change required!) $ ./{epoch}_init # Initializes the data dir $ ./{epoch}_start # Starts mysqld $ ./{epoch}_cl # To check mysqld is up $ ./{epoch}_run_pquery # Run the testcase with pquery binary(produces output) $ vi /dev/shm/{epoch}/error.log.out # Verify the error log $ ./{epoch}_gdb # Brings you to a gdb prompt attached to correct mysqld & generated core $ ./{epoch}_parse_core # Create {epoch}_STD.gdb and {epoch}_FULL.gdb; standard and full var gdb stack traces etc.