# Fatal Error Unable to allocate shared memory segment



## Ernie95 (Apr 9, 2022)

Hi All,

In a jail (Bastille) with Freebsd 13, I tried :
- to install apache 24 : succesfull (I see 'it works' on the webpage)
- to install php80-fpm : successful also via the test.php page
- to install maraidb106 (server and client) : successful also and I create my database
- to install nextcloud-php80 : the installation is successfull and I setup the httpd.conf file with relevant rows for nextcloud

And I restarted the services (aoache24, mysql-server and php-fpm). I have this fatal error:
(19994): Fatal Error Unable to allocate shared memory segment of 134217728 bytes: shm_open: Function not implemented (78)

I tried again from scratch. Same error.
I tried again with php81 and nextcloud-php81, I have the same error.

Where am I wrong ?

If I do the process in jail with freebsd 12.3, it is fine.

Thanks for your advice

BR


----------



## grahamperrin@ (Apr 9, 2022)

Ernie95 said:


> php80-fpm



From which port?


----------



## Mathieu (Apr 9, 2022)

Ernie95 said:


> (19994): Fatal Error Unable to allocate shared memory segment of 134217728 bytes: shm_open: Function not implemented (78)



I don't know much about Bastille, but could you be running 12.X packages in the jail on a kernel with COMPAT_FREEBSD12 compiled out?


----------



## Ernie95 (Apr 10, 2022)

Hi
I used pkg install command for installation of all package.

The host for Bastille is with freebsd 12.3. I want to test freebsd 13 before updates my jails.


----------



## Mathieu (Apr 10, 2022)

Ernie95 said:


> The host for Bastille is with freebsd 12.3. I want to test freebsd 13 before updates my jails.



Ah well that's the problem. You can run binaries for an older kernel on a newer kernel, but not the other way around. The 13.X packages are compiled to use functionality that may not exist on 12.X.


----------



## Ernie95 (Apr 10, 2022)

I try to clarify as my post can be missleading:
- host : freebsd 12.3 with bastille
- jail : freebsd 12.3 => nexcloud installation is working fine
- jail : freebsd 13 => apache + php80-fpm + mysql => fine. However, if I added nextcloud-php80, there is an issue.

So I understand that my jails with freebsd 13 need also some functions from the host. If the host is not with freebsd 13 also, I can have issues with jail freebds 13.
Right ?


----------



## grahamperrin@ (Apr 10, 2022)

Ernie95 said:


> I used pkg install command for installation of all package.



I can't find _php80-fpm_ in FreshPorts.


----------



## suntzu00 (Apr 10, 2022)

because FPM comes with lang/php80

That's correct Ernie95. the host shouldn't run an older FreeBSD version than the jails on said host. for example on your FreeBSD 13.0 jail you have the 13.0 userland and  the 12.3 kernel which isn't right.


----------



## Ernie95 (Apr 10, 2022)

Thanks to all.

And I confirm that with php80 and php81, fpm is automatically installed. I can launch the service.
I didn't see that 'pkg install php81-fpm' didn't work. But as I can launch the service, no issue.


----------



## PMc (Apr 10, 2022)

Ernie95 said:


> I try to clarify as my post can be missleading:
> - host : freebsd 12.3 with bastille
> - jail : freebsd 12.3 => nexcloud installation is working fine
> - jail : freebsd 13 => apache + php80-fpm + mysql => fine. However, if I added nextcloud-php80, there is an issue.
> ...


Yes. It is surprizing that this starts at all.
The programs need services from the kernel. These are the _syscalls_. And there is only one kernel, and the syscalls have changed between 12 and 13.

I am using bhyve for such testing; there is a separate kernel.


----------



## grahamperrin@ (Apr 10, 2022)

suntzu00 said:


> … FPM comes with lang/php80



Thanks. Found (not _php80-fpm_):  


```
% pkg provides /php-fpm$
Name    : php81-8.1.4_2
Desc    : PHP Scripting Language (8.1.X branch)
Repo    : FreeBSD
Filename: usr/local/sbin/php-fpm
          usr/local/etc/rc.d/php-fpm

Name    : php80-8.0.17_2
Desc    : PHP Scripting Language
Repo    : FreeBSD
Filename: usr/local/sbin/php-fpm
          usr/local/etc/rc.d/php-fpm

Name    : php74-7.4.28_2
Desc    : PHP Scripting Language
Repo    : FreeBSD
Filename: usr/local/sbin/php-fpm
          usr/local/etc/rc.d/php-fpm
%
```


----------



## SirDice (Apr 11, 2022)

Ernie95 said:


> - host : freebsd 12.3 with bastille
> - jail : freebsd 12.3 => nexcloud installation is working fine
> - jail : freebsd 13 => apache + php80-fpm + mysql => fine. However, if I added nextcloud-php80, there is an issue.


You can't run a _newer_ version of a jail on the host. Jails have to be the same or a lesser version. There's backwards compatibility, not forwards. Remember, jails do not have a kernel, they run on the host's kernel. Running a 13 userland on a 12.x kernel is not a supported configuration.


----------

