Daniel Black changed bug 1213154
What Removed Added
CC   daniel@mariadb.org

Comment # 1 on bug 1213154 from Daniel Black
The problem if you run:

$ podman run --replace --name opensusemariadb -e MARIADB_ROOT_PASSWORD=bob  
registry.opensuse.org/opensuse/mariadb

2024-08-07 22:48:56 0 [Note] Starting MariaDB 11.4.2-MariaDB source revision
3fca5ed772fb75e3e57c507edef2985f8eba5b12 as process 28
2024-08-07 22:48:56 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
2024-08-07 22:48:56 0 [Note] InnoDB: Number of transaction pools: 1
2024-08-07 22:48:56 0 [Note] InnoDB: Using AVX512 instructions
2024-08-07 22:48:56 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp
(disabling future attempts)
2024-08-07 22:48:56 0 [Note] InnoDB: Using Linux native AIO
2024-08-07 22:48:56 0 [Note] InnoDB: Initializing buffer pool, total size =
128.000MiB, chunk size = 2.000MiB
2024-08-07 22:48:56 0 [Note] InnoDB: Completed initialization of buffer pool
2024-08-07 22:48:56 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
2024-08-07 22:48:56 0 [Note] InnoDB: End of log at LSN=47875
2024-08-07 22:48:56 0 [Note] InnoDB: Opened 3 undo tablespaces
2024-08-07 22:48:56 0 [Note] InnoDB: 128 rollback segments in 3 undo
tablespaces are active.
2024-08-07 22:48:56 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB.
Physically writing the file full; Please wait ...
2024-08-07 22:48:56 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2024-08-07 22:48:56 0 [Note] InnoDB: log sequence number 47875; transaction id
15
2024-08-07 22:48:56 0 [Note] InnoDB: Loading buffer pool(s) from
/var/lib/mysql/ib_buffer_pool
2024-08-07 22:48:56 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-08-07 22:48:56 0 [Note] Plugin 'wsrep-provider' is disabled.
2024-08-07 22:48:56 0 [Note] InnoDB: Buffer pool(s) load completed at 240807
22:48:56
2024-08-07 22:48:56 0 [Note] Server socket created on IP: '0.0.0.0'.
2024-08-07 22:48:56 0 [Note] Server socket created on IP: '::'.
2024-08-07 22:48:57 0 [Note] mariadbd: Event Scheduler: Loaded 0 events
2024-08-07 22:48:57 0 [Note] mariadbd: ready for connections.
Version: '11.4.2-MariaDB'  socket: '/run/mysql/mysql.sock'  port: 3306  MariaDB
package


Notice mariadbd is running as process 28.

Container runtime says the main process needs to be process 1 and this is the
process that will be given the TERM signal. As the process list is like:

$ podman exec opensusemariadb ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 22:48 ?        00:00:00 /bin/bash
/usr/local/bin/gosu mysql /usr/local/bin/docker-entrypoint.sh mariadbd
mysql         28       1  0 22:48 ?        00:00:00 mariadbd
root         125       0  0 22:50 ?        00:00:00 ps -ef

The bash gets terminated and doesn't pass a signal to the mariadbd.

The cause of this is the gosu script
https://build.opensuse.org/projects/openSUSE:Factory/packages/mariadb-image/files/gosu?expand=1

The last line needs to be:

exec setpriv ...

With this the process is substituted and the gosu script is replaced with the
executed process as pid 1. /bin/bash here on this line also uneeded.

For completeness the replaced gosu script is attached when shellcheck quoting
changed too.

When tested it results in pid 1:

2024-08-07 22:56:12 0 [Note] Starting MariaDB 11.4.2-MariaDB source revision
3fca5ed772fb75e3e57c507edef2985f8eba5b12 as process 1
....


You are receiving this mail because: