Solved Mautic 4.0 500 error with Configuration page
-
My instance throws some 500 errors every time I submit/save the system settings/Configuration page
[2021-09-15 11:15:14] mautic.NOTICE: Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'ALTER TABLE oauth2_clients ADD CONSTRAINT FK_CLIENT_ROLE FOREIGN KEY (role_id) REFERENCES roles (id)': SQLSTATE[HY000]: General error: 3780 Referencing column 'role_id' and referenced column 'id' in foreign key constraint 'FK_CLIENT_ROLE' are incompatible. (uncaught exception) at /app/code/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 128 while running console command `doctrine:migrations:migrate` [] []
[2021-09-15 11:15:14] mautic.WARNING: Command `doctrine:migrations:migrate` exited with status code 1 [] []
[2021-09-15 09:16:56] mautic.CRITICAL: Uncaught PHP Exception Symfony\Component\Form\Exception\UnexpectedTypeException: "Expected argument of type "null or string", "boolean" given" at /app/code/vendor/symfony/form/Extension/Core/DataMapper/RadioListMapper.php line 49 {"exception":"[object] (Symfony\\Component\\Form\\Exception\\UnexpectedTypeException(code: 0): Expected argument of type \"null or string\", \"boolean\" given at /app/code/vendor/symfony/form/Extension/Core/DataMapper/RadioListMapper.php:49)"} []
Need to test it with a fresh installation.
-
We have updated mautic to 4.1 now.
-
For automatic backups that is always the case, otherwise it is of course also recommended to always make one and not skip it.
-
same problem with a fresh installation.
To reproduce: install the mautic app in version 4.0, open the dashboard with the default admin user, select configuration from the dropdown, click on save & close. Boom.
-
@luckow I can reproduce it easily, I will revoke that package release for a start.
-
When I try to update I get this error:
The Mautic update could not complete successfully because of the following error: Could not extract the contents of the ZIP archive to the filesystem.
-
@vladimir We have revoked the release for now. Looks like some bugs in mautic 4.0 . We have to wait for a patch release.
-
I found a couple of related issues in the upstream forum - https://forum.mautic.org/t/error-500-bei-formular-ohne-rendering-stil-speichern/20916 and https://forum.mautic.org/t/mautic-4-speichern-von-formularen-kommt-error-500/20901 . Also, https://forum.mautic.org/t/mautic-form-preview-form-submission-500-error/20623/3
-
The upstream issue is https://github.com/mautic/mautic/issues/10450 and https://github.com/mautic/mautic/issues/10453
-
@vladimir Updating from inside Mautic itself does not work because the file system for the core files is read-only. Only templates, plugins, and other editable configuration files are on a read/write partition. To update your Cloudron apps, go to the my.cloudron dashboard and check for updates for your apps. The default setting for apps is: auto-update.
-
Hi guys! How is going the development of Mautic 4 on cloudron? I think the update to 4.0.1 is out.
-
@mdreira there is no fix upstream - https://github.com/mautic/mautic/issues/10453 . I had left a note there last week, let's see.
-
Mautic 4.0.2 also still has this issue...
-
We have updated mautic to 4.1 now.
-
@girish I just upgraded to Mautic 4.1 from an install that was working with version 3.3.4 (not a clean install, it has content).
Channels/Emails section is not working: https://prnt.sc/26j9ypp
And if I force to search the url /s/emails it gives me error 500: https://prnt.sc/26j9z9z
-
-
@girish done! Now working.
-
@girish There is other problem with the Spanish translation with the update: https://prnt.sc/26jag0t
If I create a fresh install spanish translation looks fine.
I have no idea what to do to solve it, I have several installations working, I can't create them all from scratch.
-
@mdreira might be worth asking this upstream, maybe it's a theme issue that things are not getting translated?
-
@girish It looks like a problem that comes when updating, because if I create a new installation of mautic it looks correct: https://prnt.sc/26jixzv
Surely it will be necessary to delete some other folder from the new grapejs email builder, because that is where the translation problem comes from.
Not everything is translated into Spanish, but at least it doesn't look so weird.
-
@mdreira possibly, we need to clean something up in the themes. Unfortunately, mautic has no clear upgrade instructions to mautic 4 wrt themes afaict. The whole thing is a bit of a trial and learning from errors, which is why we pushed mautic 4 as a major upgrade (i.e it does not update the app automatically).
One idea is to take a backup, delete the grapejs theme entirely and restart the app. The app package copies the "latest" code from the release bundle when files are missing. Maybe that fixes the issue.
-
@girish I deleted all mautic translations folder, the themes you commented before and the grapejs plugin. Then I restarted app.
Mautic took a while to load all the changes (maybe it was the cache), but it worked!
I can now see everything in Spanish.
Thank you!
-
@girish I think I have found the problem with the translation of grapejs to Spanish. I don't know if it will happen with other translations.
This folders was missing: https://prnt.sc/26jrlw7
When I restart the app upgraded to Mautic 4, those folders are not added inside translations/es
I hope this helps.
-
@mdreira Interesting find. So, atleast upstream that directory is empty - https://github.com/mautic/mautic/tree/4.x/translations and also in the release zip file - https://github.com/mautic/mautic/releases/tag/4.1.2 . Do you remember if you had to upload the spanish translations yourself?
-
Ah, I see. Per https://docs.mautic.org/en/translations , it seems it downloads translations from Transifex - https://docs.mautic.org/en/translations#how-to-update-a-language .
-
@girish Do you remember if you had to upload the spanish translations yourself? No, I copied the translations from a clean install of Mautic 4 on Cloudron. In a clean Mautic installation, it does upload the translation folders.
It would be necessary to check if the grapejs translation files is complete, because there are many words missing to translate into Spanish.