Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-30526

Assertion `rights == merged->cols' failed in update_role_columns

    XMLWordPrintable

Details

    Description

      CREATE TABLE t1 (pk int, i int);
       
      CREATE ROLE a;
       
      GRANT SELECT (i), UPDATE (pk) ON t1 TO a;
      REVOKE  UPDATE (pk) ON t1 FROM a;
      

      Version: '10.3.38-MariaDB-debug-log'  
      mysqld: /10.3/src/sql/sql_acl.cc:6103: int update_role_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**): Assertion `rights == merged->cols' failed.
      230131 15:58:21 [ERROR] mysqld got signal 6 ;
       
      Server version: 10.3.38-MariaDB-debug-log source revision: f812f8e1ab7acc5dd17daf5ab5f73495c7963af5
       
      sql/sql_acl.cc:6104(update_role_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**))[0x55d2bbf45137]
      sql/sql_acl.cc:6164(update_role_table_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**, unsigned long, unsigned long, char const*))[0x55d2bbf45528]
      sql/sql_acl.cc:6226(merge_role_table_and_column_privileges(ACL_ROLE*, char const*, char const*, Hash_set<ACL_ROLE>*))[0x55d2bbf45e07]
      sql/sql_acl.cc:6383(merge_role_privileges(ACL_ROLE*, ACL_ROLE*, void*))[0x55d2bbf471ad]
      sql/sql_acl.cc:6407(merge_one_role_privileges(ACL_ROLE*, PRIVS_TO_MERGE))[0x55d2bbf4773c]
      sql/sql_acl.cc:5613(propagate_role_grants(ACL_ROLE*, PRIVS_TO_MERGE::what, char const*, char const*))[0x55d2bbf41efa]
      sql/sql_acl.cc:6589(mysql_table_grant(THD*, TABLE_LIST*, List<LEX_USER>&, List<LEX_COLUMN>&, unsigned long, bool))[0x55d2bbf493f0]
      sql/sql_parse.cc:5298(mysql_execute_command(THD*))[0x55d2bc119c91]
      sql/sql_parse.cc:7855(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55d2bc12b3ea]
      sql/sql_parse.cc:1855(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d2bc1023a7]
      sql/sql_parse.cc:1398(do_command(THD*))[0x55d2bc0feec6]
      sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x55d2bc4d562d]
      sql/sql_connect.cc:1310(handle_one_connection)[0x55d2bc4d4ee7]
      perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55d2bdb0c201]
      nptl/pthread_create.c:478(start_thread)[0x7f4e9c32c609]
       
      Query (0x62b000000290): REVOKE  UPDATE (pk) ON t1 FROM a
      

      also slight variation:

      preview-11.0-preview 3340d2c670127f41f

      /preview-11.0-preview/sql/sql_acl.cc:6785: int update_role_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**): Assertion `rights == merged->cols' failed.
      230131 14:28:56 [ERROR] mysqld got signal 6 ;
      sion: 11.0.0-MariaDB-debug-log
       
      ??:0(__assert_fail)[0x7f28ff299fd6]
      sql/sql_acl.cc:6786(update_role_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**))[0x55f3655207d7]
      sql/sql_acl.cc:6847(update_role_table_columns(GRANT_TABLE*, GRANT_TABLE**, GRANT_TABLE**, privilege_t, privilege_t, char const*))[0x55f365520c3e]
      sql/sql_acl.cc:6910(merge_role_table_and_column_privileges(ACL_ROLE*, char const*, char const*, Hash_set<ACL_ROLE>*))[0x55f365521726]
      sql/sql_acl.cc:7067(merge_role_privileges(ACL_ROLE*, ACL_ROLE*, void*))[0x55f365522c12]
      sql/sql_acl.cc:6444(traverse_role_graph_impl(ACL_USER_BASE*, void*, long, int (*)(ACL_USER_BASE*, void*), int (*)(ACL_USER_BASE*, ACL_ROLE*, void*)))[0x55f36551e260]
      sql/sql_acl.cc:6510(traverse_role_graph_up(ACL_ROLE*, void*, int (*)(ACL_ROLE*, void*), int (*)(ACL_ROLE*, ACL_ROLE*, void*)))[0x55f36551ec90]
      sql/sql_acl.cc:6323(propagate_role_grants(ACL_ROLE*, PRIVS_TO_MERGE::what, char const*, char const*))[0x55f36551d26e]
      sql/sql_acl.cc:10499(handle_grant_struct(enum_acl_lists, bool, LEX_USER*, LEX_USER*))[0x55f36553b0c0]
      sql/sql_acl.cc:10989(handle_grant_data(THD*, Grant_tables&, bool, LEX_USER*, LEX_USER*))[0x55f36553cf69]
      sql/sql_acl.cc:11075(mysql_create_user(THD*, List<LEX_USER>&, bool))[0x55f36553d6a4]
      sql/sql_parse.cc:5333(mysql_execute_command(THD*, bool))[0x55f365742626]
      sql/sql_parse.cc:8000(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55f365754552]
      sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55f36572a780]
      sql/sql_parse.cc:1407(do_command(THD*, bool))[0x55f3657274bc]
      sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x55f365bf0cf7]
      sql/sql_connect.cc:1320(handle_one_connection)[0x55f365bf0654]
      perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55f36680a4f4]
      nptl/pthread_create.c:478(start_thread)[0x7f28ff7b4609]
      

      Attachments

        Issue Links

          Activity

            People

              serg Sergei Golubchik
              alice Alice Sherepa
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.