Black screen after login

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

Hi !

Context

I just migrated my Passbolt installation from Docker to an Alpine Container (migration from Docker containers to Proxmox env after huge crash).

Summary

I followed the tutorial to install from sources. I can see the login page, I can login. But then I see a black screen with a gray line in the middle. The chrome extension says “Internal problem occured”. No log file (nginx proxy, PHP, passbolt) shows anything…
I tried many ways to install (Debian/Ubuntu with available package, Alpine container with installation from sources and lighttpd or nginx), but every time I ended with the same situation.
My docker was running “passbolt/passbolt:3.5.0-ce” with “php:8.1.11-fpm-alpine3.16”.
I now use passbolt 3.11.0 from Github sources with PHP 8.1.16.

Has anyone an idea to fix this ?

My thoughts

  • I checked many times my network configuration, so it shouldn’t come from that.
  • I was wondering if it was related with my PHP version ?

Detailed installation

  • Installation of PHP dependencies
  • Installation of GnuPG
  • Retrieve Passbolt from git
  • composer install
  • Reimport backup of DB
  • Running cake migrations migrate

Installation of PHP

apk add php81-fpm php81-pecl-imagick php81-pecl-memcached php81-ldap php81-intl php81-mbstring \
    php81-xml php81-simplexml php81-mysqlnd php81-pdo_mysql php81-pdo php81-xsl php81-phar \
    php81-posix php81-ctype php81-curl php81-iconv php81-fileinfo \
    gpgme-dev \
    git \
    rng-tools haveged \
    lighttpd

# Install gnupg
apk add php81-dev php81-pear gcc make autoconf libc-dev pkgconf
pecl install gnupg
apk del php81-dev php81-pear gcc make autoconf libc-dev pkgconf

$ php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gmp
gnupg
hash
iconv
igbinary
imagick
imap
intl
json
ldap
libxml
mbstring
memcached
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
SimpleXML
SPL
standard
xml
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Installation of passbolt

cd /var/www/pwd
git clone https://github.com/passbolt/passbolt_api.git .
composer install --no-dev

Server informations

I have a Proxmox manager with multiple containers (PHP, MySQL, Nginx). The PHP container also hosts the files and softwares needed for Passbolt (GnuPG, extensions, …)

Configurations ans logs

  • Proxmox 7.3
  • Kernel 5.15.85-1-pve
  • PHP

nginx (proxy)

server {
    server_name ...;
    include /.../templates/http;
}

server {
  server_name ...;

  root /.../pwd/webroot;
  error_log /.../pwd.error.log info;
  access_log /.../pwd.access.log combined;

  include /.../templates/common;
  include /.../templates/php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass php:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
}

passbolt

<?php
return [
    'App' => [
        'fullBaseUrl' => 'https://...',
    ],

    'Datasources' => [
        'default' => [
            'host' => '...',
            'port' => '3306',
            'username' => '...',
            'password' => '...',
            'database' => '...',
        ],
    ],

    'EmailTransport' => [
        'default' => [
            'host' => '...',
            'port' => 587,
            'username' => '...',
            'password' => '...',
            'tls' => true,
        ],
    ],
    'Email' => [
        'default' => [
            'from' => ['...' => '...'],
            'charset' => 'utf-8',
            'headerCharset' => 'utf-8',
        ],
    ],

    'passbolt' => [
        'email' => ['validate' => ['mx' => true],],
        'ssl' => ['force' => true,],
        'security' => [
            'smtpSettings' => [
                'endpointsDisabled' => true,
            ],
        ],
        'plugins' => [
            'mobile' => [
                'enabled' => true
            ],
            'jwtAuthentication' => [
                'enabled' => true
            ],
        ],
        'gpg' => [
            'putenv' => true,
            'keyring' => '/.../passbolt/.gpg',
            'serverKey' => [
                'fingerprint' => '...,
                'public' => '/.../passbolt/gpg/pub.asc',
                'private' => '/.../passbolt/gpg/priv.asc',
            ],
        ],
    ],
];

status-report (healthcheck + infos)

Passbolt CE 3.11.0
Cakephp 4.3.11
Linux php 5.15.85-1-pve #1 SMP PVE 5.15.85-1 (2023-02-01T00:00Z) x86_64 Linux
PHP 8.1.16 (cli) (built: Feb 15 2023 18:27:15) (NTS)
mysql  Ver 15.1 Distrib 10.6.12-MariaDB, for Linux (x86_64) using readline 5.1
gpg (GnuPG) 2.2.40
libgcrypt 1.10.1
Composer version 2.5.4 2023-02-15 13:10:06

healthcheck (skipping PASS parts)

Application configuration

 [FAIL] This installation is not up to date. Currently using 3.11.0 and it should be v3.11.1.
 [HELP] See. https://www.passbolt.com/help/tech/update 
 [WARN] Some email notifications are disabled by the administrator.

SMTP Settings

 [WARN] The SMTP Settings source is: /.../pwd/config/passbolt.php.
 [HELP] It is recommended to set the SMTP Settings in the database through the administration section.

 [FAIL] 1 error(s) found. Hang in there!
-------------------------------------------------------------------------------
 Cleanup shell (dry-run)
-------------------------------------------------------------------------------
No issue found, data looks squeaky clean!
-------------------------------------------------------------------------------
Data check shell
[PASS] Data integrity for AuthenticationTokens.
  [PASS] Can validate: 1755/1755
[PASS] Data integrity for Comments.
  [PASS] Can validate: 0/0
[PASS] Data integrity for Favorites.
  [PASS] Can validate: 12/12
[PASS] Data integrity for Gpgkeys.
  [PASS] Can encrypt: 3/3
  [PASS] Pass validation service checks: 3/3
  [PASS] Entity data and armored key data matches: 3/3
  [PASS] Is not expired: 3/3
  [PASS] Is armored key format valid: 3/3
[PASS] Data integrity for Groups.
  [PASS] Can validate: 1/1
[PASS] Data integrity for Profiles.
  [PASS] Can validate: 5/5
[PASS] Data integrity for Resources.
  [PASS] Can validate: 478/478
[PASS] Data integrity for Secrets.
  [PASS] Can validate: 360/360
[PASS] Data integrity for Users.
  [PASS] Can validate: 4/4

Hi @MrDaves Welcome to the forum!

Any errors in logs? Browser console?

Hi !

No, the browser is clean of any error ! No error in the console, no 404 or anything in the network tab (in Chrome)

Tried from Firefox, everything works !
I guess it’s a problem related to Chrome !

Here are the errors I see in the “Extensions” tab of Chrome :

  • ‘externally_connectable’ specifies neither ‘matches’ nor ‘ids’; nothing will be able to connect
  • PassboltBadResponseError: An internal error occurred. The server response could not be parsed. Please contact your administrator.
  • https://pwd.[…]/settings.json?api-version=v2 SyntaxError: Unexpected end of JSON input
    • Which is weird cause when I go on the URL, the JSON is valid
  • Uncaught (in promise) PassboltBadResponseError: An internal error occurred. The server response could not be parsed. Please contact your administrator.

Solution :

It was something related to chrome’s cache or anything…
I cleared everything I could through chrome://settings/clearBrowserData and boom, everything worked…
(Had to login through the extension to make the website work)

This issue is closed

1 Like