Docker Community Forums

Share and learn in the Docker community.

Php-fpm SIGBUS error

Hi all,

I’m running a docker setup for a PHP application, this setup contains nginx, php-fpm:7.2, MariaDB, Redis & Redis Monitor

Unfortunately, I have a SIGBUS error in my php-fpm (7.2) docker:

[09-Jun-2020 19:06:22] WARNING: [pool www] child 71 exited on signal 7 (SIGBUS) after 2.599590 seconds from start

[09-Jun-2020 19:06:22] NOTICE: [pool www] child 74 started

This results in a 502 from Nginx.

But this happens (sometimes) after a few requests. I’m not skilled enough to understand exactly why and how this happens. So if anybody has an idea or a solution, I would be very happy!

My questions is: Is this docker related or a hardware issue, and how to fix it?

If you need more info, please let me know

Specs:

W10 pro

PHP-FPM dockerfile:

FROM php:7.2-fpm

RUN apt-get update && \
  apt-get install -y \
  curl \
  git \
  gnupg \
  unzip

RUN apt-get update && apt-get install -y \
	libzip-dev \
    libfreetype6-dev \
    libpq-dev \
    g++ \
    libicu-dev \
    libxml2-dev \
    libssl-dev \
    libcurl4-openssl-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install intl \
&& docker-php-ext-install zip \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install pdo_pgsql \
&& docker-php-ext-install soap \
&& apt-get purge --auto-remove -y g++ \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& docker-php-ext-install opcache \
&& docker-php-ext-install bcmath

# Install PHP Redis extension
RUN pecl install -o -f redis \
  &&  rm -rf /tmp/pear \
  &&  docker-php-ext-enable redis

COPY php.ini /usr/local/etc/php/

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

COPY default.pool.conf /etc/php/7.0/fpm/pool.d/

# set composer to run as root
ENV COMPOSER_ALLOW_SUPERUSER=1

WORKDIR /var/www

RUN sed -i -e 's/listen.*/listen = 0.0.0.0:9000/' /usr/local/etc/php-fpm.conf

RUN usermod -u 1000 www-data

CMD ["php-fpm"]

Nginx docker file

FROM nginx:stable

COPY nginx.conf /etc/nginx/
COPY gamepoint.conf /etc/nginx/sites-available/

RUN rm /etc/nginx/conf.d/default.conf
RUN ln -s /etc/nginx/sites-available/gamepoint.conf /etc/nginx/conf.d/default.conf

RUN echo 'upstream  php-upstream { server php:9000; }' > /etc/nginx/conf.d/upstream.conf

RUN usermod -u 1000 www-data

Thanks!