Bug #79303 Assertion `! is_set() || m_can_overwrite_status' failed in ::set_error_status
Submitted: 17 Nov 2015 4:12 Modified: 15 Dec 2015 16:29
Reporter: Roel Van de Paar Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Information schema Severity:S6 (Debug Builds)
Version:5.7.9 GA, 5.7.11 OS:Any
Assigned to: CPU Architecture:Any
Tags: debug

[17 Nov 2015 4:12] Roel Van de Paar
Description:
+bt
#0  0x00007fc371196771 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000001796a78 in my_write_core (sig=6) at /git/mysql-server_dbg/mysys/stacktrace.c:247
#2  0x0000000000e1dc70 in handle_fatal_signal (sig=6) at /git/mysql-server_dbg/sql/signal_handler.cc:220
#3  <signal handler called>
#4  0x00007fc36fd9a5d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5  0x00007fc36fd9bcc8 in __GI_abort () at abort.c:90
#6  0x00007fc36fd93546 in __assert_fail_base (fmt=0x7fc36fee3128 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x1efcc10 "! is_set() || m_can_overwrite_status", file=file@entry=0x1efca10 "/git/mysql-server_dbg/sql/sql_error.cc", line=line@entry=444, function=function@entry=0x1efd120 <Diagnostics_area::set_error_status(unsigned int, char const*, char const*)::__PRETTY_FUNCTION__> "void Diagnostics_area::set_error_status(uint, const char*, const char*)") at assert.c:92
#7  0x00007fc36fd935f2 in __GI___assert_fail (assertion=0x1efcc10 "! is_set() || m_can_overwrite_status", file=0x1efca10 "/git/mysql-server_dbg/sql/sql_error.cc", line=444, function=0x1efd120 <Diagnostics_area::set_error_status(unsigned int, char const*, char const*)::__PRETTY_FUNCTION__> "void Diagnostics_area::set_error_status(uint, const char*, const char*)") at assert.c:101
#8  0x00000000014421ef in Diagnostics_area::set_error_status (this=0x7fc37178def0, mysql_errno=1064, message_text=0x7fc2a601c0e0 "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??É?? FUNCTION ?test?.?bug5274_f1?() RETURNS char(1) CHARSET latin1\nRETURN NULL' at line 1", returned_sqlstate=0x7fc2a601c2e0 "42000") at /git/mysql-server_dbg/sql/sql_error.cc:444
#9  0x00000000014973fe in parse_sql (thd=0x7fc2a6019000, parser_state=0x7fc37178b490, creation_ctx=0x7fc2a623ab90) at /git/mysql-server_dbg/sql/sql_parse.cc:6881
#10 0x00000000013dc455 in sp_compile (thd=0x7fc2a6019000, defstr=0x7fc37178b6b0, sql_mode=1436549152, creation_ctx=0x7fc2a623ab90) at /git/mysql-server_dbg/sql/sp.cc:768
#11 0x00000000013e076a in sp_load_for_information_schema (thd=0x7fc2a6019000, proc_table=0x7fc2a6057220, db=0x7fc37178c240, name=0x7fc37178c260, sql_mode=1436549152, type=SP_TYPE_FUNCTION, returns=0x7fc2a6032960 "char(1) CHARSET latin1", params=0x1f2cf14 "", free_sp_head=0x7fc37178d72f) at /git/mysql-server_dbg/sql/sp.cc:2318
#12 0x00000000014fbc0a in store_schema_proc (thd=0x7fc2a6019000, table=0x7fc2a608f030, proc_table=0x7fc2a6057220, wild=0x0, full_access=true, sp_user=0x7fc37178d840 "root@localhost") at /git/mysql-server_dbg/sql/sql_show.cc:5712
#13 0x00000000014fc65c in fill_schema_proc (thd=0x7fc2a6019000, tables=0x7fc2a602c648, cond=0x7fc2a609a500) at /git/mysql-server_dbg/sql/sql_show.cc:5845
#14 0x0000000001504c27 in do_fill_table (thd=0x7fc2a6019000, table_list=0x7fc2a602c648, qep_tab=0x7fc2a609a758) at /git/mysql-server_dbg/sql/sql_show.cc:7970
#15 0x000000000150500c in get_schema_tables_result (join=0x7fc2a6099ec0, executed_place=PROCESSED_BY_JOIN_EXEC) at /git/mysql-server_dbg/sql/sql_show.cc:8072
#16 0x00000000014ddce5 in JOIN::prepare_result (this=0x7fc2a6099ec0) at /git/mysql-server_dbg/sql/sql_select.cc:909
#17 0x00000000014442e4 in JOIN::exec (this=0x7fc2a6099ec0) at /git/mysql-server_dbg/sql/sql_executor.cc:124
#18 0x00000000014dc8ba in handle_query (thd=0x7fc2a6019000, lex=0x7fc2a601b2e8, result=0x7fc2a60989f8, added_options=0, removed_options=0) at /git/mysql-server_dbg/sql/sql_select.cc:184
#19 0x0000000001493419 in execute_sqlcom_select (thd=0x7fc2a6019000, all_tables=0x7fc2a602c648) at /git/mysql-server_dbg/sql/sql_parse.cc:4947
#20 0x000000000148cd3a in mysql_execute_command (thd=0x7fc2a6019000, first_level=true) at /git/mysql-server_dbg/sql/sql_parse.cc:2597
#21 0x0000000001494305 in mysql_parse (thd=0x7fc2a6019000, parser_state=0x7fc37178f670) at /git/mysql-server_dbg/sql/sql_parse.cc:5357
#22 0x0000000001489caa in dispatch_command (thd=0x7fc2a6019000, com_data=0x7fc37178fdc0, command=COM_QUERY) at /git/mysql-server_dbg/sql/sql_parse.cc:1284
#23 0x0000000001488b76 in do_command (thd=0x7fc2a6019000) at /git/mysql-server_dbg/sql/sql_parse.cc:852
#24 0x00000000015b2cdb in handle_connection (arg=0x7fc2ae7ff240) at /git/mysql-server_dbg/sql/conn_handler/connection_handler_per_thread.cc:295
#25 0x00000000017c3aa0 in pfs_spawn_thread (arg=0x7fc2bf7e7820) at /git/mysql-server_dbg/storage/perfschema/pfs.cc:2192
#26 0x00007fc371191df5 in start_thread (arg=0x7fc371790700) at pthread_create.c:308
#27 0x00007fc36fe5b1ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

