Date: Sun, 25 Apr 2021 18:24:47 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 255398] databases/mariadb105-server: deadlocks at start when wsrep is enabled Message-ID: <bug-255398-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255398 Bug ID: 255398 Summary: databases/mariadb105-server: deadlocks at start when wsrep is enabled Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: brnrd@freebsd.org Reporter: prj@rootwyrm.com Assignee: brnrd@freebsd.org Flags: maintainer-feedback?(brnrd@freebsd.org) Reproduction using 10.5.9 with from ports: DB1: datadir=3D/var/db/mysql sudo -u mysql /usr/local/bin/mysql_install_db --basedir=3D/usr/local --datadir=3D$datadir --skip-test-db sudo -u mysql /usr/local/libexec/mariadbd --wsrep-new-cluster --wsrep-on --wsrep_cluster_address=3Dgcomm://DB1 --datadir=3D$datadir DB2: datadir=3D/var/db/mysql sudo -u mysql /usr/local/bin/mysql_install_db --basedir=3D/usr/local --datadir=3D$datadir --skip-test-db sudo -u mysql /usr/local/libexec/mariadbd --wsrep-on --wsrep_cluster_address=3Dgcomm://DB1 --datadir=3D$datadir Initial membership will succeed (check the logs, of course.) Once that's confirmed, the cluster should be ready to go. So go kill -TERM mariadbd on = DB2, then DB1. (Order matters, even though it's multi-master.) BOTH hosts /usr/local/etc/mysql/conf.d/wsrep.cnf: [mysqld] bind-address=3D0.0.0.0 binlog_format=3DROW wsrep_on=3D1 wsrep_provider=3D/usr/local/lib/libgalera_smm.so wsrep_cluster_name=3D"demo" wsrep_cluster_address=3D"gcomm://DB1,DB2" BOTH hosts rc.conf: mysql_enable=3D"YES" mysql_dbdir=3D"/var/db/mysql" Then on DB1: /usr/local/etc/rc.d/mysql-server start It'll go through the 15 second timeout waiting for the pidfile, and then ex= it 1, without actually killing the process. It just never writes either the pidfile or the socket. Ever. No errors are logged in either the mysql error= log or wsrep error logs. The process just hangs and does not die to TERM. This reproduces if manually started with "sudo -u mysql /usr/local/libexec/mariadbd --defaults-extra-file=3D/usr/local/etc/mysql/my= .cnf --user=3Dmysql --datadir=3D/var/db/mysql/data --pid-file=3D/var/run/mysql/m= ysqld.pid" Instead of starting, it just hangs and will not respond to TERM only KILL. Port was built with options: databases_mariadb105-server_SET+=3DGSSAPI_HEIMDAL LZ4 WSREP databases_mariadb105-server_UNSET+=3DGSSAPI_BASE GSSAPI_MIT GSSAPI_NONE What is perplexing is that this ONLY reproduces with wsrep being configured= by files in /usr/local/etc/mysql/conf.d. If the server is started with "--wsre= p-on --wsrep_cluster_address=3Dgcomm://DB1,DB2" then it works as expected. So it= is specifically something with reading the wsrep configuration from files. Even putting the wsrep configuration into my.cnf causes the exact same behavior. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-255398-7788>