[MDEV-7541] MariaDB 5.5.41 crashes on install server_audit.so 1.1.7 after an upgrade from 5.5.37 Created: 2015-02-04  Updated: 2015-03-02  Due: 2015-03-11  Resolved: 2015-03-02

Status: Closed
Project: MariaDB Server
Component/s: Plugin - Audit
Affects Version/s: 5.5.41
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Stoykov (Inactive) Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: audit, mariadb, plugins
Environment:

Red Hat Enterprise Linux x86_64 GNU/Linux



 Description   

After a MariaDB upgrade from 5.5.37 to 5.5.41, it crashes on dynamical load of the server_audit.so.

The sequence of the events:
1. Stop Mariadb 5.5.37 and point the symlink to 5.5.41
2. Commented the Audit Plugin Configuration in config file.
3. Start the database and execute the mysql_upgrade script
4. Check for audit vars:

(root@localhost) [(none)]> show variables like "%audit%";
Empty set (0.00 sec)

5. Load the server_audit.so

(root@localhost) [(none)]> INSTALL PLUGIN server_audit SONAME "server_audit.so" ;
ERROR 2013 (HY000): Lost connection to MySQL server during query
(root@localhost) [(none)]> select user from mysql.user;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: *** NONE ***

Error log:

150204 9:26:46 [Note] locapathto/bin/mysqld: ready for connections.
Version: '5.5.41-MariaDB' socket: 'locapathtolog/locapathto.sock' port: 53970 MariaDB Server
150204 9:32:49 [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 http://kb.askmonty.org/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: 5.5.41-MariaDB
key_buffer_size=33554432
read_buffer_size=8388608
max_used_connections=3
max_threads=402
thread_count=2
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 11566067 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x0x2aab16acd000
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 = 0x41ab10a0 thread_stack 0x48000
mysys/stacktrace.c:247(my_print_stacktrace)[0xaf303e]
sql/signal_handler.cc:153(handle_fatal_signal)[0x6db68c]
/lib64/libpthread.so.0[0x3b31a0eb70]
/lib64/libc.so.6(strlen+0x10)[0x3b31279b60]
mysys/my_alloc.c:415(strdup_root)[0xae860e]
sql/sql_plugin.cc:3924(test_plugin_options)[0x58d8cd]
sql/sql_plugin.cc:2047(finalize_install)[0x58dbde]
sql/sql_plugin.cc:2148(mysql_install_plugin(THD*, st_mysql_lex_string const*, st_mysql_lex_string const*))[0x58fdd8]
sql/sql_parse.cc:4420(mysql_execute_command(THD*))[0x58211e]
sql/sql_parse.cc:5909(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x587081]
sql/sql_parse.cc:1081(dispatch_command(enum_server_command, THD*, char*, unsigned int))[0x5887ac]
sql/sql_parse.cc:793(do_command(THD*))[0x588d52]
sql/sql_connect.cc:1266(do_handle_one_connection(THD*))[0x643aa3]
sql/sql_connect.cc:1183(handle_one_connection)[0x643bec]
/lib64/libpthread.so.0[0x3b31a0673d]
/lib64/libc.so.6(clone+0x6d)[0x3b312d44bd]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x2aab16020018): INSTALL PLUGIN server_audit SONAME "server_audit.so"
Connection ID (thread ID): 16
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=off
 
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.
150204 09:32:49 mysqld_safe Number of processes running now: 0
150204 09:32:49 mysqld_safe Number of processes running now: 0
 

plugin version checK

 strings server_audit.so |grep 1.1.



 Comments   
Comment by Elena Stepanova [ 2015-02-04 ]

Is it reproducible?
Is it with bintar or RPM?
Which Red Hat version is it?
Does it only happen on upgrade or on clean datadir too?
Does switching symlinks mean that you also use the new plugin directory, or only new binaries but old plugindir?

Thanks.

Comment by Stoykov (Inactive) [ 2015-02-05 ]

this is binary install,
Linux 2.6.32-358.el6.x86_64 RHEL, I will get the exact version.
I tried to reproduce it, but I was not able to do so with clean install of binary mariadb-5.5.37-linux-x86_64, load data, load audit plugin, stop, upgrade to binary mariadb-5.5.41-linux-x86_64
The plugin is loaded properly, as it should.
I will try to reproduce it with changing the directory permissions.

Comment by Elena Stepanova [ 2015-03-01 ]

Hi Ivan,
Any news on this?

Comment by Stoykov (Inactive) [ 2015-03-02 ]

Hello Elena,

this crash is not reproducible, but it is related to a combination of already installed plugin registered at the mysql.plugin table and in same time configured to load at the config file with plugin-load option and upgrading to higher version MariaDB

I think you may close that ticket

Generated at Thu Feb 08 07:20:23 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.