[Pkg-mailman-hackers] Bug#1093897: mailman3: i18n python traceback when delting a member

Peter Chubb peter.chubb at unsw.edu.au
Thu Jan 23 21:32:18 GMT 2025


Package: mailman3
Version: 3.3.8-3.2
Severity: normal
Tags: l10n

Dear Maintainer,

I tried to delete a member using the web interface from a list who has 'en' as 
its locale.  The member *was* delted, but I saw an error messaye:
'pathlib._local.PosixPath' object does not support the context manager protocol


In the logs I see this backtrace:
2025-01-23 06:44:11 [FALCON] [ERROR] DELETE /3.1/lists/test.sel4.systems/member/
listadmin at sel4.systems => Traceback (most recent call last):
  File "falcon/app.py", line 365, in falcon.app.App.__call__
  File "/usr/lib/python3/dist-packages/mailman/rest/members.py", line 260, in on
_delete
    token, token_owner, member = manager.unregister(
                                 ~~~~~~~~~~~~~~~~~~^
        self._member.address,
        ^^^^^^^^^^^^^^^^^^^^^
        pre_approved=values.get('pre_approved'),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        pre_confirmed=pre_confirmed)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/app/subscriptions.py", line 593, in unregister
    list(workflow)
    ~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/app/workflow.py", line 69, in __next__
    return step()
  File "/usr/lib/python3/dist-packages/mailman/app/subscriptions.py", line 544, in _step_do_unsubscription
    delete_member(self.mlist, self.address.email)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/app/membership.py", line 142, in delete_member
    send_goodbye_message(mlist, email, language)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/app/notifications.py", line 119, in send_goodbye_message
    goodbye_message = wrap(expand(getUtility(ITemplateLoader).get(
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        'list:user:notice:goodbye', mlist, language=language.code),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/model/template.py", line 211, in get
    path, fp = find(default_uri, mlist, code)
               ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 157, in find
    for search_path in raw_search_order:
                       ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 117, in search
    templates_dir = str(resources.enter_context(
                        ~~~~~~~~~~~~~~~~~~~~~~~^
        files('mailman').joinpath('templates')))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/contextlib.py", line 528, in enter_context
    raise TypeError(f"'{cls.__module__}.{cls.__qualname__}' object does "
                    f"not support the context manager protocol") from None
TypeError: 'pathlib._local.PosixPath' object does not support the context manager protocol



-- System Information:
Debian Release: trixie/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.8-cloud-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mailman3 depends on:
ii  cron [cron-daemon]          3.0pl1-189
ii  dbconfig-sqlite3            2.0.24
ii  debconf [debconf-2.0]       1.5.89
ii  init-system-helpers         1.68
ii  logrotate                   3.22.0-1
ii  python3                     3.13.1-2
ii  python3-aiosmtpd            1.4.6-3
ii  python3-alembic             1.13.2-4
ii  python3-authheaders         0.16.3-1
ii  python3-authres             1.2.0-3
ii  python3-click               8.1.8-1
ii  python3-dateutil            2.9.0-3
ii  python3-dnspython           2.7.0-1
ii  python3-falcon              3.1.1-5
ii  python3-flufl.bounce        4.0-4
ii  python3-flufl.i18n          5.0.2-2
ii  python3-flufl.lock          8.1.0-2
ii  python3-gunicorn            23.0.0-1
ii  python3-lazr.config         3.0-1
ii  python3-passlib             1.7.4-4
ii  python3-psycopg2            2.9.10-1
ii  python3-public              4.1.0-2
ii  python3-requests            2.32.3+dfsg-1
ii  python3-sqlalchemy          2.0.32+ds1-1
ii  python3-zope.component      6.0-1
ii  python3-zope.configuration  6.0-1
ii  python3-zope.event          5.0-0.1
ii  python3-zope.interface      7.2-1
ii  ucf                         3.0046

Versions of packages mailman3 recommends:
ii  exim4-daemon-heavy [mail-transport-agent]  4.98-3

Versions of packages mailman3 suggests:
pn  anacron             <none>
ii  lynx [www-browser]  2.9.2-1
pn  mailman3-doc        <none>
ii  postgresql          17+267

-- debconf information:
  mailman3/pgsql/no-empty-passwords:
  mailman3/dbconfig-remove: true
  mailman3/install-error: abort
  mailman3/remote/host: localhost
  mailman3/purge: false
  mailman3/db/basepath:
  mailman3/passwords-do-not-match:
  mailman3/upgrade-backup: true
  mailman3/dbconfig-reinstall: false
  mailman3/pgsql/authmethod-user: password
  mailman3/dbconfig-upgrade: true
  mailman3/mysql/method: Unix socket
  mailman3/pgsql/admin-user: postgres
  mailman3/pgsql/manualconf:
  mailman3/database-type: pgsql
  mailman3/pgsql/changeconf: false
  mailman3/upgrade-error: abort
  mailman3/internal/skip-preseed: false
  mailman3/remote/port:
  mailman3/pgsql/method: TCP/IP
  mailman3/pgsql/authmethod-admin: ident
  mailman3/config_hyperkitty:
  mailman3/remove-error: abort
* mailman3/dbconfig-install: false
  mailman3/db/dbname: mailman3
  mailman3/db/app-user: mailman3 at localhost
  mailman3/missing-db-package-error: abort
  mailman3/init_service_failed:
  mailman3/mysql/authplugin: default
  mailman3/mysql/admin-user:
  mailman3/internal/reconfiguring: false
  mailman3/remote/newhost:



More information about the Pkg-mailman-hackers mailing list