Android app 1.13.2 crashes with no error

Hi, I have updated my self-hosted Passbolt, CentOS 7 and script based, to the latest Master version.
I have also updated the Android App to the latest 1.13.2 version.
After having succesfully trasnfered the access with the QR code to the mobile, as soon as I login with my password the app crashes without returning any error, it simply closes down.

Steps to reproduce:

  1. Transfer the account credentials with the QR code
  2. Open the App and type my Password
  3. Deny the usage of fingerprints
  4. Deny the usage of auto-fill
  5. The app seems opening when suddently closes down, crashing with no errors to the user. Impossibile to do anything before that.

Any advice?
Thank you

Hi @zipelkopf Welcome to the forum!

Can you confirm the model of your Android device and/or which Android version it’s running?

Also try to find passbolt logs on the server side indicating what is happening. If you can’t find them, how did you install your passbolt? Via package or source?

Hi @garrett and thanks for your quick engagement.
The mobile I’m using is a Samsung Galaxy S21, running Android 13.
I succesfully updated Passbolt using the script and following the official tutorial at Passbolt Help | Update passbolt on Centos 7 (installation script)

Everything else works perfectly fine, only the Android app presents this issue.

I repeated the process and looked into the logs but the folder is empty

[root@missioncontrol logs]# ll
total 0

I manage to trap the error in Android for reporting puproses, see details below:

  • Exception class name: java.time.format.DateTieParseException
  • Source file: DateTimeFormatter.java
  • Source class: java.time.format.DateTimeFormatter
  • Source method: parseResolved0
  • Line number: 2044

Stack trace attached as image:

Thanks and kind regards

My first thought is to check the device time compared to the server time. They need to both be accurate. Servers are more likely to be off, typically.

Thanks, I checked the server time Vs mobile phone and they are both spot on!
Also, I guess if the server time wasn’t right then I would not be able to login from other desktop/laptops.

The issue points to a parsing error in Java… it seems more an unhandled exception to me… isnt’t it?

How can I contact the Passbolt Android developers to forward the stack trace?
Best regards

@zipelkopf You could report it on github for bugs or they might respond here.

Hello @zipelkopf , we have the exact same issue reported on GitHub: App Crashes After Login (DateTimeParseException) · Issue #4 · passbolt/mobile-passbolt-android · GitHub concerning installation from source; Basically, for some reason, there is no time zone information in the dates received from the backend and mobile uses ZonedDateTime for parsing, so it treats the date as invalid. We’ll see how to proceed with that and let you know.

2 Likes

@garrett / @mmichalek thanks a mill!
I have subscribed the GitHub issue so to follow up on progress.
Cheers

1 Like

Hello @zipelkopf ,

as a back-end developer, I am trying to reproduce your issue, with no success. You say you use CentOS7.

  1. Which PHP version do you use?
    php -v

  2. What is the output of the following command:
    /usr/share/php/passbolt/bin/cake passbolt version

  3. Which database engine do you use, and which version?

  4. If you call the url on your browser
    /resources.json?contain[permission]=1&contain[favorite]=1&contain[tag]=1&contain[permissions.group]=1&limit=1
    without pasting the complete output here, can you indicate the format in which the dates created and modified are returned?

Thanks a lot!

1 Like

Hi @pabloelcolombiano,
please find more details below:

PHP Version

[root@missioncontrol ~]# php -v
PHP 7.4.33 (cli) (built: Nov  8 2022 15:16:44) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

Passbolt Version

[root@missioncontrol ~]# /home/missioncontrol/public_html/passbolt/bin/cake passbolt version

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
-------------------------------------------------------------------------------
Passbolt CE 4.0.0
Cakephp 4.2.9

Datetime format from resources.json

"created": "2023-02-20T16:07:41",
"modified": "2023-05-19T10:00:52",

Thank you and let me know if I can be of any help in testing a pre-release APK of the Android App.

Hi @zipelkopf ,

I am surprized to see the combination Passbolt on 4.0 and CakePHP on 4.2.9.
Passbolt 4.0 on premise runs with CakePHP 4.4.14.

Could you by update your vendors, by running:
composer install

Do you have composer installed? Since you have installed passbolt from the Github repository, you must have used it previously.

You will find more documentation on composer here: https://getcomposer.org/

Hey @zipelkopf,

Just a gentle reminder if you can provide more information

Cheers,
Max

@pabloelcolombiano @max
Hi, please find the composer version:

[root@missioncontrol ~]$ composer -V
Composer version 2.5.5 2023-03-21 11:50:05

I have followed the instruction for updating Passbolt (including Composer and dependencies) that I found in the official documentation, where Composer v2 is specified: Passbolt Help | Update passbolt on Centos 7 (installation script).

Please note everything works perfectly in Passbolt itself.
Based on the Android stack trace that I provided earlier, would it be feasible to handle in Android the different date/time format that may be returned? Perhaps jsut adding the missing index[19] to the date/time parameter before being parsed?

Thanks

Hi, just checking if there’s been any progress here…
Happy to help with any testing :slight_smile:
Cheers

1 Like

Hi @zipelkopf ,

for your information, a fix was added to the API in version 4.1. Could you update your passbolt version and tell us if this solved your issue?

Thank you in advance!

Thanks a lot @pabloelcolombiano !
I will do my best to backup all , upgrade by this week and keep you posted.

Perhaps, would you have the link to the commit in GitHub? Just to grab the essence of the change…

Cheers

Sure, here is the commit.

Hi @pabloelcolombiano,
I updated my my side, but I also noticed that the Android app got updated too:

  1. I can complete the “transfer” process using the QR code
  2. I can login on the Android app using my credentials
  3. The App closes down by itself, without providing any error message or crash report, as soon as the main page (password list) starts to open.

It seems that the time exception has been hadnled anyway now :slight_smile: …but there might be another issue somewhere else.

I will have to install a brandnew instance on Ubuntu over the next weeks, so I can check the issue again on a clean code.

Cheers & thanks!

1 Like

hello @zipelkopf, if after a clean install you still have some issues on Android please let us know and please provide logs.

Hi @mmichalek / @pabloelcolombiano

I have some good and bad news… let’s start witht he good one :slight_smile:

I confirm that this issue is resolved when performing a clean install with version 4.2.0
Please note I installed from Source, in Ubuntu 22.04.
THANKS A LOT!

Unfortunatelly there’s another issue (not related to this one) in relation to the database migration from 4.0.0 to 4.2.0 …to put it simple, once migrated the existing accounts are no longer recognised :frowning: so I had to start with a clean database and import all passwords from a backup… but that’s another story :wink:

I just wish to thanks everybody involved with upkeeping the project!

1 Like