Yes exactly. I guess it has something to do with the Python3 deps being different on Debian12, most likely the openapi-core or openapi-schema-validator libs, but definitely not sure.

14 days later

Any news on when this will be fixed? I had the same issue (couldn't create a new user). Also users don't seem to be able to change their passwords (not sure if that's related).

    stefan_o Also users don't seem to be able to change their passwords

    Do you use an LDAP source für your users or do you create the users in MySQL?

      WalterH mysql on my installation. have tried a number of different builds with Debian 12 over last few weeks with three different machine architectures: Intel on synology VMM, Intel on AWS, ARM on AWS. All using mysql as the back-end.
      One big difference between Debian 11.7 and 12 is PHP version update from 7.4 to 8.2
      Could that be the cause?

        freeloadermatt PHP 8.2 can be the issue, but you should see PHP error messages in nginx logs in /var/log/grommunio .

          WalterH
          For me the users are in MySQL. Was able to change a password with phpMyAdmin manually.

          WalterH
          I cannot find any PHP errors, I cannot find an error in any of the nginx logs related to this

            stefan_o Was able to change a password with phpMyAdmin manually.

            When you try to change password in G-Web, what happens?

              WalterH
              Error changing password. Please contact the system administrator.
              I cannot find any log entry for that. The user also has the permission to change his password

              The problem is indeed a known bug in openapi: https://github.com/python-openapi/openapi-core/issues/251
              openapi-core is provided by the grommunio repository, but it's a version that is broken/incompatible with Debian 12 . Maybe you could update that package. I'm not sure how I could update openapi-core without breaking something else.
              I had a look where grommunio-admin-api uses openapi and found it has a config file where I can just disable openapi:
              "openapi": {
              "validateRequest": False,
              "validateResponse": False
              },

              After this change the problem is gone. I assume this is somehow used for safety against malicious users/clients?

              Changing the config did not resolve all issues: users still cannot change their password, syslog shows the openapi error.
              I tried to reinstall python3-openapi-core, but it wouldn't work. Turns out, that there also seems to be a packaging error: The latest version in the Debian 12 pool is older than the one I had installed:
              dpkg: Warnung: Version 0.13.7-1+7.17 des Paketes python3-openapi-core wird durch ältere Version 0.13.7-1+7.2 ersetzt
              I manually downloaded the deb package from the pool and installed it, but it didn't fix the problem.
              I'm not sure how other people get it working on Debian 12

                I´m running a local package repository cache using aptly and I have this in my archive:

                root@:/etc/postfix# apt list -a python3-openapi-core
                Auflistung… Fertig
                python3-openapi-core/now 0.13.7-1+7.17 all  [Installiert,lokal]
                python3-openapi-core/Debian_12 0.13.7-1+7.2 all
                python3-openapi-core/Debian_12 0.13.7-1+7.1 all

                Doing approx. weekly apt update; apt upgrade resulted in having 0.13.7-1+7.17 on my system.
                However, based on the github tracker link provided by @stefan_o, I would expect that the other 2 package versions will not make any difference.

                I assume it could be an incompatibility with a later version of another package or Python 3.11

                stefan_o The latest version in the Debian 12 pool is older than the one I had installed

                I think that this is because the 0.13.7-1+7.17 is from the Debian 11 pool. When you switeched from Debian 11 to 12 repository, then apt is now downgrading anything.

                actually I am not sure in which of the python3-openapi- packages the error is located. Could also be the schema or spec validator!

                I tried manually installing all packages from the Debian 12 and also from the Debian 11 repo, no difference.

                Can anyone confirm that works on Debian 12 and post his exact versions of the openapi packages?

                4 months later
                6 days later

                Hi Guys,
                I installed fresh grommunio on Debian12 today and discovered I cannot create new domain. I used patch descripted above:
                "openapi": {
                "validateRequest": False,
                "validateResponse": False
                },

                which I use at one of old server, but after that I cannot log in as admin any more. Even if I remove the patch file from /etc/grommunio-admin-api/conf.d/

                exist some solution for this problem? Thank you for any advice.

                this is in journal:
                feb 22 18:41:55 hostname uwsgi[1441]: [ERROR] (grommunio Admin API) Traceback (most recent call last):
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/flask/app.py", line 1820, in full_dispatch_request
                feb 22 18:41:55 hostname uwsgi[1441]: rv = self.dispatch_request()
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/flask/app.py", line 1796, in dispatch_request
                feb 22 18:41:55 hostname uwsgi[1441]: return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/core.py", line 179, in wrapper
                feb 22 18:41:55 hostname uwsgi[1441]: return call()
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/core.py", line 144, in call
                feb 22 18:41:55 hostname uwsgi[1441]: ret = func(*args, **kwargs)
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/endpoints/misc.py", line 43, in login
                feb 22 18:41:55 hostname uwsgi[1441]: success, val = loginUser(request.form["user"], request.form["pass"])
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/security.py", line 208, in loginUser
                feb 22 18:41:55 hostname uwsgi[1441]: user: Users = Users.query.join(Altnames, isouter=True)\
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/orm/init.py", line 32, in get
                feb 22 18:41:55 hostname uwsgi[1441]: mapper = class_mapper(type)
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/base.py", line 448, in class_mapper
                feb 22 18:41:55 hostname uwsgi[1441]: mapper = inspect_mapped_class(class, configure=configure)
                feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/base.py", line 427, in inspect_mapped_class
                feb 22 18:41:55 hostname uwsgi[1441]: mapper.
                check_configure()
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 1941, in _check_configure
                feb 22 18:41:55 hostname uwsgi[1441]: _configure_registries({self.registry}, cascade=True)
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 3527, in _configure_registries
                feb 22 18:41:55 hostname uwsgi[1441]: _do_configure_registries(registries, cascade)
                feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 3562, in _do_configure_registries
                feb 22 18:41:55 hostname uwsgi[1441]: raise e
                feb 22 18:41:55 hostname uwsgi[1441]: sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Triggering mapper: 'mapped class MLists->>
                feb 22 18:41:55 hostname uwsgi[1441]: [WARNING] (grommunio Admin API) POST /api/v1/login? from 192.168.1.1 -> 500 '{"message":"The server encountered an error while processing the request."}\n'

                9 days later

                Hi,

                I am having the same problem on a fresh installed Debian 12. Any solution ideas? Thanks.

                © 2020-2024 grommunio GmbH. All rights reserved. | https://grommunio.com | Data Protection | Legal notice