Bug #115762 SIGILL in precmd routine with FreeBSD 14.1 on Raspberry Pi 3B+ with latest
Submitted: 4 Aug 22:03 Modified: 6 Aug 14:58
Reporter: John Lind Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:8.4.0, 8.1.0, 8.0.35 OS:FreeBSD (14.1 from May 31)
Assigned to: CPU Architecture:ARM (aarch64)

[4 Aug 22:03] John Lind
Description:
Very similar for 8.4, 8.1, and 8.0, only providing details on 8.4 for now.

# service mysql-server onestart
2024-08-03T22:03:13.218920Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-08-03T22:03:13.230469Z 0 [System] [MY-013169] [Server] /usr/local/libexec/mysqld (mysqld 8.4.0) initializing of server in progress as process 4503
mysqld: Error on delete of '/var/db/mysql/auto.cnf' (OS errno 2 - No such file or directory)
2024-08-03T22:03:13.321074Z 0 [Warning] [MY-010107] [Server] World-writable config file '/var/db/mysql/auto.cnf' has been removed.
2024-08-03T22:03:13.342227Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-08-03T22:03:21Z UTC - mysqld got signal 4 ;
Signal SIGILL (Illegal trap) at address 0x905879ee
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x2c0b80581000
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 = 92b4de78 thread_stack 0x100000
 #0 0x24ea743 <unknown>
 #1 0x24ea30f <unknown>
 #2 0x85b68e5b handle_signal at /usr/src/lib/libthr/thread/thr_sig.c:298
 #3 0x85b68593 thr_sighandler at /usr/src/lib/libthr/thread/thr_sig.c:243

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): 
Connection ID (thread ID): 1
Status: NOT_KILLED
...
/usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql

How to repeat:
Only change to my.conf file is
innodb_buffer_pool_size         = 128M
(also tried 64)
[5 Aug 9:45] MySQL Verification Team
Hi Mr. Lind,

Thank you for your bug report.

However, let us inform you that this is a forum with a fully repeatable test cases. Each of those test cases should consist of a set of SQL statements leading to the bug in question.

We have not received a test case in any form from you, which is why we can not proceed.

Can't repeat.
[5 Aug 18:12] John Lind
Oh, come on!  How can I give you SQL when the database fails during startup?  It is highly repeatable.  You can run
# service mysql-server onestart
as many times as you like.  When you get "failed precmd routine for mysql" there isn't much more you can do.

Let's walk through this
# pkg install mysql84-server
# cd /usr/local/etc/mysql
# cp my.cnf.sample my.cnf
# ed my.cnf <<EOF
42c
innodb_buffer_pool_size         = 128M
.
wq
EOF
# chown mysql:mysql /var/db/mysql_*
# service mysql-server onestart
/usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql

To get the stack trace, do the following:

# rm -r /var/db/mysql/*
# cd /usr/local/etc/rc.d
# ed mysql-server <<EOF
57c
        eval \$mysqld_init \$mysqld_init_args # >/dev/null 2>/dev/null
.
wq
EOF
# service mysql-server onestart
2024-08-05T18:10:32.294248Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-08-05T18:10:32.308788Z 0 [System] [MY-013169] [Server] /usr/local/libexec/mysqld (mysqld 8.4.0) initializing of server in progress as process 10046
mysqld: Error on delete of '/var/db/mysql/auto.cnf' (OS errno 2 - No such file or directory)
2024-08-05T18:10:32.411666Z 0 [Warning] [MY-010107] [Server] World-writable config file '/var/db/mysql/auto.cnf' has been removed.
2024-08-05T18:10:32.427707Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-08-05T18:10:40Z UTC - mysqld got signal 4 ;
Signal SIGILL (Illegal trap) at address 0x867d06d0
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x6617c8381000
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 = 922a0e78 thread_stack 0x100000
 #0 0x24ea743 <unknown>
 #1 0x24ea30f <unknown>
 #2 0x867d5e5b handle_signal at /usr/src/lib/libthr/thread/thr_sig.c:298
 #3 0x867d5593 thr_sighandler at /usr/src/lib/libthr/thread/thr_sig.c:243

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): 
Connection ID (thread ID): 1
Status: NOT_KILLED

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.
/usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql
#
[6 Aug 9:57] MySQL Verification Team
Hi Mr. Lind,

The principal fact is that we are not supporting FreeBSD at all.

Please, go to our download pages:

https://dev.mysql.com/downloads/mysql/

and you shall see that it is not supported.

Furthermore, removing directories which are required is not recommended at all.

Unsupported.
[6 Aug 14:58] John Lind
Well, if it's not supported, it's not supported, but note that it is in your OS list.  Also, note that removing everything from /var/db/mysql that's left by a previous crash is REQUIRED.  If you don't, you'll get an error message requiring you to  do so.