Users page not accessible

Hello everyone!

We’re currently using Passbolt CE 4.9.1/Cakephp 4.5.2 on an Ubuntu 22.04.5 machine. Installed via package manager (Install Passbolt on Ubuntu 24.04 | Passbolt documentation.)
The issue we are facing is that the Users page is inaccessible / no users are shown.
It appeared as soon as we created a third user, no problems arose when we only had 2 users.

The server is currently running on 2 cores / 3gb RAM. Disk is about 60% full.
Server is behind an NPMPlus Reverse Proxy. Shouldn’t matter as it worked with the reverse proxy before, after we created a third user, problem arose.

I’ve already done all these steps:

  • Healthcheck (will provide in comment)
  • passbolt cleanup (no issue was found, data seems squeaky clean!)
  • Restart server
  • Reinstalled passbolt plugin, tried on 3 browsers (Edge w/ Edge plugin, Edge w/ Chrome plugin, Chrome, Firefox), tried on 3 different machines (same behavior)
  • Enabled debug mode in Chrome Plugins and got following responses when trying to access Users page: (will add in another comment)
  • Checked error.log - will also add in comment

I cannot find anything else regarding this issue and am at the end of my wits.
The error is reproducable by restoring an older Backup of the machine and creating a new user.

I’d be grateful for any pointers.
I’m a bit rusty in my Ubuntu administration, so please try to keep it ELI5 (figuratively!)

Best regards,
Stefan

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

Health check:


Healthcheck shell

Environment

[PASS] PHP version 8.1.2-1ubuntu2.18.
[PASS] PHP version is 8.1 or above.
[PASS] PCRE compiled with unicode support.
[PASS] Mbstring extension is installed.
[PASS] Intl extension is installed.
[PASS] GD or Imagick extension is installed.
[PASS] The temporary directory and its content are writable and not executable.
[PASS] The logs directory and its content are writable.

Config files

[PASS] The application config file is present
[PASS] The passbolt config file is present

Core config

[PASS] Cache is working.
[PASS] Debug mode is off.
[PASS] Unique value set for security.salt
[PASS] Full base url is set to https://XXXX (edited out)
[PASS] App.fullBaseUrl validation OK.
[FAIL] Could not reach the /healthcheck/status with the url specified in App.fullBaseUrl
[HELP] Check that the domain name is correct in /etc/passbolt/passbolt.php
[HELP] Check the network settings

SSL Certificate

[WARN] SSL peer certificate does not validate.
[WARN] Hostname does not match when validating certificates.
[WARN] Using a self-signed certificate.
[HELP] Check Troubleshooting SSL/TLS | Passbolt documentation.

SMTP settings

[PASS] The SMTP Settings plugin is enabled.
[PASS] SMTP Settings coherent. You may send a test email to validate them.
[PASS] The SMTP Settings source is: database.
[WARN] The SMTP Settings plugin endpoints are enabled.
[HELP] It is recommended to disable the plugin endpoints.
[HELP] Set the PASSBOLT_SECURITY_SMTP_SETTINGS_ENDPOINTS_DISABLED environment variable to true.
[HELP] Or set passbolt.security.smtpSettings.endpointsDisabled to true in /etc/passbolt/passbolt.php.
[PASS] No custom SSL configuration for SMTP server.

JWT Authentication

[PASS] The JWT Authentication plugin is enabled.
[FAIL] The /etc/passbolt/jwt/ directory should not be writable.
[HELP] You can try:
[HELP] sudo chown -Rf root:www-data /etc/passbolt/jwt/
[HELP] sudo chmod 750 /etc/passbolt/jwt/
[HELP] sudo chmod 640 /etc/passbolt/jwt/jwt.key
[HELP] sudo chmod 640 /etc/passbolt/jwt/jwt.pem
[PASS] A valid JWT key pair was found.

GPG Configuration

