MySQL Forums
Forum List  »  Quality Assurance

5.7.34 broke compatabiliity with mariadb audit plugin
Posted by: Carl Laserdog
Date: April 30, 2021 09:54AM

So mariadb's server_audit.so plugin works on MySQL Version 5.7.9 - 5.7.33.

It is now broken on 5.7.34.

Possibly related to either of these Changes:

* Sessions could disable their own auditing. (Bug #31630954)

* Uninstalling a plugin could affect subsequent execution of prepared statements. (Bug #29363867)

I tried opening a bug with mysql, and it was closed as it says they don't support mariadb plugins.

Is it possible to get more information on the above 2x commits (e.g. actual patch diffs?) so I can investigate the issue myself?

Specifically strange to me that "auditing" is even a change that made it into mysql-community given its totally lack of audit logging plugin.

I want to give the devs the benefit of the doubt here, but breaking one of the main compliance plugins that mysql-enterprise just happens to keep behind a paywall seems suspicious.

If 3rd party plugins need to make changes after 5.7.34, that's fine, just need some help finding what changes are needed....

Again, just asking for the commit diffs of the two above changes, as I can't seem to find them myself based on those bug ids anywhere.

If you are interested in details on the mariadb server_audit.so crash, here they are:


-----------


mysqld starts up fine with mariadb server_audit.so loaded.

But all connection attempts (even ones with invalid users/pass) result in:

$ mysql
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 95

And on the server side, a signal 11:

15:38:38 UTC - 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.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.

key_buffer_size=1048576
read_buffer_size=262144
max_used_connections=1
max_threads=151
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 51365 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7f21a0000d40
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 = 7f223014be50 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x3b)[0xf3461b]
/usr/sbin/mysqld(handle_fatal_signal+0x486)[0x7e3666]
/lib64/libpthread.so.0(+0x117e0)[0x7f2237ef07e0]
/usr/lib64/mysql/plugin/server_audit.so(get_db_mysql57+0x30)[0x7f21d452e110]
/usr/lib64/mysql/plugin/server_audit.so(+0xb21b)[0x7f21d452e21b]
/usr/sbin/mysqld[0x7e435c]
/usr/sbin/mysqld(_Z18mysql_audit_notifyP3THD30mysql_event_general_subclass_tPKciS3_m+0x25d)[0x7e491d]
/usr/sbin/mysqld(_ZN12Query_logger17general_log_printEP3THD19enum_server_commandPKcz+0xcc)[0xc411bc]
/usr/sbin/mysqld(_Z15acl_log_connectPKcS0_S0_S0_P3THD19enum_server_command+0xaf)[0x7ed45f]
/usr/sbin/mysqld(_Z16acl_authenticateP3THD19enum_server_command+0x6c7)[0x7ee437]
/usr/sbin/mysqld[0xcb994d]
/usr/sbin/mysqld(_Z22thd_prepare_connectionP3THD+0x68)[0xcba9d8]
/usr/sbin/mysqld(handle_connection+0x267)[0xdc1337]
/usr/sbin/mysqld(pfs_spawn_thread+0x1b4)[0x1409ee4]
/lib64/libpthread.so.0(+0x740b)[0x7f2237ee640b]
/lib64/libc.so.6(clone+0x3f)[0x7f22368f909f]


Thanks for reading!

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.