Comment 15 for bug 2057576

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Reproducing the issue in mantic with the script provided in the SRU test plan:

+ echo 'Number of SIGSEGV failures:'
Number of SIGSEGV failures:
+ lxc exec php-fpm-segfault -- sh -c 'cat /var/log/php8.2-fpm.log | grep -c SIGSEGV'
5102

Which confirms the issue.

When tryong to verify the fix, I got the following result:

+ echo 'Number of SIGSEGV failures:'
Number of SIGSEGV failures:
+ lxc exec php-fpm-segfault -- sh -c 'cat /var/log/php8.2-fpm.log | grep -c SIGSEGV'
315

Further runs with and without the fix are quite consistent: I get thousands of failures for the package in the release pocket, and a few hundreds with the package in proposed.

Before marking this as a verification failure, I would like to dig a bit more to ensure this is not a different bug or a a issue with local resources.

This is the modified test plan script used to install the packages from the proposed pocket:

#!/bin/bash

set -eux

trap cleanup EXIT

UBUNTU_SERIES=${UBUNTU_SERIES:-mantic}
PHP_VERSION=${PHP_VERSION:-8.2}
TEST_CONTAINER=php-fpm-segfault
PHP_TEST_FILE=$(mktemp)
PROPOSED_REPO_FILE=$(mktemp)
PROPOSED_PREF=$(mktemp)

cleanup() {
  rm -f ${PHP_TEST_FILE}
  rm -f ${PROPOSED_REPO_FILE}
  rm -f ${PROPOSED_PREF}
  lxc delete -f ${TEST_CONTAINER}
}

cat > ${PHP_TEST_FILE} <<EOF
testing...
<br/>
<?php
phpinfo();
fpm_get_status();
EOF

cat > ${PROPOSED_REPO_FILE} <<EOF
# Enable Ubuntu proposed archive
deb http://archive.ubuntu.com/ubuntu/ ${UBUNTU_SERIES}-proposed restricted main multiverse universe
EOF

cat > ${PROPOSED_PREF} <<EOF
# Configure apt to allow selective installs of packages from proposed
Package: *
Pin: release a=${UBUNTU_SERIES}-proposed
Pin-Priority: 500
EOF

lxc launch ubuntu-daily:${UBUNTU_SERIES} ${TEST_CONTAINER}

lxc file push ${PROPOSED_REPO_FILE} ${TEST_CONTAINER}/etc/apt/sources.list.d/ubuntu-${UBUNTU_SERIES}-proposed.list
lxc file push ${PROPOSED_PREF} ${TEST_CONTAINER}/etc/apt/preferences.d/proposed-updates

lxc exec ${TEST_CONTAINER} -- apt update
lxc exec ${TEST_CONTAINER} -- apt install -y php php-fpm apache2-utils apache2 libapache2-mod-fcgid
lxc exec ${TEST_CONTAINER} -- systemctl start php${PHP_VERSION}-fpm
lxc exec ${TEST_CONTAINER} -- a2dismod php${PHP_VERSION}
lxc exec ${TEST_CONTAINER} -- a2dismod mpm_prefork
lxc exec ${TEST_CONTAINER} -- a2enconf php${PHP_VERSION}-fpm
lxc exec ${TEST_CONTAINER} -- a2enmod proxy_fcgi proxy mpm_event
lxc file push ${PHP_TEST_FILE} ${TEST_CONTAINER}/var/www/html/test.php --mode 0644
lxc exec ${TEST_CONTAINER} -- systemctl restart apache2.service
lxc exec ${TEST_CONTAINER} -- sh -c "curl -s localhost/test.php | grep -o 'FPM/FastCGI'"
lxc exec ${TEST_CONTAINER} -- ab -n 10000 -c 99 http://localhost/test.php
echo 'Number of SIGSEGV failures:'
lxc exec ${TEST_CONTAINER} -- sh -c "cat /var/log/php${PHP_VERSION}-fpm.log | grep -c SIGSEGV"