2015-11-17T03:12:26.947481Z 0 [Note] /sda/MS-mysql-5.7.9-linux-x86_64-debug/bin/mysqld: ready for connections.
Version: '5.7.9-debug'  socket: '/sda/MS-mysql-5.7.9-linux-x86_64-debug/socket.sock'  port: 11121  MySQL Community Server (GPL)
mysqld: /git/mysql-server_dbg/sql/sql_error.cc:444: void Diagnostics_area::set_error_status(uint, const char*, const char*): Assertion `! is_set() || m_can_overwrite_status' failed.
03:14:03 UTC - mysqld got signal 6 ;

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
set names swe7;
create function bug10015_3()returns int return (select max(a.id - b.id) FROM t1 as a,t1 as b where a.id=b.id);
CREATE FUNCTION bug5274_f1(p1 CHAR)RETURNS CHAR RETURN CONCAT(p1,p1);
select sql_data_access from information_schema.routines where specific_name like 'p%' and ROUTINE_SCHEMA=0;

Use debug build
[17 Nov 2015 6:01] MySQL Verification Team
Hello Roel,

Thank you for the report and test case.
Observed that 5.7.9, 5.7.11 debug builds are affected.

Thanks,
Umesh
[17 Nov 2015 6:02] MySQL Verification Team
// 5.7.9  - only debug build affected
// Build and startup commands used

[umshastr@hod03]/export/umesh/server/binaries/mysql-5.7.9: cat docs/INFO_SRC
commit: 0efebb1df63491b46ab6f77956a6aaec509ef015
date: 2015-10-09 12:33:31 +0200
build-date: 2015-10-12 08:11:42 +0200
short: 0efebb1
branch: mysql-5.7.9-release

MySQL source 5.7.9

bin/mysql_install_db --insecure --basedir=/export/umesh/server/binaries/mysql-5.7.9 --datadir=/export/umesh/server/binaries/mysql-5.7.9/79303 -v
bin/mysqld-debug --no-defaults --basedir=/export/umesh/server/binaries/mysql-5.7.9 --datadir=/export/umesh/server/binaries/mysql-5.7.9/79303 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/server/binaries/mysql-5.7.9/79303/log.err 2>&1 &

(gdb) bt
#0  0x00007f175db3d771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000001803885 in my_write_core (sig=6) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/mysys/stacktrace.c:247
#2  0x0000000000e45850 in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/signal_handler.cc:220
#3  <signal handler called>
#4  0x00007f175c7435d7 in raise () from /lib64/libc.so.6
#5  0x00007f175c744cc8 in abort () from /lib64/libc.so.6
#6  0x00007f175c73c546 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007f175c73c5f2 in __assert_fail () from /lib64/libc.so.6
#8  0x000000000149b699 in Diagnostics_area::set_error_status (this=0x7f173053a880, mysql_errno=1064,
    message_text=0x7f16ec003ac8 "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??É?? FUNCTION ?test?.?bug5274_f1?() RETURNS char(1) CHARSET lat"..., returned_sqlstate=0x7f16ec003cc8 "42000") at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_error.cc:444
#9  0x00000000014f3062 in parse_sql (thd=0x7f16ec000b70, parser_state=0x7f1730537df0, creation_ctx=0x7f16ec10c6c0)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:6881
#10 0x00000000014339eb in sp_compile (thd=0x7f16ec000b70, defstr=0x7f1730538a90, sql_mode=1436549152, creation_ctx=0x7f16ec10c6c0)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sp.cc:768
#11 0x0000000001437e40 in sp_load_for_information_schema (thd=0x7f16ec000b70, proc_table=0x7f16ec010240, db=0x7f173053a060, name=0x7f173053a040, sql_mode=1436549152, type=SP_TYPE_FUNCTION,
    returns=0x7f16ec021790 "char(1) CHARSET latin1", params=0x20a9064 "", free_sp_head=0x7f173053a08f) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sp.cc:2318
#12 0x0000000001559420 in store_schema_proc (thd=0x7f16ec000b70, table=0x7f16ec01c420, proc_table=0x7f16ec010240, wild=0x0, full_access=true, sp_user=0x7f173053a6b0 "root@localhost")
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_show.cc:5712
#13 0x0000000001559f0e in fill_schema_proc (thd=0x7f16ec000b70, tables=0x7f16ec006b98, cond=0x7f16ec01f6c0)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_show.cc:5845
#14 0x00000000015629ea in do_fill_table (thd=0x7f16ec000b70, table_list=0x7f16ec006b98, qep_tab=0x7f16ec01f918)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_show.cc:7970
#15 0x0000000001562dda in get_schema_tables_result (join=0x7f16ec01f080, executed_place=PROCESSED_BY_JOIN_EXEC)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_show.cc:8072
#16 0x000000000153a49d in JOIN::prepare_result (this=0x7f16ec01f080) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_select.cc:908
#17 0x000000000149d8d1 in JOIN::exec (this=0x7f16ec01f080) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_executor.cc:124
#18 0x0000000001539062 in handle_query (thd=0x7f16ec000b70, lex=0x7f16ec002cd0, result=0x7f16ec01bdd8, added_options=0, removed_options=0)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_select.cc:184
#19 0x00000000014eeece in execute_sqlcom_select (thd=0x7f16ec000b70, all_tables=0x7f16ec006b98) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:4947
#20 0x00000000014e7b69 in mysql_execute_command (thd=0x7f16ec000b70, first_level=true) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:2597
#21 0x00000000014efd25 in mysql_parse (thd=0x7f16ec000b70, parser_state=0x7f173053c6a0) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:5357
#22 0x00000000014e4930 in dispatch_command (thd=0x7f16ec000b70, com_data=0x7f173053ce10, command=COM_QUERY)
    at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:1284
#23 0x00000000014e37ea in do_command (thd=0x7f16ec000b70) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/sql_parse.cc:852
#24 0x0000000001613d77 in handle_connection (arg=0x3f49b70) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/sql/conn_handler/connection_handler_per_thread.cc:295
#25 0x000000000188fd80 in pfs_spawn_thread (arg=0x4052bd0) at /export/home/pb2/build/sb_0-16729453-1444633651.02/mysql-5.7.9/storage/perfschema/pfs.cc:2192
#26 0x00007f175db38df5 in start_thread () from /lib64/libpthread.so.0
#27 0x00007f175c80460d in clone () from /lib64/libc.so.6
(gdb)
[17 Nov 2015 6:02] MySQL Verification Team
// 5.7.11 - only debug build affected
// Build and startup commands used

[umshastr@hod03]/export/umesh/server/binaries/mysql-advanced-5.7.11: cat docs/INFO_SRC
commit: 0a942734c82190f85cd78fa8cb88e6adfe2df0c8
date: 2015-11-13 18:21:42 +0530
build-date: 2015-11-13 18:01:59 +0100
short: 0a94273
branch: mysql-5.7

MySQL source 5.7.11

bin/mysql_install_db --insecure --basedir=/export/umesh/server/binaries/mysql-advanced-5.7.11 --datadir=/export/umesh/server/binaries/mysql-advanced-5.7.11/79303 -v
bin/mysqld-debug --no-defaults --basedir=/export/umesh/server/binaries/mysql-advanced-5.7.11 --datadir=/export/umesh/server/binaries/mysql-advanced-5.7.11/79303 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/server/binaries/mysql-advanced-5.7.11/79303/log.err 2>&1 &

// extract from error log

2015-11-17T04:30:45.802097Z 0 [Note] bin/mysqld-debug: ready for connections.
Version: '5.7.11-enterprise-commercial-advanced-debug'  socket: '/tmp/mysql_ushastry.sock'  port: 15000  MySQL Enterprise Server - Advanced Edition Debug (Commercial)
mysqld-debug: /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_error.cc:444: void Diagnostics_area::set_error_status(uint, const char*, const char*): Assertion `! is_set() || m_can_overwrite_status' failed.
04:30:56 UTC - mysqld got signal 6 ;

