Login Screen Error: Deserializing failed... (v5)

I tried to make a clean install of the new InvoiceNinja, version 5. The setup went well (even though the email sending test failed) and after submitting the data I was redirected to the login screen. However, when I try to log in with my newly created credentials, I’m presented with an error: “Deserializing failed due to…” (the full error message is attached below). Any ideas how to solve the issue?

Screenshot 2020-09-15 at 21.27.40

Thank you so much!

P.S.: For your reference, I posted the same support request/bug report also on GitHub (here: Deserializing failed due to Tried to construct class "GatewayEntity" with null field · Issue #3883 · invoiceninja/invoiceninja · GitHub).

I would really appreciate any tips how to tackle this issue…

We just released a new version of the beta, can you please check if it helps

I tried to instal v5.0.17, as suggested. Now, I get a different error on the login screen: “Error: client not supported, please update to the latest version [v.5.0.15 < v.5.0.16]”. Funny, since I’m trying to make v.5.0.17 to work… :sweat_smile:

Screenshot 2020-09-23 at 16.25.17

Hmm… that could be a browser cache issue, does using a different browser or incognito mode help?

I tried with Firefox (instead of Safari) and yes, you’re right, it did help indeed … but then I got the same “old” error again… :grin:

Screenshot 2020-09-23 at 17.04.01

Hmm… I’m not sure, I think it may be related to this line of code. Does changing it 'sort_order' => 0, help?

No, unfortunately, the error is still there.

Is it the same error with "failed due to: Deserializing ‘5’ to ‘int’?

Yes, the same one:

Screenshot 2020-09-24 at 16.56.13

@mramsak can you check that your DB isn’t forcing strict type, log into the mysql cli and run the following

SHOW VARIABLES LIKE 'sql_mode';

You mean via MySQL Workbench, for example? It seems that the variable ‘sql_mode’ doesn’t have any value.

Screenshot 2020-09-25 at 12.21.30

For anybody who wants to know how to disable MariaDB strict mode, take yourself to /etc/mysql/my.cnf and add as below. The documentation on the MariaDB site is as clear as mud.

# Below the section header [mysqld] enter the variable below - ANSI is closer to normal SQL    
[mysqld]
sql-mode = 'ANSI'

Then restart SQL server sudo systemctl restart mysql

Changing the entries in the DB for session and global wouldn’t stick for me even though there were no other references to strict mode in any of the MariaDB config files.

So I see this thread ran cold but I’m experiencing the same issue. Did anybody find a solution?

EDIT: I just noticed the error is actually different to OPs, apologies. New thread here.

Login error: Deserializing ‘[data, [{permissions: , notifications: {email: [all_notifications]}, settings…’ to ‘minified:qT’ failed due to: Deserializing ‘[banks, [{id: 232, name: 121 Financial Credit Union, remote_id: 666, bank_lib…’ to ‘minified:xi’ failed due to: Deserializing ‘[{id: 1, created_at: 1541743430, updated_at: 1541743430, name: Authorize.Net …’ to ‘minified:Aminified:iu’ failed due to: Deserializing ‘[id, 1, created_at, 1541743430, updated_at, 1541743430, name, Authorize.Net A…’ to ‘minified:iu’ failed due to: Tried to construct class “GatewayEntity” with null field “fields”. This is forbidden; to allow it, mark “fields” with @nullable.

@mramsak

The latest code in the V2 branch has a fix for this now.

To test, pull in the latest changes, and also clear the cache by running http://your.url.com?clear_cache=true

1 Like