[MDEV-18298] Crashes server with segfault during role grants Created: 2019-01-18  Updated: 2020-08-25  Resolved: 2019-04-09

Status: Closed
Project: MariaDB Server
Component/s: Authentication and Privilege System
Affects Version/s: 10.2.21, 10.3.12
Fix Version/s: 10.2.24, 10.1.39, 10.3.15, 10.4.4

Type: Bug Priority: Critical
Reporter: Richard Stracke Assignee: Sergei Golubchik
Resolution: Fixed Votes: 1
Labels: None
Environment:

Cent Os 7.5


Attachments: Text File gdb.txt    
Issue Links:
Duplicate
duplicates MDEV-18509 Crashes server with segfault during r... Closed
Problem/Incident
is caused by MDEV-17898 FLUSH PRIVILEGES crashes server with ... Closed

 Description   

+Installed Kerberos
Install Gssapi Plugin

Server crash at startup with signal 11

2019-01-10 18:11:57 139653767641280 [Note] InnoDB: 5.7.24 started; log sequence number 53507493388
2019-01-10 18:11:57 139636716082944 [Note] InnoDB: Loading buffer pool(s) from /opt/mariadb/data/ib_buffer_pool
2019-01-10 18:11:57 139653767641280 [Note] Plugin 'FEEDBACK' is disabled.
2019-01-10 18:11:57 139653767641280 [Warning] mysqld: GSSAPI plugin : default principal 'mariadb/s00249177uv.ads.provinzial.com@ADS.PROVINZIAL.COM' not found in keytab
2019-01-10 18:11:57 139653767641280 [ERROR] mysqld: Server GSSAPI error (major 851968, minor 2529639093) : gss_acquire_cred failed -Unspecified GSS failure.  Minor code may provide more information. Keytab FILE:/etc/krb5.keytab is nonexistent or empty. 
2019-01-10 18:11:57 139653767641280 [ERROR] Plugin 'gssapi' init function returned error.
190110 18:11:57 server_audit: INCL_DML_USERS and EXCL_DML_USERS specified simultaneously - both set to empty
190110 18:11:57 server_audit: server_audit_incl_users set to ''.
190110 18:11:57 server_audit: MariaDB Audit Plugin version 1.4.4 STARTED.
190110 18:11:57 server_audit: logging started to the file /opt/mariadb/log/mariadb/server_audit_s00249177uv.ads.provinzial.com.log.
2019-01-10 18:11:57 139653767641280 [Note] Server socket created on IP: '::'.
190110 18:11:57 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
 
Server version: 10.2.21-MariaDB-log
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=0
max_threads=502
thread_count=9
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1234101 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x5653e6589cc8
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x7ffdf078b5e0 thread_stack 0x49000
/usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x5653e3de5dbe]
mysys/stacktrace.c:268(my_print_stacktrace)[0x5653e386cec5]
sigaction.c:0(__restore_rt)[0x7f03acf4f5d0]
:0(__strcmp_sse42)[0x7f03ab32b01a]
/usr/sbin/mysqld(+0x47cc42)[0x5653e367ac42]
sql/sql_acl.cc:5946(merge_role_db_privileges)[0x5653e366d80d]
sql/sql_acl.cc:7424(propagate_role_grants_action(void*, void*))[0x5653e366da14]
mysys/hash.c:796(my_hash_iterate)[0x5653e3dc3d4c]
sql/sql_acl.cc:7493(grant_reload(THD*))[0x5653e367c730]
sql/sql_acl.cc:7248(grant_init())[0x5653e367ca03]
sql/mysqld.cc:5947(mysqld_main(int, char**))[0x5653e364aaec]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f03ab20f3d5]
/usr/sbin/mysqld(+0x4403fd)[0x5653e363e3fd]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x0): 
Connection ID (thread ID): 0
Status: NOT_KILLED
 
Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on
 
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2019-01-10 18:12:07 140245807831232 [Note] WSREP: Read nil XID from storage engines, skipping position init

Workaround:

start with skip-grant-tables and delete all user authenticated via gssapi
from mysql.user.



 Comments   
Comment by Vladislav Vaintroub [ 2019-01-18 ]

auth_gssapi could not loaded . so it does not matter which plugin you use. Any plugin should do as long as it is not loaded. Also, did you try to fix auth_gssapi, by following up on error messages during startup?

Comment by Elena Stepanova [ 2019-01-18 ]

We had a similar issue in MDEV-17898, maybe it wasn't fixed in full.
Can you provide a dump of the system tables?

Generated at Thu Feb 08 08:43:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.