"There was an error updating the data" with Android Mobile App and Passbolt-CE

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.)

  • Proxmox LXC running Debian 12 with Passbolt CE (newest Version, installed yesterday)
  • runs behind an Nginx Proxy Manager (Reverse Proxy)
  • Nginx Proxy Manager runs as an Docker Container on a different Server

I provide a copy of my logs and healthcheck
Log from my Android App: https://pastebin.com/0fDFxp4j

I describe the steps I have taken to trouble shoot the problem
First i had problems to get the connection over the reverse proxy working.
For that ive added my FQDN in the “App.fullBaseUrl” Paramater like “https://passbolt.randomsrv.de
Also ive added the “https://passbolt.randomsrv.de” to the Hosts File pointing to 127.0.0.1 on the LXC Machine.
After these steps all is working except the Mobile App :frowning:

We moved from the Cloud Passbolt to the self-Hosted CE, so ive deleted the Passbolt Mobile App on my phone and reinstalled it - same problem.

I describe the steps on how to reproduce the issue
Registration of the App works without any problem.
Profile Picture gets updates - so there is a working communication with the Server
But i only get an Error when it tries to load entrys from my database:
“There was an error updating the data”

Ive added self-signed certs to my Passbolt Server and added the Setting to force SSL.
Then ive tried to register my Phone - now i got an Error on the register Site:

No data available.Message

Unsupported status

Stack

Error: Unsupported status
at $r.getUpdatedTransfer (chrome-extension://ljeppgjhohmhpbdhjjjbiflabdgfkhpo/webAccessibleResources/js/dist/app.js:2:553555)

Hello @maieredv.manuel,

So, regarding the latest bug you mentioned, it’s a known issue that should be fix on the version 4.4.0 of the browser extension. Despite the error message on the browser extension, the mobile app should be working actually (if we are talking about the same bug as the fixed one of course).
Do you confirm it works on your mobile phone even with the shown error?

Hey @Steph

thanks for your answer :slight_smile:
Saadly the mobile Application gets the same error as before - HTTP500 :frowning:
I hoped the new error message in the Passbolt app is the “main reason” and i missed this before.
Do you have any idea regarding the HTTP500 error?

My Healthcheck is now “clean” i only get the warning that “Host availability checking is disabled.” and “Some email notifications are disabled by the administrator.”

So for an error 500, I suppose the problem comes from the server. However, I’m not 100% sure. We can be helped with the error logs from the server and maybe the mobile app as well to know more.

For the server:

  • you need to log in to your server instance (via ssh I suppose)
  • there should be error logs in the following file: /var/log/passbolt/error.log

For the mobile app:

  • On the top right corner of the mobile app
  • Click the “question mark” icon that opens a menu
  • Within the opened menu click “Access the logs”

If you can share them please, it will be a great help to understand what’s going on here.

Log from my Phone: passbolt-ce_android - Pastebin.com
Log from Server with the latest requests: passbolt-ce_server - Pastebin.com

Okay, so the error shows a problem on the server side.

  1. 2023-10-10 08:42:12 error: [Cake\Error\FatalErrorException] Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in /usr/share/php/passbolt/vendor/cakephp/cakephp/src/View/JsonView.php on>
  1. Request URL: /resources.json?contain%5Bpermission%5D=1&contain%5Bfavorite%5D=1&contain%5Btag%5D=1&contain%5Bpermissions.group%5D=1

And this error is reflected on the mobile app, after a successful connection attempt when the app wants to download the data.

It says that your server doesn’t have enough memory to handle what I think is the generation of the JSON view for the mobile app to receive the data.

A possible solution is to tweak your server configuration for PHP to be able to access more memory.
However, I’m a bit surprised that it happens. Is it possible for you to share how many passwords, groups and share you have (at least an overall idea)?

1 Like

Actually we have 8216 entys in our passbolt:
image

We have no groups, three users - two of them are have all access to all elements and one of these only on “some” entrys.

It worked before on the cloud instance, so i dont think its an problem with the amount of the entrys.
Or are the cloud instances tweaked already? :smiley:

The cloud instances are a bit special, but yes they are not using stock settings. From our experience 8K entries is when it starts to require some configuration changes / allocation of some more resources.

That means we need to adjust the memory size that PHP can allocate?!
Im sorry, im not an expert on that field, can someone help me what/where in need to change settings?

The correct way is to edit your php.ini file. Edit memory_limit to your desire value.

is this the right place?

Yes you will need to edit your php.ini file. Edit memory_limit to your desire value. As from your question, 128M (which is the default limit) has been exceeded, which may be due to the size of the request. You can try to set it to memory_limit = 256M or higher and you should be good.

To test you can manually login and go to https://yourodmain.com/resources.json?contain[permission]=1&contain[favorite]=1&contain[tag]=1&contain[permissions.group]=1 and see if it triggers a 500 due to the memory limit being hit.

2 Likes

Yes, there also comes the Code 500:

{
    "header": {
        "id": "77b4d788-2329-4ec1-9c23-81fbb8caa4d0",
        "status": "error",
        "servertime": 1696930399,
        "action": "c506210f-7866-5691-8fc1-58772e8f49f1",
        "message": "Ein interner Fehler ist aufgetreten.",
        "url": "/resources.json?contain%5Bpermission%5D=1&contain%5Bfavorite%5D=1&contain%5Btag%5D=1&contain%5Bpermissions.group%5D=1",
        "code": 500
    },
    "body": ""
}

So ill try to increase the value.
Ill report back :slight_smile:
Thanks for the Moment!

IT WORKS!

So for others with the same problem in the future:
you need to change the “memory_limit” Value in the /etc/php/8.2/fpm/php.ini file to 256M
(path is for me in Debian 12 with PHP 8.2 > replace the Number with your Version)

Thanks @remy and @Steph for the Help!

1 Like