[MDEV-25301] Failed assertion in case the option --skip-stack-trace specifed and the statement 'set global event_scheduler=1' executed in PS mode Created: 2021-03-30  Updated: 2021-03-30

Status: Open
Project: MariaDB Server
Component/s: Prepared Statements
Affects Version/s: 10.2
Fix Version/s: 10.2

Type: Bug Priority: Major
Reporter: Dmitry Shulga Assignee: Dmitry Shulga
Resolution: Unresolved Votes: 0
Labels: None


 Description   

In case MariaDB server is started with the option --skip-stack-trace, executing of the following statements

PREPARE stmt FROM 'SET GLOBAL event_scheduler=0';
EXECUTE stmt;

results in firing of the assert

Assertion failed: (! is_set() || m_can_overwrite_status), function set_error_status, file /Users/shulga/projects/mariadb/server-10.2/sql/sql_error.cc, line 487.

Stack trace to the place of the fired assertion is below.

 frame #4: 0x00000001092faedc mysqld`Diagnostics_area::set_error_status(this=0x00007fc1ad07ec50, sql_errno=1615, message="Prepared statement needs to be re-prepared", sqlstate="HY000", error_condition=0x0000000000000000) at sql_error.cc:487:3
    frame #5: 0x00000001092fadc3 mysqld`Diagnostics_area::set_error_status(this=0x00007fc1ad07ec50, sql_errno=1615) at sql_error.cc:452:3
    frame #6: 0x00000001093832ee mysqld`Reprepare_observer::report_error(this=0x000070000f583038, thd=0x00007fc1ad079a70) at sql_prepare.cc:3911:23
    frame #7: 0x000000010929c42f mysqld`check_and_update_table_version(thd=0x00007fc1ad079a70, tables=0x000070000f580d60, table_share=0x00007fc1ad0a9c88) at sql_base.cc:2649:36
    frame #8: 0x00000001092a05f6 mysqld`open_and_process_table(thd=0x00007fc1ad079a70, tables=0x000070000f580d60, counter=0x000070000f580c3c, flags=2048, prelocking_strategy=0x000070000f580cb0, has_prelocking_list=false, ot_ctx=0x000070000f580b80) at sql_base.cc:3676:10
    frame #9: 0x000000010929ee99 mysqld`open_tables(thd=0x00007fc1ad079a70, options=0x00007fc1ac0531c0, start=0x000070000f580c50, counter=0x000070000f580c3c, flags=2048, prelocking_strategy=0x000070000f580cb0) at sql_base.cc:4081:14
    frame #10: 0x00000001092a264f mysqld`open_and_lock_tables(thd=0x00007fc1ad079a70, options=0x00007fc1ac0531c0, tables=0x000070000f580d60, derived=false, flags=2048, prelocking_strategy=0x000070000f580cb0) at sql_base.cc:4880:7
    frame #11: 0x00000001092801c3 mysqld`open_and_lock_tables(thd=0x00007fc1ad079a70, tables=0x000070000f580d60, derived=false, flags=2048) at sql_base.h:507:10
    frame #12: 0x00000001094dbd79 mysqld`Event_db_repository::check_system_tables(thd=0x00007fc1ad079a70) at event_db_repository.cc:1206:7
    frame #13: 0x00000001094dff17 mysqld`Events::init(thd=0x00007fc1ad079a70, opt_noacl_or_bootstrap=false) at events.cc:925:7
    frame #14: 0x000000010953164f mysqld`event_scheduler_update(self=0x000000010a59a340, thd=0x00007fc1ad079a70, type=SHOW_OPT_GLOBAL) at sys_vars.cc:977:27
    frame #15: 0x00000001092067cc mysqld`sys_var::update(this=0x000000010a59a340, thd=0x00007fc1ad079a70, var=0x00007fc1ac053828) at set_var.cc:209:21
    frame #16: 0x0000000109209307 mysqld`set_var::update(this=0x00007fc1ac053828, thd=0x00007fc1ad079a70) at set_var.cc:837:23
    frame #17: 0x0000000109208d1b mysqld`sql_set_variables(thd=0x00007fc1ad079a70, var_list=0x00007fc1ac052ee0, free=true) at set_var.cc:738:20
    frame #18: 0x00000001093437c6 mysqld`mysql_execute_command(thd=0x00007fc1ad079a70) at sql_parse.cc:4644:16
    frame #19: 0x0000000109386a63 mysqld`Prepared_statement::execute(this=0x00007fc1ac00f070, expanded_query=0x000070000f583130, open_cursor=false) at sql_prepare.cc:5053:14


Generated at Thu Feb 08 09:36:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.