Skip to content
  • V S Murthy Sidagam's avatar
    1f725ac8
    Bug#24453571 SERVER CRASHES WHEN INSTALL COMPONENT IS ISSUED, AFTER MYSQL_UPGRADE · 1f725ac8
    V S Murthy Sidagam authored
    Description: mysql server crashes while running INSTALL COMPONENT, after mysql_upgrade
    
    Analysis: When the server is started with out mysql.component table in database,  mysql_persistent_dynamic_loader_imp::init() call fails with the error. Becasue open_component_table() is failing because of mysql.component table is not present.
    And later if we give INSTALL COMPONENT it will call mysql_persistent_dynamic_loader_imp::load() and it fails at
    mysql_persistent_dynamic_loader_imp::is_initialized condition because this flag is not set at init() time.
    And there is no error set along with this failure. Hence the crash at THD::send_statement_status() at the end of query exicution.
    
    Fix: In init() function pretend that the initialization succeeded and make the group_id as '0'. And also return the error messages when the is_initialized flag is checked at load()/unload() function so, that the proper error message is send to the client. By pretending the initialization it will help incase of mysql_upgrade.
    1f725ac8
    Bug#24453571 SERVER CRASHES WHEN INSTALL COMPONENT IS ISSUED, AFTER MYSQL_UPGRADE
    V S Murthy Sidagam authored
    Description: mysql server crashes while running INSTALL COMPONENT, after mysql_upgrade
    
    Analysis: When the server is started with out mysql.component table in database,  mysql_persistent_dynamic_loader_imp::init() call fails with the error. Becasue open_component_table() is failing because of mysql.component table is not present.
    And later if we give INSTALL COMPONENT it will call mysql_persistent_dynamic_loader_imp::load() and it fails at
    mysql_persistent_dynamic_loader_imp::is_initialized condition because this flag is not set at init() time.
    And there is no error set along with this failure. Hence the crash at THD::send_statement_status() at the end of query exicution.
    
    Fix: In init() function pretend that the initialization succeeded and make the group_id as '0'. And also return the error messages when the is_initialized flag is checked at load()/unload() function so, that the proper error message is send to the client. By pretending the initialization it will help incase of mysql_upgrade.
Loading