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

Assertion `rights == merged->cols' failed in int update_role_columns(GRANT_TABLE *, GRANT_TABLE **, GRANT_TABLE **)

    XMLWordPrintable

Details

    Description

      GRANT SELECT (USER) ON mysql.global_priv TO PUBLIC;
      DELETE FROM mysql.global_priv;
      FLUSH PRIVILEGES;
      GRANT SELECT (USER) ON mysql.global_priv TO PUBLIC;
      

      Leads to:

      CS 12.2.0 e02f4d7e311e214ea62ff2e59599849e229f4165 (Debug, Clang) Build 13/08/2025

      mariadbd: /test/12.1_dbg/sql/sql_acl.cc:6990: int update_role_columns(GRANT_TABLE *, GRANT_TABLE **, GRANT_TABLE **): Assertion `rights == merged->cols' failed.
      

      CS 12.2.0 e02f4d7e311e214ea62ff2e59599849e229f4165 (Debug, Clang) Build 13/08/2025

      Core was generated by `/test/MD130825-mariadb-12.2.0-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
      Program terminated with signal SIGABRT, Aborted.
      Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 1852125)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x000070f0ef84527e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x000070f0ef8288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x000070f0ef82881b in __assert_fail_base (fmt=0x70f0ef9d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x6308906720c0 "rights == merged->cols", file=file@entry=0x63089066ff04 "/test/12.1_dbg/sql/sql_acl.cc", line=line@entry=6990, function=function@entry=0x6308906720d7 "int update_role_columns(GRANT_TABLE *, GRANT_TABLE **, GRANT_TABLE **)") at ./assert/assert.c:96
      #6  0x000070f0ef83b517 in __assert_fail (assertion=0x6308906720c0 "rights == merged->cols", file=0x63089066ff04 "/test/12.1_dbg/sql/sql_acl.cc", line=6990, function=0x6308906720d7 "int update_role_columns(GRANT_TABLE *, GRANT_TABLE **, GRANT_TABLE **)") at ./assert/assert.c:105
      #7  0x000063088f50e063 in update_role_columns (merged=0x6308cc385d68, cur=0x70d204018860, last=0x70d204018860)at /test/12.1_dbg/sql/sql_acl.cc:6990
      #8  0x000063088f50dca0 in update_role_table_columns (merged=0x6308cc385d68, first=0x70d204018858, last=0x70d204018860, privs=NO_ACL, cols=SELECT_ACL, role=0x63089066feed "PUBLIC") at /test/12.1_dbg/sql/sql_acl.cc:7052
      #9  0x000063088f50d1bb in merge_role_table_and_column_privileges (grantee=0x70d204008330, db=0x70d20401a020 "mysql", tname=0x70d20401a030 "global_priv", rhash=0x70ed10e53a68)at /test/12.1_dbg/sql/sql_acl.cc:7115
      #10 0x000063088f50b86f in merge_role_privileges (grantee=0x70d204008330, context=0x70ed10e53b40) at /test/12.1_dbg/sql/sql_acl.cc:7274
      #11 0x000063088f50b528 in merge_one_role_privileges (grantee=0x70d204008330, what={what = PRIVS_TO_MERGE::TABLE_COLUMN, db = 0x70d20401a020 "mysql", name = 0x70d20401a030 "global_priv"}) at /test/12.1_dbg/sql/sql_acl.cc:7298
      #12 0x000063088f4f2bbb in propagate_role_grants (role=0x70d204008330, what=PRIVS_TO_MERGE::TABLE_COLUMN, db=0x70d20401a020 "mysql", name=0x70d20401a030 "global_priv") at /test/12.1_dbg/sql/sql_acl.cc:6487
      #13 0x000063088f4effce in mysql_table_grant (thd=0x70d204000d58, table_list=0x70d20401a0e8, user_list=@0x70d2040060c0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x70d20401a0c8, last = 0x70d20401a0c8, elements = 1}, <No data fields>}, columns=@0x70d20401a840: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x70d20401a010, last = 0x70d20401a010, elements = 1}, <No data fields>}, rights=NO_ACL, revoke_grant=false) at /test/12.1_dbg/sql/sql_acl.cc:7578
      #14 0x000063088f50299f in Sql_cmd_grant_table::execute_exact_table (this=0x70d20401a820, thd=0x70d204000d58, table=0x70d20401a0e8)at /test/12.1_dbg/sql/sql_acl.cc:12657
      #15 0x000063088f50303c in Sql_cmd_grant_table::execute (this=0x70d20401a820, thd=0x70d204000d58) at /test/12.1_dbg/sql/sql_acl.cc:12739
      #16 0x000063088f5fd30d in mysql_execute_command (thd=0x70d204000d58, is_called_from_prepared_stmt=false) at /test/12.1_dbg/sql/sql_parse.cc:5857
      #17 0x000063088f5ec664 in mysql_parse (thd=0x70d204000d58, rawbuf=0x70d204019e80 "GRANT SELECT (USER) ON mysql.global_priv TO PUBLIC", length=50, parser_state=0x70ed10e55a10) at /test/12.1_dbg/sql/sql_parse.cc:7883
      #18 0x000063088f5e9a38 in dispatch_command (command=COM_QUERY, thd=0x70d204000d58, packet=0x70d20400b1f9 "GRANT SELECT (USER) ON mysql.global_priv TO PUBLIC", packet_length=50, blocking=true) at /test/12.1_dbg/sql/sql_parse.cc:1878
      #19 0x000063088f5ed213 in do_command (thd=0x70d204000d58, blocking=true)at /test/12.1_dbg/sql/sql_parse.cc:1417
      #20 0x000063088f7da4b9 in do_handle_one_connection (connect=0x6308cc45b9c8, put_in_cache=true) at /test/12.1_dbg/sql/sql_connect.cc:1414
      #21 0x000063088f7da25e in handle_one_connection (arg=0x6308cc3873a8)at /test/12.1_dbg/sql/sql_connect.cc:1326
      #22 0x000070f0ef89caa4 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #23 0x000070f0ef929c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.6   dbg  040825  317f099ca56130a14a45b7250996c207cc95d461  No bug found                    
      CS  10.6   opt  040825  317f099ca56130a14a45b7250996c207cc95d461  No bug found                   
      CS  10.11  dbg  130825  e46c9a01529687401b0f82b1427855535d38c0c0  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges        
      CS  10.11  opt  130825  e46c9a01529687401b0f82b1427855535d38c0c0  No bug found                  
      CS  11.4   dbg  130825  03b31c0bd99390c1984f19a19f22dd6e77b7692e  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges
      CS  11.4   opt  130825  03b31c0bd99390c1984f19a19f22dd6e77b7692e  No bug found                  
      CS  11.8   dbg  130825  1a446ccc48528e88a3cd6cd1d1ec9e7492d342ca  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges
      CS  11.8   opt  130825  1a446ccc48528e88a3cd6cd1d1ec9e7492d342ca  No bug found                  
      CS  12.1   dbg  130825  033471a367b4c60b7262e64f43f46b02e95b9d74  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges
      CS  12.1   opt  130825  033471a367b4c60b7262e64f43f46b02e95b9d74  No bug found                  
      CS  12.2   dbg  130825  e02f4d7e311e214ea62ff2e59599849e229f4165  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges
      CS  12.2   opt  130825  e02f4d7e311e214ea62ff2e59599849e229f4165  No bug found                  
      ES  10.5   dbg  040825  70586522eacf09d04d49962072e14325a75d8155  No bug found                  
      ES  10.5   opt  040825  70586522eacf09d04d49962072e14325a75d8155  No bug found                  
      ES  10.6   dbg  040825  9b794f34b48fb7eee490b6da44edc0f33a947447  No bug found                  
      ES  10.6   opt  040825  9b794f34b48fb7eee490b6da44edc0f33a947447  No bug found                  
      ES  11.4   dbg  040825  a1c03ccd54b582e75506687ee19b273ca897f261  rights == merged->cols|SIGABRT|update_role_columns|update_role_table_columns|merge_role_table_and_column_privileges|merge_role_privileges
      ES  11.4   opt  040825  a1c03ccd54b582e75506687ee19b273ca897f261  No bug found                  
      

      Attachments

        Activity

          People

            serg Sergei Golubchik
            ramesh Ramesh Sivaraman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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