Opened 2 months ago

Closed 2 months ago

Last modified 2 months ago

#35773 closed Bug (invalid)

Error importing HeaderWriteError from email.errors after upgrading to Django 4.2.16

Reported by: Muzaffar Omer Owned by:
Component: Core (Mail) Version: 4.2
Severity: Normal Keywords: HeaderWriteError
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Hello,

Recently, we upgraded to Django 4.2.16. One of the servers crashed with the below error:

gunicorn[1014232]: [18/Sep/2024 10:58:11][common.services.pandora_service._user_access_token:187][Root=1-66ea9623-5aee4eae0266bcd41a3a1159][DEBUG] Token retrieved in : 9.248 ms
gunicorn[1182738]: [2024-09-18 08:58:11 +0000] [1182738] [ERROR] Exception in worker process
gunicorn[1182738]: Traceback (most recent call last):
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
gunicorn[1182738]:     worker.init_process()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 147, in init_process
gunicorn[1182738]:     super().init_process()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/workers/base.py", line 134, in init_process
gunicorn[1182738]:     self.load_wsgi()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
gunicorn[1182738]:     self.wsgi = self.app.wsgi()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
gunicorn[1182738]:     self.callable = self.load()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
gunicorn[1182738]:     return self.load_wsgiapp()
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
gunicorn[1182738]:     return util.import_app(self.app_uri)
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/gunicorn/util.py", line 371, in import_app
gunicorn[1182738]:     mod = importlib.import_module(module)
gunicorn[1182738]:   File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
gunicorn[1182738]:     return _bootstrap._gcd_import(name[level:], package, level)
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
gunicorn[1182738]:   File "<frozen importlib._bootstrap_external>", line 848, in exec_module
gunicorn[1182738]:   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
gunicorn[1182738]:   File "/opt/cloud/current/pix4uav/pix4d/__init__.py", line 3, in <module>
gunicorn[1182738]:     from .celery import app as celery_app  # noqa
gunicorn[1182738]:   File "/opt/cloud/current/pix4uav/pix4d/celery.py", line 16, in <module>
gunicorn[1182738]:     from .settings.sentry import before_send
gunicorn[1182738]:   File "/opt/cloud/current/pix4uav/pix4d/settings/sentry.py", line 5, in <module>
gunicorn[1182738]:     from sentry_sdk.integrations.django import DjangoIntegration
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/sentry_sdk/integrations/django/__init__.py", line 61, in <module>
gunicorn[1182738]:     from sentry_sdk.integrations.django.middleware import patch_django_middlewares
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/sentry_sdk/integrations/django/middleware.py", line 38, in <module>
gunicorn[1182738]:     from .asgi import _asgi_middleware_mixin_factory
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/sentry_sdk/integrations/django/asgi.py", line 13, in <module>
gunicorn[1182738]:     from django.core.handlers.wsgi import WSGIRequest
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/django/core/handlers/wsgi.py", line 5, in <module>
gunicorn[1182738]:     from django.core.handlers import base
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 12, in <module>
gunicorn[1182738]:     from django.utils.log import log_response
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/django/utils/log.py", line 6, in <module>
gunicorn[1182738]:     from django.core import mail
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/django/core/mail/__init__.py", line 10, in <module>
gunicorn[1182738]:     from django.core.mail.message import (
gunicorn[1182738]:   File "/opt/cloud/releases/20240913T095509/.venv/lib/python3.8/site-packages/django/core/mail/message.py", line 4, in <module>
gunicorn[1182738]:     from email import generator, message_from_string
gunicorn[1182738]:   File "/usr/lib/python3.8/email/generator.py", line 17, in <module>
gunicorn[1182738]:     from email.errors import HeaderWriteError
gunicorn[1182738]: ImportError: cannot import name 'HeaderWriteError' from 'email.errors' (/usr/lib/python3.8/email/errors.py)
gunicorn[1182738]: [2024-09-18 08:58:11 +0000] [1182738] [INFO] Worker exiting (pid: 1182738)
gunicorn[1014225]: [2024-09-18 08:58:11 +0000] [1014225] [ERROR] Worker (pid:1182738) exited with code 3
gunicorn[1014228]: [2024-09-18 10:58:12 +0200] [1014228] [INFO] Worker exiting (pid: 1014228)
gunicorn[1014235]: [2024-09-18 10:58:12 +0200] [1014235] [INFO] Worker exiting (pid: 1014235)
gunicorn[1014232]: [2024-09-18 10:58:12 +0200] [1014232] [INFO] Worker exiting (pid: 1014232)
gunicorn[1014229]: [2024-09-18 10:58:12 +0200] [1014229] [INFO] Worker exiting (pid: 1014229)
gunicorn[1014225]: [2024-09-18 08:58:17 +0000] [1014225] [ERROR] Shutting down: Master
gunicorn[1014225]: [2024-09-18 08:58:17 +0000] [1014225] [ERROR] Reason: Worker failed to boot.
systemd[1]: gunicorn.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED
systemd[1]: gunicorn.service: Failed with result 'exit-code'.

The error seems related to https://github.com/python/cpython/issues/124170 and https://github.com/django/django/commit/bf4888d317ba4506d091eeac6e8b4f1fcc731199.

Below are the versions we use:

  • Django: 4.2.16
  • Python: 3.8.10
  • Gunicorn: 22.0.0

Thank you!

Change History (2)

comment:1 by Tim Graham, 2 months ago

Resolution: invalid
Status: newclosed

This isn't a support channel. Please use this ticket tracker for reporting bugs in Django. The stacktrace does not suggest Django is at fault, and I don't see how the Django commit you referenced could be relevant.

comment:2 by Muzaffar Omer, 2 months ago

Thank you for the quick response. And sorry if it's the wrong place to report the issue.

Note: See TracTickets for help on using tickets.
Back to Top