Segmentation fault (Core dumped) error

Checklist
[x] I have read intro post: About the Installation Issues category
[x] I have read the tutorials, help and searched for similar issues
[x] I provide relevant information about my server (component names and versions, etc.)
[x] I provide a copy of my logs and healthcheck
[x] I describe the steps I have taken to trouble shoot the problem
[x] I describe the steps on how to reproduce the issue

I tried to install Passbolt on my Ubuntu 16.04 LTS VM in Hyper-V. I followed the Installation Manual until the step, where you install Passbolt with the Command: “./bin/cake passbolt install”.But whenever i do this command with my www-data user i get the error “segmentation fault (core dumped)”. PHP crashes too. When i do the Healthcheck i get the same errors.

OS: Linux Ubuntu 16.04 LTS
Webserver: Apache
DB System: MySQL
PHP Version: 7.0

Can you please post the logs of your passbolt instance logs/error.log and your health check report (if available).
The only case we’ve seen a segfault was because of php-gnupg installed as a distribution package.
There is post on the forum that describes the case and the workaround to solve the issue : Healthcheck error for clean v2.0.0-rc2 install

Thanks for the reply,

I already followed the steps from the post you posted, but when i install gnupg with pecl i get the error “You must enable the gnupg extension to use Passbolt”. I already tried to enable by adding “extension=gnupg.so” to php.ini. So this doesnt work for me. Here is a Screenshot from the logs:

i tried to give the myapp_cake_core. 777 permission but its still not working

Did you add the extension to both php.ini ? The webserver configuration and the php-cli conf.
Did you restart your webserver ?

Remove the files under tmp/cache/persistent and tmp/cache/model
Somewhere in the process you didn’t use the webserver user to run your passbolt install script, it corrupted your cache files.

I installed gnupg again with pecl and added the extension to the php.ini in apache2, cli and fpm (dont know if its necessary to add it in the fpm php.ini)
I also deleted the files in tmp/cache/persistent and tmp/cache/models

But i still get this error when i try to run ./bin/bash passbolt install as webserver user:

Do you know any other fix or is faster and easier to reinstall passbolt on a new VM?

It looks like the gnupg extension is not loaded.
Do you have the gnupg extension listed when you run php --modules in command line ?

No, its not listed when i run this command. How can i fix it?

Hello @Julien,

Do you know any other fix or is faster and easier to reinstall passbolt on a new VM?

Your are almost done, I guess it will be a waste of time.

Can you show us your php.ini so we could dig into it with you.
I’m not a ubuntu user, but found this doc, maybe it could help : Ubuntu 16.04 - Install GPG Extension for PHP 7 | Programster's Blog.

I tried to use this script a week ago but it didnt work. I also tried to fix it again with this script but the gnupg extension is still not loaded.

php.ini(apache):

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; … or under UNIX:
;
; extension=msql.so
;
; … or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
;extension=gnugp.so
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_ftp.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_gnupg.so
;The MIBS data available in the PHP distribution must be installed.
;See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll

;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

php.ini(cli):

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; … or under UNIX:
;
; extension=msql.so
;
; … or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
;extension=gnupg.so
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_ftp.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll

;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

It looks like the line is kept commented with ;
This is how line are commented in this kind of config files, remove the ; and try again.

I know that the semicolon marks a comment. I already tried with and without a semicolon but didnt work. Now i tried again it worked! Thank you so much for your help!

1 Like