(gdb) bt
#0  0x00007f11512be771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000001831318 in my_write_core (sig=6) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/mysys/stacktrace.c:247
#2  0x0000000000e841da in handle_fatal_signal (sig=6) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/signal_handler.cc:220
#3  <signal handler called>
#4  0x00007f114fcb85d7 in raise () from /lib64/libc.so.6
#5  0x00007f114fcb9cc8 in abort () from /lib64/libc.so.6
#6  0x00007f114fcb1546 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007f114fcb15f2 in __assert_fail () from /lib64/libc.so.6
#8  0x00000000014d6b5b in Diagnostics_area::set_error_status (this=0x7f1123ab3640, mysql_errno=1064,
    message_text=0x7f10d0003aa8 "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??É?? FUNCTION ?test?.?bug5274_f1?() RETURNS char(1) CHARSET lat"..., returned_sqlstate=0x7f10d0003ca8 "42000") at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_error.cc:444
#9  0x000000000152d4f9 in parse_sql (thd=0x7f10d0000b70, parser_state=0x7f1123ab0c40, creation_ctx=0x7f10d01100d0)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:7032
#10 0x000000000147077b in sp_compile (thd=0x7f10d0000b70, defstr=0x7f1123ab0e60, sql_mode=1436549152, creation_ctx=0x7f10d01100d0)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sp.cc:768
#11 0x0000000001474afd in sp_load_for_information_schema (thd=0x7f10d0000b70, proc_table=0x7f10d001fc80, db=0x7f1123ab19d0, name=0x7f1123ab19f0, sql_mode=1436549152, type=SP_TYPE_FUNCTION,
    returns=0x7f10d0036680 "char(1) CHARSET latin1", params=0x215817c "", free_sp_head=0x7f1123ab2e7f) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sp.cc:2318
