OK, this is an upstream issue that is only now more visible because the utility user functionality create a path that may be hit more often via user error. That path is basically any false exit from sql/sql_acl.cc:acl_load after init_read_record has been called.
I injected:
return_val= FALSE;
goto end:
in several placed along acl_reload and everything operated normally until I reached init_read_record, once I return with an error after that, the server will always assert in the same way. I verified this on MySQL 5.5.33 debug.
OK, this is an upstream issue that is only now more visible because the utility user functionality create a path that may be hit more often via user error. That path is basically any false exit from sql/sql_ acl.cc: acl_load after init_read_record has been called.
I injected:
return_val= FALSE;
goto end:
in several placed along acl_reload and everything operated normally until I reached init_read_record, once I return with an error after that, the server will always assert in the same way. I verified this on MySQL 5.5.33 debug.