After an upgrade to 3.0.0 it doesn't load passwords (Debian 9)

As stated in the subject after upgrading to 3.0.0 it no longer loads the passwords.
I can see the following error in my logs:

 Caused by: [PDOException] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'bnk_passbolt.resource_types' doesn't exist (/var/www/passbolt/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php:37)
 Request URL: /resource-types.json?api-version=v2

I have even executed the migration script as suggested in the help texts

sudo -H -u www-data bash -c "./bin/cake passbolt migrate --backup"

Any ideas on how to fix this issue?

Hi @zay7sev,

Can you precise the documentation that you follow to get that error?
We are interesting to know if you are using Docker, Debian package, Ubuntu, …
Can you as well share the output of your migrate command?

Thanks,
Max

Hi @max ,
I’m following this documentation since i’m upgrading it with git source.

After the migration script here’s the output

Success: the database was saved on file!
---------------------------------------------------------------
 Running migration scripts.
---------------------------------------------------------------
using migration paths
 - /var/www/passbolt_v2/config/Migrations
using seed paths
 - /var/www/passbolt_v2/config/Seeds
using environment default
using adapter mysql
using database bnk_passb_dev
ordering by creation time

 == 20180503135810 V210InstallAccountSettingsPlugin: migrating
 == 20180503135810 V210InstallAccountSettingsPlugin: migrated 0.2016s

 == 20181002171600 V240ExtendAccountSettingsPlugin: migrating
 == 20181002171600 V240ExtendAccountSettingsPlugin: migrated 0.3564s

 == 20200108135000 V2130DropLegacyAnonymousUser: migrating
 == 20200108135000 V2130DropLegacyAnonymousUser: migrated 0.0239s

 == 20200319135000 V2130SoftDeleteGpgKeysForSoftDeletedUsers: migrating
 == 20200319135000 V2130SoftDeleteGpgKeysForSoftDeletedUsers: migrated 0.0361s

 == 20200501182000 V2130ReconcileLoginHistory: migrating
 == 20200501182000 V2130ReconcileLoginHistory: migrated 3.1482s

 == 20200806110200 V300ExtendSecretsDataField: migrating
 == 20200806110200 V300ExtendSecretsDataField: migrated 1.1326s

 == 20200806110201 V300AddResourceTypeIdField: migrating
 == 20200806110201 V300AddResourceTypeIdField: migrated 0.1923s

 == 20200806110202 V300AddResourceTypesTable: migrating
 == 20200806110202 V300AddResourceTypesTable: migrated 0.1380s

 == 20200806110203 V300AddResourceTypesDefaultData: migrating
 == 20200806110203 V300AddResourceTypesDefaultData: migrated 0.0503s

 == 20200806110204 V300AddResourceTypesToResources: migrating
 == 20200806110204 V300AddResourceTypesToResources: migrated 0.0208s

 == 20200824191900 V2136CleanupUnusedActionLogs: migrating
 == 20200824191900 V2136CleanupUnusedActionLogs: migrated 31.8703s

 == 20200824191901 V2136AddActionLogsRelatedIndexes: migrating
 == 20200824191901 V2136AddActionLogsRelatedIndexes: migrated 41.7215s

 == 20201221093528 V300DeleteMetadataOfSoftDeletedResources: migrating
 == 20201221093528 V300DeleteMetadataOfSoftDeletedResources: migrated 0.4221s

 == 20210111163200 V300AddActionLogsExtraIndex: migrating
 == 20210111163200 V300AddActionLogsExtraIndex: migrated 13.6614s

All Done. Took 93.0323s
Cleared default cache
Cleared _cake_core_ cache
Cleared _cake_model_ cache

Can you send an email to support@passbolt.com we really want to understand what is happening here

Thanks. I’ve sent an email as requested and added some information regarding the issue.
It’s really weird because the tables are there but for some reason can’t read them.

I am maybe mistaken, but I can’t see your email

