Possible SQLAlchemy 2.0.23 incompatibility (requires investigation)
I just did a container rebuild and Mailman failed to load, with the below errors on the console. Pinning SQLAlchemy 2.0.22 resolved this; I haven't tried to further debug. (2.0.23 was release on November 3.)
--Jered
Traceback (most recent call last): File "/opt/app-root/src/.local/bin/mailman", line 8, in <module> sys.exit(main()) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/bin/mailman.py", line 69, in invoke return super().invoke(ctx) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/commands/cli_control.py", line 109, in start call_name(config.mta.incoming).regenerate() File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/mta/postfix.py", line 109, in regenerate self._generate_lmtp_file(fp) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/mta/postfix.py", line 148, in _generate_lmtp_file for list_name, mail_host in list_manager.name_components: File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/model/listmanager.py", line 140, in name_components for mail_host, list_name in result_set.with_entities( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2833, in __iter__ result = self._iter() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter result: Union[ScalarResult[_T], Result[_T]] = self.session.execute( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2308, in execute return self._execute_internal( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2180, in _execute_internal conn = self._connection_for_bind(bind) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2047, in _connection_for_bind return trans._connection_for_bind(engine, execution_options) File "<string>", line 2, in _connection_for_bind File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go ret_value = fn(self, *arg, **kw) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1143, in _connection_for_bind conn = bind.connect() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 3268, in connect return self._connection_cls(self) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ self._dbapi_connection = engine.raw_connection() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 3292, in raw_connection return self.pool.connect() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 452, in connect return _ConnectionFairy._checkout(self) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 1378, in _checkout del fairy File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ raise exc_value.with_traceback(exc_tb) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 1306, in _checkout result = pool._dialect._do_ping_w_event( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 709, in _do_ping_w_event return self.do_ping(dbapi_connection) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py", line 104, in do_ping if self._send_false_to_ping: File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 1146, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py", line 93, in _send_false_to_ping insp = langhelpers.get_callable_argspec(Connection.ping) AttributeError: 'function' object has no attribute 'ping'
Doing some investigation, this is due to this change in 2.0.23: https://github.com/sqlalchemy/sqlalchemy/issues/10492
Which changes to using an ping() interface without an argument, which likely does not exist in the pymysql 0.10.1 that is part of RHEL 8.
So, generally not a Mailman issue.
--Jered
----- On Nov 15, 2023, at 4:13 PM, Jered Floyd jered@convivian.com wrote:
I just did a container rebuild and Mailman failed to load, with the below errors on the console. Pinning SQLAlchemy 2.0.22 resolved this; I haven't tried to further debug. (2.0.23 was release on November 3.)
--Jered
Traceback (most recent call last): File "/opt/app-root/src/.local/bin/mailman", line 8, in <module> sys.exit(main()) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/bin/mailman.py", line 69, in invoke return super().invoke(ctx) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/core.py", line 783, in invoke return __callback(*args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/click/decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/commands/cli_control.py", line 109, in start call_name(config.mta.incoming).regenerate() File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/mta/postfix.py", line 109, in regenerate self._generate_lmtp_file(fp) File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/mta/postfix.py", line 148, in _generate_lmtp_file for list_name, mail_host in list_manager.name_components: File "/opt/app-root/src/.local/lib/python3.9/site-packages/mailman/model/listmanager.py", line 140, in name_components for mail_host, list_name in result_set.with_entities( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2833, in __iter__ result = self._iter() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter result: Union[ScalarResult[_T], Result[_T]] = self.session.execute( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2308, in execute return self._execute_internal( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2180, in _execute_internal conn = self._connection_for_bind(bind) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2047, in _connection_for_bind return trans._connection_for_bind(engine, execution_options) File "<string>", line 2, in _connection_for_bind File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go ret_value = fn(self, *arg, **kw) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1143, in _connection_for_bind conn = bind.connect() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 3268, in connect return self._connection_cls(self) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 145, in __init__ self._dbapi_connection = engine.raw_connection() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 3292, in raw_connection return self.pool.connect() File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 452, in connect return _ConnectionFairy._checkout(self) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 1378, in _checkout del fairy File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__ raise exc_value.with_traceback(exc_tb) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/pool/base.py", line 1306, in _checkout result = pool._dialect._do_ping_w_event( File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 709, in _do_ping_w_event return self.do_ping(dbapi_connection) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py", line 104, in do_ping if self._send_false_to_ping: File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 1146, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/opt/app-root/src/.local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/pymysql.py", line 93, in _send_false_to_ping insp = langhelpers.get_callable_argspec(Connection.ping) AttributeError: 'function' object has no attribute 'ping'
Mailman-users mailing list -- mailman-users@mailman3.org To unsubscribe send an email to mailman-users-leave@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/ Archived at: https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/...
This message sent to jered@convivian.com
participants (1)
-
Jered Floyd