#12 0x0000000001592449 in store_schema_proc (thd=0x7f10d0000b70, table=0x7f10d001a3e0, proc_table=0x7f10d001fc80, wild=0x0, full_access=true, sp_user=0x7f1123ab2f90 "root@localhost")
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_show.cc:5712
#13 0x0000000001592ea4 in fill_schema_proc (thd=0x7f10d0000b70, tables=0x7f10d0006b78, cond=0x7f10d0023890)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_show.cc:5845
#14 0x000000000159b50f in do_fill_table (thd=0x7f10d0000b70, table_list=0x7f10d0006b78, qep_tab=0x7f10d0023ae8)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_show.cc:7970
#15 0x000000000159b8f6 in get_schema_tables_result (join=0x7f10d0023250, executed_place=PROCESSED_BY_JOIN_EXEC)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_show.cc:8072
#16 0x0000000001574315 in JOIN::prepare_result (this=0x7f10d0023250) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_select.cc:909
#17 0x00000000014d8cc2 in JOIN::exec (this=0x7f10d0023250) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_executor.cc:124
#18 0x0000000001572eaa in handle_query (thd=0x7f10d0000b70, lex=0x7f10d0002cd0, result=0x7f10d00107b8, added_options=0, removed_options=0)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_select.cc:184
#19 0x0000000001529452 in execute_sqlcom_select (thd=0x7f10d0000b70, all_tables=0x7f10d0006b78) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:5098
#20 0x0000000001522cab in mysql_execute_command (thd=0x7f10d0000b70, first_level=true) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:2748
#21 0x000000000152a383 in mysql_parse (thd=0x7f10d0000b70, parser_state=0x7f1123ab4dc0) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:5508
#22 0x000000000151fb6f in dispatch_command (thd=0x7f10d0000b70, com_data=0x7f1123ab5df0, command=COM_QUERY)
    at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:1425
#23 0x000000000151ea06 in do_command (thd=0x7f10d0000b70) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/sql_parse.cc:993
#24 0x000000000164b871 in handle_connection (arg=0x4d66ba0) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/sql/conn_handler/connection_handler_per_thread.cc:301
#25 0x0000000001c9b984 in pfs_spawn_thread (arg=0x4eb8c60) at /export/home2/pb2/build/sb_0-17056166-1447435077.81/mysqlcom-pro-5.7.11/storage/perfschema/pfs.cc:2192
#26 0x00007f11512b9df5 in start_thread () from /lib64/libpthread.so.0
#27 0x00007f114fd7960d in clone () from /lib64/libc.so.6
(gdb)
[17 Nov 2015 22:58] Roel Van de Paar
Also see bug #74026, bug #76515 and bug #74597
[15 Dec 2015 16:29] Paul DuBois
Noted in 5.7.11, 5.8.0 changelogs.

Statements causing multiple parse errors could cause an assertion to
be raised.