I already got a reply from someone. They stated that the new version of passbolt is requiring PHP 7.3+ and this is where my nightmare begins… whatever i do it is not possible to enable gnupg for anything above PHP7.2 .
I’m using PHP-FPM with nginx . thankfully i have PHP-FPM on ports instead of pid files so it is a one line change in the nginx configuration

tcp        0      0 127.0.0.1:9000 (PHP7.2)          0.0.0.0:*               LISTEN      43913/php-fpm: mast
tcp        0      0 127.0.0.1:9001 (PHP7.4)         0.0.0.0:*               LISTEN      831/php-fpm: master
tcp        0      0 127.0.0.1:9002 (PHP7.3)         0.0.0.0:*               LISTEN      44391/php-fpm: mast

i have tried

root@*****:/etc/php/7.3/cli/conf.d# ln -s /etc/php/7.3/mods-available/gnupg.ini 20-gnupg.ini
root@*****:/etc/php/7.3/cli/conf.d# ls -la 20-gnupg.ini
lrwxrwxrwx 1 root root 37 Feb 23 18:45 20-gnupg.ini -> /etc/php/7.3/mods-available/gnupg.ini
root@*****:/etc/php/7.3/cli/conf.d#

And this is what i get so far

root@******:/etc/php/7.3/cli/conf.d# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'gnupg.so' (tried: /usr/lib/php/20180731/gnupg.so (/usr/lib/php/20180731/gnupg.so: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/gnupg.so.so (/usr/lib/php/20180731/gnupg.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.27-7+0~20210220.80+debian9~1.gbpccb1ab (cli) (built: Feb 20 2021 05:32:14) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.27, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.27-7+0~20210220.80+debian9~1.gbpccb1ab, Copyright (c) 1999-2018, by Zend Technologies

Hi @zay7sev you should do the link on /etc/php/7.3/fpm/conf.d

I’m saying this from the top of my head but you need to symlink the gnupg extension for php-fpm and for the cli

1 Like

Hi @diego,
Thank you but it’s already there.

How did you install the gnupg extension? Using pecl install gnugp? Which OS are you so I can try to reproduce your issue

Hello,
Not sure if it’s appropriate to post external links but i’ve managed to run it somehow with this.

http://packages.nanobox.io/2017/11/base/php73-gnupg-1.4.0.tgz.html

It seems to be a specific gnupg.so package for php7.3 specificly.

I’ve put it at the directory that was reported to be missing from

/usr/lib/php/20180731/gnupg.so

Once i check passbolt with this “hotfix” i will report the outcome.

Hi, I have the same issue. I am running a docker-compose setup and the container was upgraded by watchtower over night. I am using the :latest tag. Downgrading to 2.9.0-debian resolved this issue.

I’d recommend setting the latest tag to 2.9 until this is resolved…

Hello @diego , @max .

With the workaround to put manually the gnupg.so to that specific folder it seems to be running smoothly on PHP7.3 however it doesn’t load the passwords and there are no errors in the log file of passbolt except the errors for not being able to load the avatars for users.

Hi @Harper

Sorry you are experience issues. Could you describe a bit more the error? anything on your logs that is worth mentioning?

@zay7sev it looks like you are using debian9, is that correct?

Hi, I browsed through the logs, but there were no obvious errors. I didn’t do a full analysis, since my users needed their passwords and downgrading worked for me.

@diego ,

No there’s nothing on the logs about this and when i try to create a new password i get this “resources is undefined” as an error but nothing goes into the logs.
I am using Ubuntu 18.04 LTS

@Harper
I have done exactly the same. Thankfully i have 2 environments of passbolt one DEV and one PROD exactly for such cases.

@Harper

Maybe this post would help you https://community.passbolt.com/t/upgrade-from-2-13-5-pro-to-3-0-0-pro-docker-didnt-show-passwords-with-solution/

@zay7sev could it be your error related with a missing cleanup too?