[PASS] PHP GPG Module is installed and loaded.
[PASS] The environment variable GNUPGHOME is set to /var/lib/passbolt/.gnupg.
[PASS] The directory /var/lib/passbolt/.gnupg containing the keyring is writable by the webserver user.
[PASS] The server OpenPGP key is not the default one.
[PASS] The public key file is defined in /etc/passbolt/passbolt.php and readable.
[PASS] The private key file is defined in /etc/passbolt/passbolt.php and readable.
[PASS] The server key fingerprint matches the one defined in /etc/passbolt/passbolt.php.
[PASS] The server public key defined in the /etc/passbolt/passbolt.php (or environment variables) is in the keyring.
[PASS] There is a valid email id defined for the server key.
[PASS] The public key can be used to encrypt a message.
[PASS] The private key can be used to sign a message.
[PASS] The public and private keys can be used to encrypt and sign a message.
[PASS] The private key can be used to decrypt a message.
[PASS] The private key can be used to decrypt and verify a message.
[PASS] The public key can be used to verify a signature.
[PASS] The server public key format is Gopengpg compatible.
[PASS] The server private key format is Gopengpg compatible.

Application configuration

[PASS] Using latest passbolt version (4.9.1).
[PASS] Passbolt is configured to force SSL use.
[PASS] App.fullBaseUrl is set to HTTPS.
[PASS] Selenium API endpoints are disabled.
[PASS] Search engine robots are told not to index content.
[INFO] The Self Registration plugin is enabled.
[INFO] Registration is closed, only administrators can add users.
[PASS] The deprecated self registration public setting was not found in /etc/passbolt/passbolt.php.
[WARN] Host availability checking is disabled.
[HELP] Make sure this instance is not publicly available on the internet.
[HELP] Or set the PASSBOLT_EMAIL_VALIDATE_MX environment variable to true.
[HELP] Or set passbolt.email.validate.mx to true in /etc/passbolt/passbolt.php.
[PASS] Serving the compiled version of the javascript app.
[WARN] Some email notifications are disabled by the administrator.
[PASS] The database schema is up to date.

Database

[PASS] The application is able to connect to the database
[PASS] 31 tables found.
[PASS] Some default content is present.

[FAIL] 2 error(s) found. Hang in there!

Data Integrity:

Too long to post here. But every check passes.

Cleanup:

Cleanup shell (fix mode)

No issue found, data looks squeaky clean!

Chrome Debug Log:
index.js:2 Error: The user is not set
at ee.get (index.js:2:30088)
at Ro.get (index.js:2:226545)
at index.js:2:227271
updateSuggestedResourcesBadge @ index.js:2

index.js:2 PassboltBadResponseError: An internal error occurred. The server response could not be parsed. Please contact your administrator.
at ze.parseResponseJson (index.js:2:39721)
at async Rs.findAll (index.js:2:136374)
at async Ao.findAll (index.js:2:225117)
at async Ao.updateLocalStorage (index.js:2:224550)
at async Op.exec (index.js:2:438030)
at async Op._exec (index.js:2:437876)
at async f. (index.js:2:440359)
_exec @ index.js:2
app.js:2 Uncaught (in promise) {stack: ‘PassboltBadResponseError: An internal error occurr…hjepacocaffmoppf/serviceWorker/index.js:2:440359)’, message: ‘An internal error occurred. The server response co…not be parsed. Please contact your administrator.’, name: ‘PassboltBadResponseError’}message: "An internal error occurred. The server response could not be parsed. Please contact your administrator."name: "PassboltBadResponseError"stack: “PassboltBadResponseError: An internal error occurred. The server response could not be parsed. Please contact your administrator.\n at ze.parseResponseJson (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:39721)\n at async Rs.findAll (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:136374)\n at async Ao.findAll (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:225117)\n at async Ao.updateLocalStorage (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:224550)\n at async Op.exec (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:438030)\n at async Op._exec (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:437876)\n at async f. (chrome-extension://didegimhafipceonhjepacocaffmoppf/serviceWorker/index.js:2:440359)”[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()defineGetter: ƒ defineGetter()defineSetter: ƒ defineSetter()lookupGetter: ƒ lookupGetter()lookupSetter: ƒ lookupSetter()proto: (…)get proto: ƒ proto()set proto: ƒ proto()
(anonymous) @ app.js:2
_onMessage @ app.js:2
(anonymous) @ app.js:2

Thanks!

Same Problem here: PB-34421 - App/users page not load - #14 by max

Ive have a similar Setup like you and the same problem …

Hey @stefanh and @antony

Ive got it working - ive checked if the language is right set, because some other user said that for him it was set to english, but its showed on german.
So ive checked it on my user and yes, the setting was also in my User on onglish, so ive changed it to german, testes the “Users” or “Benutzer” Page and boom it works :slight_smile:

Or was it fixed with the Update of the Browser Extension on 03.10.?

Ive canceled or meeting for tomorrow @antony i think its solved for now :slight_smile:

1 Like