Search results for query "sapiro"
- 6105 messages
[MM3-users] Re: signup / registration error - permissions and cert chains
by David Newman
On 12/31/21 4:56 PM, Mark Sapiro wrote:
> On 12/30/21 4:48 PM, David Newman wrote:
>>
>> The etc/mailman3/settings.py file includes these settings:
>>
>> EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
>> EMAIL_HOST = 'localhost'
>> EMAIL_PORT = 25
>
> These 2 (localhost and port 25) are defaults.
>
>
>> EMAIL_HOST_USER = 'dnewman(a)networktest.com'
>> EMAIL_HOST_PASSWORD = 'wouldnt-you-like-to-know'
>
> Why are you authenticating? This should not be necessary.
>
>
>> EMAIL_USE_TLS = 'True'
>> EMAIL_SSL_CERTFILE = '/etc/ssl/certs/myhost.crt'
>> EMAIL_SSL_KEYFILE = '/etc/ssl/private/myhost.key'
>
> And why are you trying to use TLS? This is only for SMTP between Django
> and the MTA on the loopback port. TLS is overkill.
After stripping this down to the defaults:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
and restarting mailman3 (necessary?) and mailmanweb, the system emails
me (as alias for root) an error like the one pasted below after I try
creating a new user account.
After changing EMAIL_HOST to the system's canonical FQDN and again
restarting mailman3 and mailmanweb, the error is the same, and still
from postorius@localhost.
Also, FWIW, the user is created and is visible in the Django admin
panel, but any login attempt produces the same error as the one pasted
below.
The hostname settings in postfix's main.cf are as follows:
# hostname
myhostname = mail9.networktest.com
myorigin = /etc/mailname
mydomain = networktest.com
Here is the error, sanitized with 'dom1.tld' and 'dom2.tld' addresses.
Thanks in advance for additional troubleshooting clues.
Internal Server Error: /accounts/signup/
SMTPRecipientsRefused at /accounts/signup/
{'newuser(a)dom1.tld': (504, b'5.5.2 <postorius@localhost>: Sender address
rejected: need fully-qualified address')}
Request Method: POST
Request URL: http://mail.dom2.tld/accounts/signup/
Django Version: 3.0.14
Python Executable: /opt/mailman/venv/bin/uwsgi
Python Version: 3.9.2
Python Path: ['.', '', '/etc/mailman3', '/usr/lib/python39.zip',
'/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload',
'/opt/mailman/venv/lib/python3.9/site-packages']
Server time: Fri, 31 Dec 2021 17:30:30 -0800
Installed Applications:
['hyperkitty',
'postorius',
'django_mailman3',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'django_gravatar',
'compressor',
'haystack',
'django_extensions',
'django_q',
'allauth',
'allauth.account',
'allauth.socialaccount']
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/handlers/exception.py",
line 34, in inner
response = get_response(request)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/handlers/base.py",
line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/handlers/base.py",
line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/views/generic/base.py",
line 71, in view
return self.dispatch(request, *args, **kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/utils/decorators.py",
line 43, in _wrapper
return bound_method(*args, **kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/views/decorators/debug.py",
line 76, in sensitive_post_parameters_wrapper
return view(request, *args, **kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/views.py", line
230, in dispatch
return super(SignupView, self).dispatch(request, *args, **kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/views.py", line
74, in dispatch
response = super(RedirectAuthenticatedUserMixin, self).dispatch(
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/views.py", line
204, in dispatch
return super(CloseableSignupMixin, self).dispatch(request, *args,
**kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/views/generic/base.py",
line 97, in dispatch
return handler(request, *args, **kwargs)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/views.py", line
102, in post
response = self.form_valid(form)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/views.py", line
248, in form_valid
return complete_signup(
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/utils.py", line
209, in complete_signup
return perform_login(
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/utils.py", line
175, in perform_login
send_email_confirmation(request, user, signup=signup, email=email)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/utils.py", line
346, in send_email_confirmation
email_address.send_confirmation(request, signup=signup)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/models.py",
line 62, in send_confirmation
confirmation.send(request, signup=signup)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/models.py",
line 169, in send
get_adapter(request).send_confirmation_mail(request, self, signup)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/adapter.py",
line 464, in send_confirmation_mail
self.send_mail(email_template,
emailconfirmation.email_address.email, ctx)
File
"/opt/mailman/venv/lib/python3.9/site-packages/allauth/account/adapter.py",
line 136, in send_mail
msg.send()
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/mail/message.py",
line 284, in send
return self.get_connection(fail_silently).send_messages([self])
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/mail/backends/smtp.py",
line 109, in send_messages
sent = self._send(message)
File
"/opt/mailman/venv/lib/python3.9/site-packages/django/core/mail/backends/smtp.py",
line 125, in _send
self.connection.sendmail(from_email, recipients,
message.as_bytes(linesep='\r\n'))
File "/usr/lib/python3.9/smtplib.py", line 885, in sendmail
raise SMTPRecipientsRefused(senderrs)
Exception Type: SMTPRecipientsRefused at /accounts/signup/
Exception Value: {'newuser(a)dom1.tld': (504, b'5.5.2
<postorius@localhost>: Sender address rejected: need fully-qualified
address')}
Request information:
USER: AnonymousUser
GET: No GET data
POST:
csrfmiddlewaretoken =
'Nk6NjFAaf4bWPOWUZJzrKcTHvIHIXVjSdTb79KeRoM9LpRqK9ljKhXWdWKbfAwMf'
email = 'newuser(a)dom1.tld'
username = 'newuser(a)dom1.tld'
password1 = '********************'
password2 = '********************'
next = '/accounts/login/'
FILES: No FILES data
COOKIES:
roundcube_sessid = 'epth5c1jhmbjrfquire5p9chd9'
csrftoken =
'uRqeKMsMSoItwOWLTRXT7dEwGoN0cCy2UqvyAR6t16Gi6RqB3tHcEYH27qhxPd1p'
META:
CONTENT_LENGTH = '217'
CONTENT_TYPE = 'application/x-www-form-urlencoded'
CSRF_COOKIE =
'uRqeKMsMSoItwOWLTRXT7dEwGoN0cCy2UqvyAR6t16Gi6RqB3tHcEYH27qhxPd1p'
HTTP_ACCEPT =
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.9'
HTTP_CACHE_CONTROL = 'max-age=0'
HTTP_CONNECTION = 'close'
HTTP_COOKIE = 'roundcube_sessid=epth5c1jhmbjrfquire5p9chd9;
csrftoken=uRqeKMsMSoItwOWLTRXT7dEwGoN0cCy2UqvyAR6t16Gi6RqB3tHcEYH27qhxPd1p'
HTTP_DNT = '1'
HTTP_HOST = 'mail.dom2.tld'
HTTP_ORIGIN = 'https://mail.dom2.tld'
HTTP_REFERER = 'https://mail.dom2.tld/'
HTTP_SEC_FETCH_DEST = 'document'
HTTP_SEC_FETCH_MODE = 'navigate'
HTTP_SEC_FETCH_SITE = 'same-origin'
HTTP_SEC_FETCH_USER = '?1'
HTTP_SEC_GPC = '1'
HTTP_UPGRADE_INSECURE_REQUESTS = '1'
HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
HTTP_X_FORWARDED_FOR = '75.82.86.131'
PATH_INFO = '/accounts/signup/'
QUERY_STRING = ''
REMOTE_ADDR = '127.0.0.1'
REQUEST_METHOD = 'POST'
REQUEST_URI = '/accounts/signup/'
SCRIPT_NAME = ''
SERVER_NAME = 'mail9'
SERVER_PORT = '8000'
SERVER_PROTOCOL = 'HTTP/1.0'
uwsgi.core = 1
uwsgi.node = b'mail9'
uwsgi.version = b'2.0.20'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7fb27a13a3b0>
wsgi.multiprocess = True
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'http'
wsgi.version = '(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES = {}
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'http'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_UNIQUE_EMAIL = True
ADMINS = "(('Mailman Suite Admin', 'hostmaster(a)networktest.com'),)"
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '162.251.233.247',
'mail9.networktest.com', 'lists.networktest.com', 'lists.dom1.tld',
'mail.dom2.tld']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = PosixPath('/opt/mailman/web')
CACHES = {'default': {'BACKEND':
'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
COMPRESSORS = {'css': 'compressor.css.CssCompressor', 'js':
'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS = '()'
COMPRESS_CACHE_BACKEND = 'default'
COMPRESS_CACHE_KEY_FUNCTION = '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS = ''
COMPRESS_CLEAN_CSS_BINARY = 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS = ''
COMPRESS_CLOSURE_COMPILER_BINARY = 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD = 'mtime'
COMPRESS_DATA_URI_MAX_SIZE = 1024
COMPRESS_DEBUG_TOGGLE = None
COMPRESS_ENABLED = True
COMPRESS_FILTERS = {'css':
['compressor.filters.css_default.CssAbsoluteFilter',
'compressor.filters.cssmin.rCSSMinFilter'], 'js':
['compressor.filters.jsmin.rJSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT = <function
CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7fb27d6eb550>
COMPRESS_MINT_DELAY = 30
COMPRESS_MTIME_DELAY = 10
COMPRESS_OFFLINE = True
COMPRESS_OFFLINE_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST = 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT = 31536000
COMPRESS_OUTPUT_DIR = 'CACHE'
COMPRESS_PARSER = 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS = "(('text/x-scss', 'sassc -t compressed {infile}
{outfile}'), ('text/x-sass', 'sassc -t compressed {infile} {outfile}'))"
COMPRESS_REBUILD_TIMEOUT = 2592000
COMPRESS_ROOT = '/opt/mailman/web/static'
COMPRESS_STORAGE = 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_URL = '/static/'
COMPRESS_URL_PLACEHOLDER = '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE = False
COMPRESS_YUGLIFY_BINARY = 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS = '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS = '--terminal'
COMPRESS_YUI_BINARY = 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS = ''
COMPRESS_YUI_JS_ARGUMENTS = ''
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME':
'mailmanweb', 'USER': 'mailman', 'PASSWORD': '********************',
'HOST': 'localhost', 'PORT': '', 'OPTIONS': {'charset': 'utf8mb4'},
'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0,
'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME':
None, 'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y
%H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y',
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B
%Y', '%d %B, %Y']
DEBUG = False
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_EXCEPTION_REPORTER_FILTER =
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'postorius@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'mail9.networktest.com'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS =
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = 420
FILE_UPLOAD_TEMP_DIR = None
FILTER_VHOST = True
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS = {'default': {'ENGINE':
'haystack.backends.whoosh_backend.WhooshEngine', 'PATH':
'/opt/mailman/web/fulltext_index'}}
HYPERKITTY_ENABLE_GRAVATAR = True
IGNORABLE_404_URLS = []
INSTALLED_APPS = ['hyperkitty', 'postorius', 'django_mailman3',
'django.contrib.admin', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.sites', 'django.contrib.messages',
'django.contrib.staticfiles', 'rest_framework', 'django_gravatar',
'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth',
'allauth.account', 'allauth.socialaccount']
INTERNAL_IPS = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'),
('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn',
'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'),
('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'),
('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au',
'Australian English'), ('en-gb', 'British English'), ('eo',
'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni',
'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et',
'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'),
('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish
Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr',
'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy',
'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'),
('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka',
'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'),
('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt',
'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml',
'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'),
('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn',
'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl',
'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl',
'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn',
'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'),
('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'),
('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'),
('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant',
'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_HTTPONLY = False
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LANGUAGE_COOKIE_SAMESITE = None
LANGUAGE_COOKIE_SECURE = False
LOCALE_PATHS = []
LOGGING = {'version': 1, 'disable_existing_loggers': False, 'filters':
{'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}},
'handlers': {'mail_admins': {'level': 'ERROR', 'filters':
['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler'},
'file': {'level': 'INFO', 'class':
'logging.handlers.WatchedFileHandler', 'filename':
'/opt/mailman/web/logs/mailmanweb.log', 'formatter': 'verbose'},
'console': {'class': 'logging.StreamHandler', 'formatter': 'simple'}},
'loggers': {'django.request': {'handlers': ['mail_admins', 'file'],
'level': 'ERROR', 'propagate': True}, 'django': {'handlers': ['file'],
'level': 'ERROR', 'propagate': True}, 'hyperkitty': {'handlers':
['file'], 'level': 'DEBUG', 'propagate': True}, 'postorius':
{'handlers': ['console', 'file'], 'level': 'INFO'}}, 'formatters':
{'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s
%(message)s'}, 'simple': {'format': '%(levelname)s %(message)s'}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = 'list_index'
LOGIN_URL = 'account_login'
LOGOUT_REDIRECT_URL = None
LOGOUT_URL = 'account_logout'
MAILMAN_ARCHIVER_FROM = "('127.0.0.1', '::1')"
MAILMAN_ARCHIVER_KEY = '********************'
MAILMAN_REST_API_PASS = '********************'
MAILMAN_REST_API_URL = '********************'
MAILMAN_REST_API_USER = '********************'
MANAGERS = []
MEDIA_ROOT = ''
MEDIA_URL = ''
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
MIDDLEWARE = "('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')"
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost:8000'
PREPEND_WWW = False
Q_CLUSTER = {'retry': 360, 'timeout': 300, 'save_limit': 100, 'orm':
'default'}
ROOT_URLCONF = 'mailman_web.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_REFERRER_POLICY = None
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root(a)localhost.local'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE = 'settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_ID = 2
SOCIALACCOUNT_PROVIDERS = {'openid': {'SERVERS': [{'id': 'yahoo',
'name': 'Yahoo', 'openid_url': 'http://me.yahoo.com'}]}, 'google':
{'SCOPE': ['profile', 'email'], 'AUTH_PARAMS': {'access_type':
'online'}}, 'facebook': {'METHOD': 'oauth2', 'SCOPE': ['email'],
'FIELDS': ['email', 'name', 'first_name', 'last_name', 'locale',
'timezone'], 'VERSION': 'v2.4'}}
STATICFILES_DIRS = '()'
STATICFILES_FINDERS =
"('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE =
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/opt/mailman/web/static'
STATIC_URL = '/static/'
TEMPLATES = [{'BACKEND':
'django.template.backends.django.DjangoTemplates', 'DIRS': [],
'APP_DIRS': True, 'OPTIONS': {'context_processors':
['django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.template.context_processors.csrf',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django_mailman3.context_processors.common',
'hyperkitty.context_processors.common',
'postorius.context_processors.postorius']}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'America/Los_Angeles'
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'mailman_web.wsgi.application'
X_FRAME_OPTIONS = 'DENY'
YEAR_MONTH_FORMAT = 'F Y'
dn
>
>
>> But this might only be for email, not Postorius/Django.
>
>
> Actually it is only for mail from Django
>
>
4 years, 1 month
[MM3-users] Re: uncaught bounce messages
by Seth Seeger
On Sat, Oct 23, 2021, at 9:05 PM, Mark Sapiro wrote:
> On 10/23/21 5:29 PM, David Bremner wrote:
>>
>> Oh great, I just upgraded to Mailman 3.3.0, so I'll see what happens.
>>
>> I did notice a bunch (10 or 20?) of subscribers being disabled for being
>> over the bounce threshhold right after the upgrade, I wonder if that is
>> related.
>
>
> See the thread at
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…
>
> There is an example `mailman shell` session at
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
> that will reenable delivery for members disabled by bounce if you think
> the disables were spurious.
I have just upgraded to 3.3.4 from 3.3.2 (via docker).
Do we need to do anything more than reset the delivery status? I am getting (seemingly) continual emails about bounces. I keep running the recipe in the link which resets everyone's delivery status. I've grep'd one member's address out of bounce.log (see below my signature).
Is it just catching up on old bounces?
Thanks,
Seth
Oct 26 14:30:03 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 1.
Oct 26 14:30:10 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:30:56 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 2.
Oct 26 14:30:59 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:31:10 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:32:31 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 1.
Oct 26 14:32:39 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 2.
Oct 26 14:32:46 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:33:04 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 3.
Oct 26 14:33:49 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 4.
Oct 26 14:33:52 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:33:55 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:33:58 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:34:01 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:34:35 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 5.
Oct 26 14:34:35 2021 (37) Disabling delivery for max(a)example.com on list listname.lists.example.net by bounce
Oct 26 14:34:35 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score 5 >= threshold 5, disabling delivery.
Oct 26 14:34:39 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:35:06 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:35:09 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:35:18 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:35:20 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:36:01 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:19 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:27 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:33 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:36 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:40 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:42 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:44 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:47 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:49 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:51 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:37:58 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:38:01 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:38:14 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:38:15 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:38:18 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:40:38 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 1.
Oct 26 14:40:51 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 2.
Oct 26 14:41:02 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 3.
Oct 26 14:41:10 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 14:41:40 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 4.
Oct 26 14:41:43 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 5.
Oct 26 14:41:43 2021 (37) Disabling delivery for max(a)example.com on list listname.lists.example.net by bounce
Oct 26 14:41:43 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score 5 >= threshold 5, disabling delivery.
Oct 26 14:41:48 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:41:52 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:41:54 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:41:57 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:41:59 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:12 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:17 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:24 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:45 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:47 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:50 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:53 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:42:55 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:43:05 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 6.
Oct 26 14:43:05 2021 (37) Disabling delivery for max(a)example.com on list listname.lists.example.net by bounce
Oct 26 14:43:05 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score 6 >= threshold 5, disabling delivery.
Oct 26 14:43:17 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:43:19 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:43:22 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:43:25 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:43:31 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:44:57 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:41 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:44 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:47 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:52 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:58 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:45:59 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:04 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:09 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:15 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:19 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:23 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:27 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:33 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:36 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:39 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:42 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:44 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:48 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:49 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:53 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:56 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:46:57 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:00 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:01 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:05 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:08 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:10 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:13 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:15 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:18 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:22 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:24 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:27 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:28 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:31 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:33 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:35 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:38 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:40 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:42 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:45 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:46 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:49 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:51 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:54 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:47:57 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:03 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:04 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:06 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:08 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:14 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:16 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:19 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:24 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:27 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:29 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:32 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:48:34 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:49:07 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:49:33 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:16 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:18 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:20 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:23 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:27 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:30 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:36 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:41 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:47 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:50:49 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 14:51:00 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 15:04:36 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 1.
Oct 26 15:04:39 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:04:41 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:04:43 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:04:54 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 2.
Oct 26 15:04:57 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:05:59 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:06:02 2021 (37) Member max(a)example.com already scored a bounce on list listname.lists.example.net today.
Oct 26 15:10:00 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 3.
Oct 26 15:11:51 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 4.
Oct 26 15:12:30 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score = 5.
Oct 26 15:12:30 2021 (37) Disabling delivery for max(a)example.com on list listname.lists.example.net by bounce
Oct 26 15:12:30 2021 (37) Member max(a)example.com on list listname.lists.example.net, bounce score 5 >= threshold 5, disabling delivery.
Oct 26 15:12:45 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 15:12:52 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
Oct 26 15:14:36 2021 (37) Residual bounce received for member max(a)example.com on list listname.lists.example.net.
4 years, 3 months
[MM3-users] Re: using SSH/TLS with external MTA
by Roland Giesler
On 2024/07/28 00:39, Mark Sapiro wrote:
> On 7/27/24 15:16, Roland Giesler via Mailman-users wrote:
>>
>> The server runs power-mailinabox, which uses Postfix indeed. All my
>> mail, and quite a few others' mail is sent from the using SMTP-Auth
>> on port 465. Actually, this message is sent via that server too. So
>> it's clear to me that MM3 is not authenticating for some reason.
>
> What do you see in Mailman's smtp.log and in the mail.log on the mail
> server?
The smtp log is in syslog...
Jul 28 12:48:19 mailman postfix/smtpd[63855]: connect from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63855]: NOQUEUE: reject: RCPT from
localhost[::1]: 454 4.7.1 <roland(a)giesler.za.net>: Relay access denied;
from=<postorius(a)giesler.za.net> to=<roland(a)giesler.za.net> proto=ESMTP
helo=<mailman.fast.za.net>
Jul 28 12:48:19 mailman postfix/smtpd[63769]: lost connection after RSET
from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from
localhost[::1] ehlo=1 mail=1 rcpt=0/1 rset=1 commands=3/4
Jul 28 12:48:19 mailman postfix/smtpd[63769]: connect from localhost[::1]
Jul 28 12:48:19 mailman postfix/smtpd[63769]: 4D0DE120A5B:
client=localhost[::1]
Jul 28 12:48:19 mailman postfix/cleanup[63291]: 4D0DE120A5B:
message-id=<172217089931.2150.9004701361968608890(a)mailman.fast.za.net>
Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B:
from=<root(a)giesler.za.net>, size=21782, nrcpt=1 (queue active)
Jul 28 12:48:19 mailman postfix/smtpd[63769]: disconnect from
localhost[::1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jul 28 12:48:19 mailman postfix/local[63575]: 4D0DE120A5B:
to=<root@localhost>, relay=local, delay=0.01, delays=0.01/0/0/0,
dsn=2.0.0, status=sent (delivered to mailbox)
Jul 28 12:48:19 mailman postfix/qmgr[330]: 4D0DE120A5B: removed
I think I see what's going on here. The mail is being sent from
postorius(a)giesler.za.net and there is no log entry on
box2.gtahardware.co.za that shows this logon attempt. So it seems it's
not going to that server, but rather to the local postfix.
A mail was sent to root on the localhost with the following content:
Return-Path: <root(a)giesler.za.net>
X-Original-To: root@localhost
Delivered-To: root@localhost
Received: from mailman.fast.za.net (localhost [IPv6:::1])
by mailman.localdomain (Postfix) with ESMTP id 2174A120A5B
for <root@localhost>; Sun, 28 Jul 2024 13:11:03 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error:
/accounts/login/
From: root(a)giesler.za.net
To: root@localhost
Date: Sun, 28 Jul 2024 13:11:03 -0000
Message-ID: <172217226313.2150.10895652368679013629(a)mailman.fast.za.net>
Internal Server Error: /accounts/login/
SMTPRecipientsRefused at /accounts/login/
{'roland(a)giesler.za.net': (454, b'4.7.1 <roland(a)giesler.za.net>: Relay acce=
ss denied')}
Request Method: POST
Request URL: http://192.168.161.103/accounts/login/
Django Version: 3.2.12
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.10.12
Python Path: ['.', '', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/u=
sr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', =
'/usr/lib/python3/dist-packages', '/usr/lib/python3.10/dist-packages']
Server time: Sun, 28 Jul 2024 15:11:03 +0200
Installed Applications:
('hyperkitty',
'postorius',
'django_mailman3',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'django_gravatar',
'compressor',
'haystack',
'django_extensions',
'django_q',
'allauth',
'allauth.account',
'allauth.socialaccount',
'django_mailman3.lib.auth.fedora')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')
Traceback (most recent call last):
File
"/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line
47, in inner
response =3D get_response(request)
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py",
line 181, in _get_response
response =3D wrapped_callback(request, *callback_args,
**callback_kwargs)
File "/usr/lib/python3/dist-packages/django/views/generic/base.py",
line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/django/utils/decorators.py",
line 43, in _wrapper
return bound_method(*args, **kwargs)
File
"/usr/lib/python3/dist-packages/django/views/decorators/debug.py", line
89, in sensitive_post_parameters_wrapper
return view(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
146, in dispatch
return super(LoginView, self).dispatch(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
74, in dispatch
response =3D super(RedirectAuthenticatedUserMixin, self).dispatch(
File "/usr/lib/python3/dist-packages/django/views/generic/base.py",
line 98, in dispatch
return handler(request, *args, **kwargs)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
102, in post
response =3D self.form_valid(form)
File "/usr/lib/python3/dist-packages/allauth/account/views.py", line
159, in form_valid
return form.login(self.request, redirect_url=3Dsuccess_url)
File "/usr/lib/python3/dist-packages/allauth/account/forms.py", line
196, in login
ret =3D perform_login(
File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line
175, in perform_login
send_email_confirmation(request, user, signup=3Dsignup, email=3Demail)
File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line
346, in send_email_confirmation
email_address.send_confirmation(request, signup=3Dsignup)
File "/usr/lib/python3/dist-packages/allauth/account/models.py", line
62, in send_confirmation
confirmation.send(request, signup=3Dsignup)
File "/usr/lib/python3/dist-packages/allauth/account/models.py", line
169, in send
get_adapter(request).send_confirmation_mail(request, self, signup)
File "/usr/lib/python3/dist-packages/allauth/account/adapter.py",
line 464, in send_confirmation_mail
self.send_mail(email_template,
emailconfirmation.email_address.email, ctx)
File "/usr/lib/python3/dist-packages/allauth/account/adapter.py",
line 136, in send_mail
msg.send()
File "/usr/lib/python3/dist-packages/django/core/mail/message.py",
line 284, in send
return self.get_connection(fail_silently).send_messages([self])
File
"/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line
109, in send_messages
sent =3D self._send(message)
File
"/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line
125, in _send
self.connection.sendmail(from_email, recipients,
message.as_bytes(linesep=3D'\r\n'))
File "/usr/lib/python3.10/smtplib.py", line 901, in sendmail
raise SMTPRecipientsRefused(senderrs)
Exception Type: SMTPRecipientsRefused at /accounts/login/
Exception Value: {'roland(a)giesler.za.net': (454, b'4.7.1
<roland(a)giesler.za.net>: Relay access denied')}
Request information:
USER: AnonymousUser
GET: No GET data
POST:
csrfmiddlewaretoken =3D
'41gp97hhfO2FhiEzOFLf1c5P3WLxk5TZvOgF0Qske6zI3EHtk8YK3w6wlEhLQAVS'
login =3D 'roland(a)giesler.za.net'
password =3D '********************'
next =3D '/postorius/lists/'
FILES: No FILES data
COOKIES:
csrftoken =3D
'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
META:
CONTENT_LENGTH =3D '164'
CONTENT_TYPE =3D 'application/x-www-form-urlencoded'
CSRF_COOKIE =3D
'aW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
DOCUMENT_ROOT =3D '/usr/share/nginx/html'
HTTP_ACCEPT =3D
'text/html,application/xhtml+xml,application/xml;q=3D0.9,image/avif,image/webp,image/apng,*/*;q=3D0.8'
HTTP_ACCEPT_ENCODING =3D 'gzip, deflate'
HTTP_ACCEPT_LANGUAGE =3D 'en-GB,en'
HTTP_CACHE_CONTROL =3D 'max-age=3D0'
HTTP_CONNECTION =3D 'keep-alive'
HTTP_CONTENT_LENGTH =3D '164'
HTTP_CONTENT_TYPE =3D 'application/x-www-form-urlencoded'
HTTP_COOKIE =3D
'csrftoken=3DaW8mw1heNIcuQ1YTMwnWMzi9DMaDFES6BJ8CnKshM0JxCn1NiZArOTjQVuGRb9UZ'
HTTP_HOST =3D '192.168.161.103'
HTTP_ORIGIN =3D 'http://192.168.161.103'
HTTP_REFERER =3D
'http://192.168.161.103/accounts/login/?next=3D/postorius/lists/'
HTTP_SEC_GPC =3D '1'
HTTP_UPGRADE_INSECURE_REQUESTS =3D '1'
HTTP_USER_AGENT =3D 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
PATH_INFO =3D '/accounts/login/'
QUERY_STRING =3D ''
REMOTE_ADDR =3D '192.168.131.150'
REMOTE_PORT =3D '60098'
REQUEST_METHOD =3D 'POST'
REQUEST_SCHEME =3D 'http'
REQUEST_URI =3D '/accounts/login/'
SCRIPT_NAME =3D ''
SERVER_NAME =3D ''
SERVER_PORT =3D '80'
SERVER_PROTOCOL =3D 'HTTP/1.1'
uwsgi.core =3D 1
uwsgi.node =3D b'mailman'
uwsgi.version =3D b'2.0.20-debian'
wsgi.errors =3D <_io.TextIOWrapper name=3D2 mode=3D'w'
encoding=3D'ANSI_X3.4-1968'>
wsgi.file_wrapper =3D <built-in function uwsgi_sendfile>
wsgi.input =3D <uwsgi._Input object at 0x7facb44bd530>
wsgi.multiprocess =3D False
wsgi.multithread =3D True
wsgi.run_once =3D False
wsgi.url_scheme =3D 'http'
wsgi.version =3D '(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES =3D {}
ACCOUNT_AUTHENTICATION_METHOD =3D 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL =3D 'https'
ACCOUNT_EMAIL_REQUIRED =3D True
ACCOUNT_EMAIL_VERIFICATION =3D 'mandatory'
ACCOUNT_UNIQUE_EMAIL =3D True
ADMINS =3D "(('Mailman Suite Admin', 'root@localhost'),)"
ALLOWED_HOSTS =3D ['*']
APPEND_SLASH =3D True
AUTHENTICATION_BACKENDS =3D
"('django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS =3D '********************'
AUTH_USER_MODEL =3D 'auth.User'
BASE_DIR =3D '/usr/share/mailman3-web'
CACHES =3D {'default': {'BACKEND':
'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS =3D 'default'
CACHE_MIDDLEWARE_KEY_PREFIX =3D '********************'
CACHE_MIDDLEWARE_SECONDS =3D 600
COMPRESSORS =3D {'css': 'compressor.css.CssCompressor', 'js':
'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS =3D '()'
COMPRESS_CACHE_BACKEND =3D 'default'
COMPRESS_CACHE_KEY_FUNCTION =3D '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS =3D ''
COMPRESS_CLEAN_CSS_BINARY =3D 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS =3D ''
COMPRESS_CLOSURE_COMPILER_BINARY =3D 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD =3D 'mtime'
COMPRESS_DATA_URI_MAX_SIZE =3D 1024
COMPRESS_DEBUG_TOGGLE =3D None
COMPRESS_ENABLED =3D True
COMPRESS_FILTERS =3D {'css':
['compressor.filters.css_default.CssAbsoluteFilter'], 'js':
['compressor.filters.jsmin.JSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT =3D <function
CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7facb6a52b00>
COMPRESS_MINT_DELAY =3D 30
COMPRESS_MTIME_DELAY =3D 10
COMPRESS_OFFLINE =3D True
COMPRESS_OFFLINE_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'}
COMPRESS_OFFLINE_MANIFEST =3D 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT =3D 31536000
COMPRESS_OUTPUT_DIR =3D 'CACHE'
COMPRESS_PARSER =3D 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS =3D '()'
COMPRESS_REBUILD_TIMEOUT =3D 2592000
COMPRESS_ROOT =3D '/var/lib/mailman3/web/static'
COMPRESS_STORAGE =3D 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT =3D {'STATIC_URL': '/mailman3/static/'}
COMPRESS_URL =3D '/mailman3/static/'
COMPRESS_URL_PLACEHOLDER =3D '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE =3D False
COMPRESS_YUGLIFY_BINARY =3D 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS =3D '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS =3D '--terminal'
COMPRESS_YUI_BINARY =3D 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS =3D ''
COMPRESS_YUI_JS_ARGUMENTS =3D ''
CSRF_COOKIE_AGE =3D 31449600
CSRF_COOKIE_DOMAIN =3D None
CSRF_COOKIE_HTTPONLY =3D False
CSRF_COOKIE_NAME =3D 'csrftoken'
CSRF_COOKIE_PATH =3D '/'
CSRF_COOKIE_SAMESITE =3D 'Lax'
CSRF_COOKIE_SECURE =3D False
CSRF_FAILURE_VIEW =3D 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME =3D 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS =3D []
CSRF_USE_SESSIONS =3D False
DATABASES =3D {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME':
'mailman3web', 'USER': 'mailman3web', 'PASSWORD':
'********************', 'HOST': 'localhost', 'PORT': '', 'OPTIONS':
{'init_command': "SET sql_mode=3D'STRICT_TRANS_TABLES'"},
'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0,
'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None,
'MIGRATE': True, 'MIRROR': None, 'NAME': None}}}
DATABASE_ROUTERS =3D []
DATA_UPLOAD_MAX_MEMORY_SIZE =3D 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS =3D 1000
DATA_UPLOAD_MAX_NUMBER_FILES =3D 100
DATETIME_FORMAT =3D 'N j, Y, P'
DATETIME_INPUT_FORMATS =3D ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y
%H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT =3D 'N j, Y'
DATE_INPUT_FORMATS =3D ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y',
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B
%Y', '%d %B, %Y']
DEBUG =3D False
DEBUG_PROPAGATE_EXCEPTIONS =3D False
DECIMAL_SEPARATOR =3D '.'
DEFAULT_AUTO_FIELD =3D 'django.db.models.AutoField'
DEFAULT_CHARSET =3D 'utf-8'
DEFAULT_EXCEPTION_REPORTER =3D 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER =3D
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE =3D 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL =3D 'postorius(a)giesler.za.net'
DEFAULT_HASHING_ALGORITHM =3D 'sha256'
DEFAULT_INDEX_TABLESPACE =3D ''
DEFAULT_TABLESPACE =3D ''
DISALLOWED_USER_AGENTS =3D []
EMAILNAME =3D 'giesler.za.net'
EMAIL_BACKEND =3D 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST =3D 'localhost'
EMAIL_HOST_PASSWORD =3D '********************'
EMAIL_HOST_USER =3D ''
EMAIL_PORT =3D 25
EMAIL_SSL_CERTFILE =3D None
EMAIL_SSL_KEYFILE =3D '********************'
EMAIL_SUBJECT_PREFIX =3D '[Django] '
EMAIL_TIMEOUT =3D None
EMAIL_USE_LOCALTIME =3D False
EMAIL_USE_SSL =3D False
EMAIL_USE_TLS =3D False
FILE_UPLOAD_DIRECTORY_PERMISSIONS =3D None
FILE_UPLOAD_HANDLERS =3D
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE =3D 2621440
FILE_UPLOAD_PERMISSIONS =3D 420
FILE_UPLOAD_TEMP_DIR =3D None
FILTER_VHOST =3D False
FIRST_DAY_OF_WEEK =3D 0
FIXTURE_DIRS =3D []
FORCE_SCRIPT_NAME =3D None
FORMAT_MODULE_PATH =3D None
FORM_RENDERER =3D 'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS =3D {'default': {'ENGINE':
'haystack.backends.whoosh_backend.WhooshEngine', 'PATH':
'/var/lib/mailman3/web/fulltext_index'}}
HOSTNAME =3D 'localhost.local'
IGNORABLE_404_URLS =3D []
INSTALLED_APPS =3D "('hyperkitty', 'postorius', 'django_mailman3',
'django.contrib.admin', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.sites', 'django.contrib.messages',
'django.contrib.staticfiles', 'rest_framework', 'django_gravatar',
'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth',
'allauth.account', 'allauth.socialaccount',
'django_mailman3.lib.auth.fedora')"
INTERNAL_IPS =3D []
LANGUAGES =3D [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz',
'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg',
'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'),
('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'),
('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el',
'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb',
'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar',
'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx',
'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve',
'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa',
'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'),
('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he',
'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper
Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia',
'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'),
('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka',
'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'),
('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb',
'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk',
'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr',
'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokm=C3=A5l'), ('ne',
'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os',
'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru',
'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'),
('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'),
('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'),
('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'),
('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'),
('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant',
'Traditional Chinese')]
LANGUAGES_BIDI =3D ['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE =3D 'en-za'
LANGUAGE_COOKIE_AGE =3D None
LANGUAGE_COOKIE_DOMAIN =3D None
LANGUAGE_COOKIE_HTTPONLY =3D False
LANGUAGE_COOKIE_NAME =3D 'django_language'
LANGUAGE_COOKIE_PATH =3D '/'
LANGUAGE_COOKIE_SAMESITE =3D None
LANGUAGE_COOKIE_SECURE =3D False
LOCALE_PATHS =3D []
LOGGING =3D {'version': 1, 'disable_existing_loggers': False, 'filters':
{'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}},
'handlers': {'mail_admins': {'level': 'ERROR', 'filters':
['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler'},
'file': {'level': 'INFO', 'class':
'logging.handlers.RotatingFileHandler', 'filename':
'/var/log/mailman3/web/mailman-web.log', 'formatter': 'verbose'},
'console': {'class': 'logging.StreamHandler', 'formatter': 'simple'}},
'loggers': {'django.request': {'handlers': ['mail_admins', 'file'],
'level': 'INFO', 'propagate': True}, 'django': {'handlers': ['file'],
'level': 'INFO', 'propagate': True}, 'hyperkitty': {'handlers':
['file'], 'level': 'INFO', 'propagate': True}, 'postorius': {'handlers':
['file'], 'level': 'INFO', 'propagate': True}}, 'formatters':
{'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s
%(message)s'}, 'simple': {'format': '%(levelname)s %(message)s'}}}
LOGGING_CONFIG =3D 'logging.config.dictConfig'
LOGIN_REDIRECT_URL =3D 'list_index'
LOGIN_URL =3D 'account_login'
LOGOUT_REDIRECT_URL =3D None
LOGOUT_URL =3D 'account_logout'
MAILMAN_ARCHIVER_FROM =3D "('127.0.0.1', '::1')"
MAILMAN_ARCHIVER_KEY =3D '********************'
MAILMAN_REST_API_PASS =3D '********************'
MAILMAN_REST_API_URL =3D '********************'
MAILMAN_REST_API_USER =3D '********************'
MANAGERS =3D []
MEDIA_ROOT =3D ''
MEDIA_URL =3D '/'
MESSAGE_STORAGE =3D
'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS =3D {40: 'danger'}
MIDDLEWARE =3D "('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')"
MIGRATION_MODULES =3D {}
MONTH_DAY_FORMAT =3D 'F j'
NUMBER_GROUPING =3D 0
PASSWORD_HASHERS =3D '********************'
PASSWORD_RESET_TIMEOUT =3D '********************'
PASSWORD_RESET_TIMEOUT_DAYS =3D '********************'
POSTORIUS_TEMPLATE_BASE_URL =3D 'http://localhost/mailman3/'
PREPEND_WWW =3D False
Q_CLUSTER =3D {'timeout': 300, 'save_limit': 100, 'orm': 'default',
'poll': 5}
ROOT_URLCONF =3D 'urls'
SECRET_KEY =3D '********************'
SECURE_BROWSER_XSS_FILTER =3D False
SECURE_CONTENT_TYPE_NOSNIFF =3D True
SECURE_HSTS_INCLUDE_SUBDOMAINS =3D False
SECURE_HSTS_PRELOAD =3D False
SECURE_HSTS_SECONDS =3D 0
SECURE_PROXY_SSL_HEADER =3D None
SECURE_REDIRECT_EXEMPT =3D []
SECURE_REFERRER_POLICY =3D 'same-origin'
SECURE_SSL_HOST =3D None
SECURE_SSL_REDIRECT =3D False
SERVER_EMAIL =3D 'root(a)giesler.za.net'
SESSION_CACHE_ALIAS =3D 'default'
SESSION_COOKIE_AGE =3D 1209600
SESSION_COOKIE_DOMAIN =3D None
SESSION_COOKIE_HTTPONLY =3D True
SESSION_COOKIE_NAME =3D 'sessionid'
SESSION_COOKIE_PATH =3D '/'
SESSION_COOKIE_SAMESITE =3D 'Lax'
SESSION_COOKIE_SECURE =3D False
SESSION_ENGINE =3D 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE =3D False
SESSION_FILE_PATH =3D None
SESSION_SAVE_EVERY_REQUEST =3D False
SESSION_SERIALIZER =3D
'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE =3D 'settings'
SHORT_DATETIME_FORMAT =3D 'm/d/Y P'
SHORT_DATE_FORMAT =3D 'm/d/Y'
SIGNING_BACKEND =3D 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS =3D []
SITE_ID =3D 1
SOCIALACCOUNT_PROVIDERS =3D {}
STATICFILES_DIRS =3D '()'
STATICFILES_FINDERS =3D
"('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE =3D
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT =3D '/var/lib/mailman3/web/static'
STATIC_URL =3D '/mailman3/static/'
TEMPLATES =3D [{'BACKEND':
'django.template.backends.django.DjangoTemplates', 'DIRS': [],
'APP_DIRS': True, 'OPTIONS': {'context_processors':
['django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.template.context_processors.csrf',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django_mailman3.context_processors.common',
'hyperkitty.context_processors.common',
'postorius.context_processors.postorius']}}]
TEST_NON_SERIALIZED_APPS =3D []
TEST_RUNNER =3D 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR =3D ','
TIME_FORMAT =3D 'P'
TIME_INPUT_FORMATS =3D ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE =3D 'Africa/Johannesburg'
USE_I18N =3D True
USE_L10N =3D True
USE_THOUSAND_SEPARATOR =3D False
USE_TZ =3D True
USE_X_FORWARDED_HOST =3D True
USE_X_FORWARDED_PORT =3D False
WSGI_APPLICATION =3D 'wsgi.application'
X_FRAME_OPTIONS =3D 'DENY'
YEAR_MONTH_FORMAT =3D 'F Y'
1 year, 6 months
[MM3-users] Re: hyperkitty threads by month question
by Bryan Fields
Sorry for the delay, I was on some travel last week.
On 7/19/24 7:30 PM, Mark Sapiro wrote:
> That URL gives me as server error. What's in the Django (mailman-web)
> logs for that?
I did notice hitting a 500 error on occasion, sometimes it works.
When this happens, I get an email error below.
> Are you running all the Django periodic jobs and is qcluster running?
Ok, the docs said that qcluster service wasn't needed under uWSGI
https://docs.mailman3.org/en/latest/install/virtualenv.html#automatically-s…
qcluster does appear to be running:
218916 ? Sl 0:00 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
218929 ? Sl 0:00 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
3940851 ? Ss 0:00 /bin/sh -c /opt/mailman/venv/bin/mailman-web qcluster
3940854 ? S 0:01 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
3940856 ? S 117:32 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
3940860 ? S 0:28 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
3940861 ? Sl 3048:11 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/mailman-web qcluster
=== Email Error ===
Subject: [Django] ERROR (EXTERNAL IP): Internal Server Error: /archives/list/nanog(a)nanog-mm3.keekles.org/
Internal Server Error: /archives/list/nanog(a)nanog-mm3.keekles.org/
NoReverseMatch at /archives/list/nanog(a)nanog-mm3.keekles.org/
Reverse for 'hk_archives_with_month' with keyword arguments '{'year': 999, 'mlist_fqdn': 'nanog(a)nanog-mm3.keekles.org', 'month': 12}' not found. 2 pattern(s) tried: ['archives/list/(?P<mlist_fqdn>[^/@]+@[^/@]+)/(?P<year>\\d{4})/(?P<month>\\d\\d?)/$', 'hyperkitty/list/(?P<mlist_fqdn>[^/@]+@[^/@]+)/(?P<year>\\d{4})/(?P<month>\\d\\d?)/$']
Request Method: GET
Request URL: http://nanog-mm3.keekles.org/archives/list/nanog@nanog-mm3.keekles.org/
Django Version: 4.2.13
Python Executable: /opt/mailman/venv/bin/uwsgi
Python Version: 3.10.12
Python Path: ['.', '', '/etc/mailman3', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/opt/mailman/venv/lib/python3.10/site-packages']
Server time: Thu, 25 Jul 2024 18:16:17 +0000
Installed Applications:
['hyperkitty',
'postorius',
'django_mailman3',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'rest_framework',
'django_gravatar',
'compressor',
'haystack',
'django_extensions',
'django_q',
'allauth',
'allauth.account',
'allauth.socialaccount']
Installed Middleware:
('allauth.account.middleware.AccountMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')
Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/mailman/venv/lib/python3.10/site-packages/hyperkitty/lib/view_helpers.py", line 137, in inner
return func(request, *args, **kwargs)
File "/opt/mailman/venv/lib/python3.10/site-packages/hyperkitty/views/mlist.py", line 239, in overview
return render(request, "hyperkitty/overview.html", context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/shortcuts.py", line 24, in render
content = loader.render_to_string(template_name, context, request, using=using)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 175, in render
return self._render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render
return compiled_parent._render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render
result = block.nodelist.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/templatetags/cache.py", line 53, in render
value = self.nodelist.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 208, in render
return template.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 177, in render
return self._render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 167, in _render
return self.nodelist.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
return SafeString("".join([node.render_annotated(context) for node in self]))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/defaulttags.py", line 238, in render
nodelist.append(node.render_annotated(context))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/defaulttags.py", line 238, in render
nodelist.append(node.render_annotated(context))
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
return self.render(context)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/template/defaulttags.py", line 471, in render
url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/urls/base.py", line 88, in reverse
return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
File "/opt/mailman/venv/lib/python3.10/site-packages/django/urls/resolvers.py", line 828, in _reverse_with_prefix
raise NoReverseMatch(msg)
Exception Type: NoReverseMatch at /archives/list/nanog(a)nanog-mm3.keekles.org/
Exception Value: Reverse for 'hk_archives_with_month' with keyword arguments '{'year': 999, 'mlist_fqdn': 'nanog(a)nanog-mm3.keekles.org', 'month': 12}' not found. 2 pattern(s) tried: ['archives/list/(?P<mlist_fqdn>[^/@]+@[^/@]+)/(?P<year>\\d{4})/(?P<month>\\d\\d?)/$', 'hyperkitty/list/(?P<mlist_fqdn>[^/@]+@[^/@]+)/(?P<year>\\d{4})/(?P<month>\\d\\d?)/$']
Raised during: hyperkitty.views.mlist.overview
Request information:
USER: nanogadmin
GET: No GET data
POST: No POST data
FILES: No FILES data
COOKIES:
csrftoken = '********************'
sessionid = '********************'
META:
CSRF_COOKIE = '6F7ioB7blmJwLwKQLH0DPuAoWTW8mQGI'
HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.5'
HTTP_CONNECTION = 'Keep-Alive'
HTTP_COOKIE = '********************'
HTTP_HOST = 'nanog-mm3.keekles.org'
HTTP_SEC_FETCH_DEST = 'document'
HTTP_SEC_FETCH_MODE = 'navigate'
HTTP_SEC_FETCH_SITE = 'none'
HTTP_SEC_FETCH_USER = '?1'
HTTP_UPGRADE_INSECURE_REQUESTS = '1'
HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:109.0) Gecko/20100101 Firefox/115.0'
HTTP_X_FORWARDED_FOR = '47.206.239.202'
HTTP_X_FORWARDED_HOST = 'nanog-mm3.keekles.org'
HTTP_X_FORWARDED_SERVER = 'nanog-mm3.keekles.org'
PATH_INFO = '/archives/list/nanog(a)nanog-mm3.keekles.org/'
QUERY_STRING = ''
REMOTE_ADDR = '127.0.0.1'
REQUEST_METHOD = 'GET'
REQUEST_URI = '/archives/list/nanog(a)nanog-mm3.keekles.org/'
SCRIPT_NAME = ''
SERVER_NAME = 'nanog-mm3'
SERVER_PORT = '8000'
SERVER_PROTOCOL = 'HTTP/1.1'
uwsgi.core = 1
uwsgi.node = b'nanog-mm3'
uwsgi.version = b'2.0.26'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = <built-in function uwsgi_sendfile>
wsgi.input = <uwsgi._Input object at 0x7ff7bcd9f850>
wsgi.multiprocess = True
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'http'
wsgi.version = '(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES = {}
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_UNIQUE_EMAIL = True
ADMINS = "(('Mailman Suite Admin', 'root@localhost'), ('bryan fields', 'bryan(a)bryanfields.net'))"
ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'nanog-mm3.keekles.org']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = PosixPath('/opt/mailman/web')
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
COMPRESSORS = {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS = '()'
COMPRESS_CACHE_BACKEND = 'default'
COMPRESS_CACHE_KEY_FUNCTION = '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS = ''
COMPRESS_CLEAN_CSS_BINARY = 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS = ''
COMPRESS_CLOSURE_COMPILER_BINARY = 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD = 'mtime'
COMPRESS_DATA_URI_MAX_SIZE = 1024
COMPRESS_DEBUG_TOGGLE = None
COMPRESS_ENABLED = True
COMPRESS_FILTERS = {'css': ['compressor.filters.css_default.CssAbsoluteFilter', 'compressor.filters.cssmin.rCSSMinFilter'], 'js': ['compressor.filters.jsmin.rJSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT = <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7ff7bdb09750>
COMPRESS_MINT_DELAY = 30
COMPRESS_MTIME_DELAY = 10
COMPRESS_OFFLINE = True
COMPRESS_OFFLINE_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST = 'manifest.json'
COMPRESS_OFFLINE_MANIFEST_STORAGE = 'compressor.storage.OfflineManifestFileStorage'
COMPRESS_OFFLINE_TIMEOUT = 31536000
COMPRESS_OUTPUT_DIR = 'CACHE'
COMPRESS_PARSER = 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS = "(('text/x-scss', 'sassc -t compressed {infile} {outfile}'), ('text/x-sass', 'sassc -t compressed {infile} {outfile}'))"
COMPRESS_REBUILD_TIMEOUT = 2592000
COMPRESS_ROOT = '/opt/mailman/web/static'
COMPRESS_STORAGE = 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT = {'STATIC_URL': '/static/'}
COMPRESS_URL = '/static/'
COMPRESS_URL_PLACEHOLDER = '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE = False
COMPRESS_YUGLIFY_BINARY = 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS = '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS = '--terminal'
COMPRESS_YUI_BINARY = 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS = ''
COMPRESS_YUI_JS_ARGUMENTS = ''
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_MASKED = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = ['https://nanog-mm3.keekles.org']
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'mailmanweb', 'USER': 'mailman', 'PASSWORD': '********************', 'HOST': 'localhost', 'PORT': '5432', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'CONN_HEALTH_CHECKS': False, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATA_UPLOAD_MAX_NUMBER_FILES = 100
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = False
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_EXCEPTION_REPORTER = 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'admin(a)nanog-mm3.keekles.org'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = 420
FILE_UPLOAD_TEMP_DIR = None
FILTER_VHOST = False
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS = {'default': {'PATH': '/opt/mailman/web/xapian_index', 'ENGINE': 'xapian_backend.XapianEngine'}}
HYPERKITTY_ENABLE_GRAVATAR = True
IGNORABLE_404_URLS = []
INSTALLED_APPS = ['hyperkitty', 'postorius', 'django_mailman3', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'rest_framework', 'django_gravatar', 'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth', 'allauth.account', 'allauth.socialaccount']
INTERNAL_IPS = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('ckb', 'Central Kurdish (Sorani)'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('ms', 'Malay'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur']
LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_HTTPONLY = False
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LANGUAGE_COOKIE_SAMESITE = None
LANGUAGE_COOKIE_SECURE = False
LOCALE_PATHS = []
LOGGING = {'version': 1, 'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'mail_admins': {'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler'}, 'file': {'level': 'INFO', 'class': 'logging.handlers.WatchedFileHandler', 'filename': '/opt/mailman/web/logs/mailmanweb.log', 'formatter': 'verbose'}, 'console': {'class': 'logging.StreamHandler', 'formatter': 'simple'}}, 'loggers': {'django.request': {'handlers': ['mail_admins', 'file'], 'level': 'ERROR', 'propagate': True}, 'django': {'handlers': ['file'], 'level': 'ERROR', 'propagate': True}, 'hyperkitty': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True}, 'postorius': {'handlers': ['console', 'file'], 'level': 'INFO'}, 'q': {'level': 'WARNING', 'propagate': False, 'handlers': ['console', 'file']}}, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'}, 'simple': {'format': '%(levelname)s %(message)s'}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = 'list_index'
LOGIN_URL = 'account_login'
LOGOUT_REDIRECT_URL = None
LOGOUT_URL = 'account_logout'
MAILMAN_ARCHIVER_FROM = "('127.0.0.1', '::1')"
MAILMAN_ARCHIVER_KEY = '********************'
MAILMAN_REST_API_PASS = '********************'
MAILMAN_REST_API_URL = '********************'
MAILMAN_REST_API_USER = '********************'
MANAGERS = []
MEDIA_ROOT = ''
MEDIA_URL = '/'
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
MIDDLEWARE = "('allauth.account.middleware.AccountMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_mailman3.middleware.TimezoneMiddleware', 'postorius.middleware.PostoriusMiddleware')"
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT = '********************'
POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost:8000'
PREPEND_WWW = False
Q_CLUSTER = {'retry': 360, 'timeout': 300, 'save_limit': 100, 'orm': 'default', 'workers': 2}
ROOT_URLCONF = 'mailman_web.urls'
SECRET_KEY = '********************'
SECRET_KEY_FALLBACKS = '********************'
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_CROSS_ORIGIN_OPENER_POLICY = 'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_REFERRER_POLICY = 'same-origin'
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'admin(a)nanog-mm3.keekles.org'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_ID = 1
SOCIALACCOUNT_PROVIDERS = {'openid': {'SERVERS': [{'id': 'yahoo', 'name': 'Yahoo', 'openid_url': 'http://me.yahoo.com'}]}, 'google': {'SCOPE': ['profile', 'email'], 'AUTH_PARAMS': {'access_type': 'online'}}, 'facebook': {'METHOD': 'oauth2', 'SCOPE': ['email'], 'FIELDS': ['email', 'name', 'first_name', 'last_name', 'locale', 'timezone'], 'VERSION': 'v2.4'}}
STATICFILES_DIRS = '()'
STATICFILES_FINDERS = "('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/opt/mailman/web/static'
STATIC_URL = '/static/'
STORAGES = {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.csrf', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django_mailman3.context_processors.common', 'hyperkitty.context_processors.common', 'postorius.context_processors.postorius']}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'UTC'
USE_DEPRECATED_PYTZ = False
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'mailman_web.wsgi.application'
X_FRAME_OPTIONS = 'DENY'
YEAR_MONTH_FORMAT = 'F Y'
--
Bryan Fields
727-409-1194 - Voice
http://bryanfields.net
1 year, 6 months
[MM3-users] Re: Internal Server Errors in mailmanweb.log
by Washington Odhiambo
On Thu, Dec 25, 2025 at 10:46 AM Washington Odhiambo <odhiambo(a)gmail.com>
wrote:
>
>
> On Thu, Dec 25, 2025 at 12:07 AM Mark Sapiro <mark(a)msapiro.net> wrote:
>
>> On 12/18/25 03:07, Washington Odhiambo via Mailman-users wrote:
>> > I keep seeing several errors like the below in my mailmanweb.log and not
>> > sure what the causa is.
>>
>> What is your HyperKitty version? If it is 1.3.12 from PyPI and not the
>> latest from gitlab, See
>> https://gitlab.com/mailman/hyperkitty/-/issues/529 and
>> https://gitlab.com/mailman/hyperkitty/-/merge_requests/660 for a patch
>> to fix this.
>>
>
> It is version 1.3.12. Patch applied.
>
> Thank you.
>
For some reason, my mailmanweb (I am using Gunicorn) has been misbehaving
lately.
The last change I ever made to my MM3 installation is when I applied the
patch mentioned in this thread.
The misbehavior manifests in the Postrorius web UI becoming inaccessible,
much as mailmanweb is running.
Checking on its status, I see very high RAM utilization:
```
root@eu:/home/wash# systemctl status mailmanweb
● mailmanweb.service - GNU Mailman Web UI
Loaded: loaded (/etc/systemd/system/mailmanweb.service; enabled;
preset: enabled)
Active: active (running) since Thu 2026-01-22 11:17:17 EAT; 20min ago
Main PID: 3684 (gunicorn)
Tasks: 3 (limit: 28775)
Memory: 2.1G
CPU: 9min 8.614s
CGroup: /system.slice/mailmanweb.service
├─ 3684 /opt/mailman/venv/bin/python3
/opt/mailman/venv/bin/gunicorn -c /etc/mailman3/gunicorn.conf.py
mailman_web.wsgi:application
├─24724 /opt/mailman/venv/bin/python3
/opt/mailman/venv/bin/gunicorn -c /etc/mailman3/gunicorn.conf.py
mailman_web.wsgi:application
└─25445 /opt/mailman/venv/bin/python3
/opt/mailman/venv/bin/gunicorn -c /etc/mailman3/gunicorn.conf.py
mailman_web.wsgi:application
Jan 22 11:17:17 eu.kictanet.or.ke systemd[1]: Started mailmanweb.service -
GNU Mailman Web UI.
Jan 22 11:17:20 eu.kictanet.or.ke gunicorn[3900]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
Jan 22 11:17:20 eu.kictanet.or.ke gunicorn[3863]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
Jan 22 11:18:00 eu.kictanet.or.ke gunicorn[18740]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
Jan 22 11:18:03 eu.kictanet.or.ke gunicorn[19263]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
Jan 22 11:18:32 eu.kictanet.or.ke gunicorn[24724]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
Jan 22 11:18:34 eu.kictanet.or.ke gunicorn[25445]: Updated PYTHONPATH to :
/etc/mailman3/:/etc/mailman3
root@eu:/home/wash#
```
And my /etc/mailman3/gunicorn.conf:
```
bind = ['127.0.0.1:8010']
proc_name = "mailman-web"
# If you are having response issues you can tune the number of workers.
# The suggested starting point is (2 x $num_cores) + 1
# See https://docs.gunicorn.org/en/latest/design.html#how-many-workers
workers = 2
chdir = "/opt/mailman/mm"
pidfile = "/opt/mailman/mm/var/gunicorn.pid"
accesslog = "/opt/mailman/mm/var/logs/access.log"
errorlog = "/opt/mailman/mm/var/logs/error.log"
```
The errorlog file has these:
[2026-01-22 00:00:06 +0300] [3837679] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-KBKSRHFZN3JH2LLDWYO2SGF6IZJTTOTK.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 00:00:06 +0300] [3837679] [INFO] Worker exiting (pid: 3837679)
[2026-01-22 00:00:06 +0300] [3837389] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-BJZOZO7YBWUSMA5X5MMO2YMMCJCCPKTW.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 00:00:06 +0300] [3837389] [INFO] Worker exiting (pid: 3837389)
[2026-01-22 00:00:17 +0300] [4126021] [INFO] Starting gunicorn 23.0.0
[2026-01-22 00:00:17 +0300] [4126021] [INFO] Listening at:
http://127.0.0.1:8010 (4126021)
[2026-01-22 00:00:17 +0300] [4126021] [INFO] Using worker: sync
[2026-01-22 00:00:17 +0300] [4126033] [INFO] Booting worker with pid:
4126033
[2026-01-22 00:00:17 +0300] [4126034] [INFO] Booting worker with pid:
4126034
[2026-01-22 00:16:13 +0300] [4126021] [CRITICAL] WORKER TIMEOUT
(pid:4126033)
[2026-01-22 00:16:13 +0300] [4126033] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-4TAUYJ42B7TW6RMTTD6NY73CVSW5TYOC.mbox.gz
Traceback (most recent call last):
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1969, in
get_address
token, value = get_group(value)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1927, in
get_group
raise errors.HeaderParseError("expected ':' at end of group "
email.errors.HeaderParseError: expected ':' at end of group display name
but found '@lists.kictanet.or.ke'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1795, in
get_mailbox
token, value = get_name_addr(value)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1781, in
get_name_addr
token, value = get_angle_addr(value)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1706, in
get_angle_addr
raise errors.HeaderParseError(
email.errors.HeaderParseError: expected angle-addr but found '@
lists.kictanet.or.ke'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 173, in as_message
msg[header_name] = unfold(header_value)
~~~^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 436, in __setitem__
self._headers.append(self.policy.header_store_parse(name, val))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/policy.py", line 148, in
header_store_parse
return (name, self.header_factory(name, value))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 604, in __call__
return self[name](name, value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 192, in __new__
cls.parse(value, kwds)
File "/usr/lib/python3.11/email/headerregistry.py", line 342, in parse
kwds['parse_tree'] = address_list = cls.value_parser(value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 333, in
value_parser
address_list, value = parser.get_address_list(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1992, in
get_address_list
token, value = get_address(value)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1972, in
get_address
token, value = get_mailbox(value)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1798, in
get_mailbox
token, value = get_addr_spec(value)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1644, in
get_addr_spec
token, value = get_local_part(value)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1481, in
get_local_part
local_part.value.encode('ascii')
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 00:16:13 +0300] [4126033] [INFO] Worker exiting (pid: 4126033)
[2026-01-22 00:16:14 +0300] [4126021] [ERROR] Worker (pid:4126033) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 00:16:14 +0300] [4149001] [INFO] Booting worker with pid:
4149001
[2026-01-22 04:03:41 +0300] [4126021] [CRITICAL] WORKER TIMEOUT
(pid:4126034)
[2026-01-22 04:03:41 +0300] [4126034] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-PCHD3VO4FWCMYLJVZBAVAQWWTGGRRYQP.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 04:03:41 +0300] [4126034] [INFO] Worker exiting (pid: 4126034)
[2026-01-22 04:03:42 +0300] [4126021] [ERROR] Worker (pid:4126034) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 04:03:42 +0300] [290024] [INFO] Booting worker with pid: 290024
[2026-01-22 05:38:12 +0300] [4126021] [CRITICAL] WORKER TIMEOUT
(pid:4149001)
[2026-01-22 05:38:12 +0300] [4149001] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-TT3DIZNJFJHQ3ZYE34Y7O732SYAT5N74.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 190, in as_message
msg.add_attachment(attachment.get_content(), maintype=mimetype[0],
File "/usr/lib/python3.11/email/message.py", line 1183, in add_attachment
self._add_multipart('mixed', *args, _disp='attachment', **kw)
File "/usr/lib/python3.11/email/message.py", line 1171, in _add_multipart
part.set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1198, in set_content
super().set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1128, in set_content
content_manager.set_content(self, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 37, in
set_content
handler(msg, obj, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 248, in
set_bytes_content
_finalize_set(msg, disposition, filename, cid, params)
File "/usr/lib/python3.11/email/contentmanager.py", line 120, in
_finalize_set
msg.set_param('filename',
File "/usr/lib/python3.11/email/message.py", line 774, in set_param
self.replace_header(header, ctype)
File "/usr/lib/python3.11/email/message.py", line 582, in replace_header
self._headers[i] = self.policy.header_store_parse(k, _value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/policy.py", line 148, in
header_store_parse
return (name, self.header_factory(name, value))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 604, in __call__
return self[name](name, value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 192, in __new__
cls.parse(value, kwds)
File "/usr/lib/python3.11/email/headerregistry.py", line 448, in parse
kwds['parse_tree'] = parse_tree = cls.value_parser(value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 2709, in
parse_content_disposition_header
disp_header.append(parse_mime_parameters(value[1:]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 2573, in
parse_mime_parameters
token, value = get_parameter(value)
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 2496, in
get_parameter
token, value = get_value(value)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 2407, in
get_value
token, value = get_quoted_string(value)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1294, in
get_quoted_string
quoted_string = QuotedString()
^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 124, in
__init__
super().__init__(*args, **kw)
^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 05:38:12 +0300] [4149001] [INFO] Worker exiting (pid: 4149001)
[2026-01-22 05:38:13 +0300] [4126021] [ERROR] Worker (pid:4149001) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 05:38:13 +0300] [430585] [INFO] Booting worker with pid: 430585
[2026-01-22 05:38:14 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:290024)
[2026-01-22 05:38:14 +0300] [290024] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-O2GES34AARQMEQJ7YFC3FLITXEFS7JOO.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 633, in get
num = len(clone)
^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 380, in __len__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1549, in execute_sql
sql, params = self.as_sql()
^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 736, in as_sql
extra_select, order_by, group_by = self.pre_sql_setup(
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 86, in pre_sql_setup
self.where, self.having, self.qualify =
self.query.where.split_having_qualify(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/where.py",
line 45, in split_having_qualify
if not self.contains_aggregate and not self.contains_over_clause:
^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/utils/functional.py",
line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/where.py",
line 244, in contains_aggregate
return self._contains_aggregate(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/where.py",
line 239, in _contains_aggregate
return any(cls._contains_aggregate(c) for c in obj.children)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/where.py",
line 239, in <genexpr>
return any(cls._contains_aggregate(c) for c in obj.children)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/where.py",
line 240, in _contains_aggregate
return obj.contains_aggregate
^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/utils/functional.py",
line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/expressions.py",
line 241, in contains_aggregate
return any(
^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/expressions.py",
line 241, in <genexpr>
return any(
^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 05:38:14 +0300] [290024] [INFO] Worker exiting (pid: 290024)
[2026-01-22 05:38:15 +0300] [4126021] [ERROR] Worker (pid:290024) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 05:38:15 +0300] [430657] [INFO] Booting worker with pid: 430657
[2026-01-22 06:59:27 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:430585)
[2026-01-22 06:59:27 +0300] [430585] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-2012-11.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 06:59:27 +0300] [430585] [INFO] Worker exiting (pid: 430585)
[2026-01-22 06:59:28 +0300] [4126021] [ERROR] Worker (pid:430585) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 06:59:28 +0300] [551385] [INFO] Booting worker with pid: 551385
[2026-01-22 07:00:07 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:430657)
[2026-01-22 07:00:07 +0300] [430657] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-5SJEKLZAOKQVNUAJ4JBX6FXH76AN6NKU.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 633, in get
num = len(clone)
^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 380, in __len__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 07:00:07 +0300] [430657] [INFO] Worker exiting (pid: 430657)
[2026-01-22 07:00:09 +0300] [4126021] [ERROR] Worker (pid:430657) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 07:00:09 +0300] [552645] [INFO] Booting worker with pid: 552645
[2026-01-22 08:58:41 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:551385)
[2026-01-22 08:58:41 +0300] [551385] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-2007-07.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 08:58:41 +0300] [551385] [INFO] Worker exiting (pid: 551385)
[2026-01-22 08:58:42 +0300] [4126021] [ERROR] Worker (pid:551385) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 08:58:42 +0300] [727705] [INFO] Booting worker with pid: 727705
[2026-01-22 08:58:52 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:552645)
[2026-01-22 08:58:52 +0300] [552645] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-DFQWJCB7NZCGCGMARN2KGSSMKDPM5CDT.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 08:58:53 +0300] [552645] [INFO] Worker exiting (pid: 552645)
[2026-01-22 08:58:53 +0300] [4126021] [ERROR] Worker (pid:552645) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 08:58:53 +0300] [727955] [INFO] Booting worker with pid: 727955
[2026-01-22 11:03:01 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:727705)
[2026-01-22 11:03:01 +0300] [727705] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-2019-01.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 190, in as_message
msg.add_attachment(attachment.get_content(), maintype=mimetype[0],
File "/usr/lib/python3.11/email/message.py", line 1183, in add_attachment
self._add_multipart('mixed', *args, _disp='attachment', **kw)
File "/usr/lib/python3.11/email/message.py", line 1171, in _add_multipart
part.set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1198, in set_content
super().set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1128, in set_content
content_manager.set_content(self, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 37, in
set_content
handler(msg, obj, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 235, in
set_bytes_content
data = _encode_base64(data, max_line_length=msg.policy.max_line_length)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/contentmanager.py", line 140, in
_encode_base64
encoded_lines.append(binascii.b2a_base64(thisline).decode('ascii'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:03:01 +0300] [727705] [INFO] Worker exiting (pid: 727705)
[2026-01-22 11:03:02 +0300] [4126021] [ERROR] Worker (pid:727705) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:03:02 +0300] [912941] [INFO] Booting worker with pid: 912941
[2026-01-22 11:04:11 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:727955)
[2026-01-22 11:04:11 +0300] [727955] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-CEC5IW36NPUECABNFH7YYGFCOY2SSP7U.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:04:11 +0300] [727955] [INFO] Worker exiting (pid: 727955)
[2026-01-22 11:04:12 +0300] [4126021] [ERROR] Worker (pid:727955) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:04:12 +0300] [914576] [INFO] Booting worker with pid: 914576
[2026-01-22 11:09:58 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:912941)
[2026-01-22 11:09:58 +0300] [912941] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-AZSKWVRXPFM3ZPVLNTP7JOMSMTIUX5DX.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:09:58 +0300] [912941] [INFO] Worker exiting (pid: 912941)
[2026-01-22 11:09:59 +0300] [4126021] [ERROR] Worker (pid:912941) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:09:59 +0300] [949587] [INFO] Booting worker with pid: 949587
[2026-01-22 11:10:34 +0300] [4126021] [CRITICAL] WORKER TIMEOUT (pid:914576)
[2026-01-22 11:10:34 +0300] [914576] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-X3EFQYUYVVHKM4AI6JNJA5JTC3423EVX.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:10:34 +0300] [914576] [INFO] Worker exiting (pid: 914576)
[2026-01-22 11:10:35 +0300] [4126021] [ERROR] Worker (pid:914576) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:10:35 +0300] [952365] [INFO] Booting worker with pid: 952365
[2026-01-22 11:12:15 +0300] [4126021] [INFO] Handling signal: int
[2026-01-22 11:12:15 +0300] [952365] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-K3M2ZFG3KE7446IQELVSSS6PTODVGJVT.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 332, in _query
self._post_get_result()
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 366, in _post_get_result
self._rows = self._fetch_row(0)
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 339, in _fetch_row
return self._result.fetch_row(size, self._fetch_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/times.py",
line 66, in DateTime_or_None
def DateTime_or_None(s):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 198, in handle_quit
time.sleep(0.1)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:12:15 +0300] [949587] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-ULMBFEMCYDTXCG5SAIR2G2YSANSTPLTI.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 332, in _query
self._post_get_result()
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 366, in _post_get_result
self._rows = self._fetch_row(0)
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 339, in _fetch_row
return self._result.fetch_row(size, self._fetch_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/times.py",
line 66, in DateTime_or_None
def DateTime_or_None(s):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 198, in handle_quit
time.sleep(0.1)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:12:15 +0300] [952365] [INFO] Worker exiting (pid: 952365)
[2026-01-22 11:12:15 +0300] [949587] [INFO] Worker exiting (pid: 949587)
[2026-01-22 11:12:17 +0300] [4126021] [INFO] Shutting down: Master
[2026-01-22 11:12:17 +0300] [953914] [INFO] Starting gunicorn 23.0.0
[2026-01-22 11:12:17 +0300] [953914] [INFO] Listening at:
http://127.0.0.1:8010 (953914)
[2026-01-22 11:12:17 +0300] [953914] [INFO] Using worker: sync
[2026-01-22 11:12:17 +0300] [953915] [INFO] Booting worker with pid: 953915
[2026-01-22 11:12:17 +0300] [953916] [INFO] Booting worker with pid: 953916
[2026-01-22 11:12:49 +0300] [953914] [CRITICAL] WORKER TIMEOUT (pid:953915)
[2026-01-22 11:12:49 +0300] [953915] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-TULZY2KKSWJ76QJEPLBSH7XVLZRO5PHK.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1549, in execute_sql
sql, params = self.as_sql()
^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 736, in as_sql
extra_select, order_by, group_by = self.pre_sql_setup(
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 85, in pre_sql_setup
order_by = self.get_order_by()
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 460, in get_order_by
resolved = expr.resolve_expression(self.query, allow_joins=True,
reuse=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/expressions.py",
line 282, in resolve_expression
c = self.copy()
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/expressions.py",
line 422, in copy
return copy.copy(self)
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/copy.py", line 74, in copy
copier = _copy_dispatch.get(cls)
^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:12:49 +0300] [953915] [INFO] Worker exiting (pid: 953915)
[2026-01-22 11:12:50 +0300] [954172] [INFO] Booting worker with pid: 954172
[2026-01-22 11:12:54 +0300] [953914] [CRITICAL] WORKER TIMEOUT (pid:953916)
[2026-01-22 11:12:54 +0300] [953916] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-X5R6D5RQMGXKX7IPSDC4ROIYLNTMHBHZ.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 190, in as_message
msg.add_attachment(attachment.get_content(), maintype=mimetype[0],
File "/usr/lib/python3.11/email/message.py", line 1183, in add_attachment
self._add_multipart('mixed', *args, _disp='attachment', **kw)
File "/usr/lib/python3.11/email/message.py", line 1171, in _add_multipart
part.set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1198, in set_content
super().set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1128, in set_content
content_manager.set_content(self, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 37, in
set_content
handler(msg, obj, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 235, in
set_bytes_content
data = _encode_base64(data, max_line_length=msg.policy.max_line_length)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/contentmanager.py", line 140, in
_encode_base64
encoded_lines.append(binascii.b2a_base64(thisline).decode('ascii'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:12:54 +0300] [953916] [INFO] Worker exiting (pid: 953916)
[2026-01-22 11:12:55 +0300] [954203] [INFO] Booting worker with pid: 954203
[2026-01-22 11:13:21 +0300] [953914] [CRITICAL] WORKER TIMEOUT (pid:954172)
[2026-01-22 11:13:21 +0300] [954172] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-DSU7LPKXFKEJFQNJD2MXFUM5OVE7G26I.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 633, in get
num = len(clone)
^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 380, in __len__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:13:21 +0300] [954172] [INFO] Worker exiting (pid: 954172)
[2026-01-22 11:13:22 +0300] [954843] [INFO] Booting worker with pid: 954843
[2026-01-22 11:13:26 +0300] [953914] [CRITICAL] WORKER TIMEOUT (pid:954203)
[2026-01-22 11:13:26 +0300] [954203] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-XL2NAJHIGKG5B7UMJZCSJDOCGEBXQDME.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 625, in get
clone = clone.order_by()
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1659, in order_by
obj.query.add_ordering(*field_names)
^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 310, in query
@property
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:13:26 +0300] [954203] [INFO] Worker exiting (pid: 954203)
[2026-01-22 11:13:27 +0300] [954884] [INFO] Booting worker with pid: 954884
[2026-01-22 11:13:31 +0300] [953914] [INFO] Handling signal: int
[2026-01-22 11:13:33 +0300] [954884] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-APYNKGBUJRM5GGNHILP355EXZXKKDLWE.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:13:33 +0300] [954884] [INFO] Worker exiting (pid: 954884)
[2026-01-22 11:13:38 +0300] [954843] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-OG4SEUGOIPBET2V2J7ZBF2MLQRR7EMUR.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:13:38 +0300] [954843] [INFO] Worker exiting (pid: 954843)
[2026-01-22 11:13:38 +0300] [953914] [INFO] Shutting down: Master
[2026-01-22 11:13:41 +0300] [954947] [INFO] Starting gunicorn 23.0.0
[2026-01-22 11:13:41 +0300] [954947] [INFO] Listening at:
http://127.0.0.1:8010 (954947)
[2026-01-22 11:13:41 +0300] [954947] [INFO] Using worker: sync
[2026-01-22 11:13:41 +0300] [954954] [INFO] Booting worker with pid: 954954
[2026-01-22 11:13:41 +0300] [954955] [INFO] Booting worker with pid: 954955
[2026-01-22 11:14:25 +0300] [954947] [CRITICAL] WORKER TIMEOUT (pid:954955)
[2026-01-22 11:14:25 +0300] [954955] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-TG6RZBXER7NO5ZG3S6XLT7KEPW7ZWSVG.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 206, in as_bytes
gen.flatten(msg, unixfrom=True)
File "/usr/lib/python3.11/email/generator.py", line 118, in flatten
self._write(msg)
File "/usr/lib/python3.11/email/generator.py", line 183, in _write
self._dispatch(msg)
File "/usr/lib/python3.11/email/generator.py", line 220, in _dispatch
meth(msg)
File "/usr/lib/python3.11/email/generator.py", line 287, in
_handle_multipart
g.flatten(part, unixfrom=False, linesep=self._NL)
File "/usr/lib/python3.11/email/generator.py", line 118, in flatten
self._write(msg)
File "/usr/lib/python3.11/email/generator.py", line 183, in _write
self._dispatch(msg)
File "/usr/lib/python3.11/email/generator.py", line 220, in _dispatch
meth(msg)
File "/usr/lib/python3.11/email/generator.py", line 447, in _handle_text
super(BytesGenerator,self)._handle_text(msg)
File "/usr/lib/python3.11/email/generator.py", line 264, in _handle_text
self._write_lines(payload)
File "/usr/lib/python3.11/email/generator.py", line 155, in _write_lines
lines = NLCRE.split(lines)
^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:14:25 +0300] [954955] [INFO] Worker exiting (pid: 954955)
[2026-01-22 11:14:25 +0300] [955708] [INFO] Booting worker with pid: 955708
[2026-01-22 11:14:33 +0300] [954947] [CRITICAL] WORKER TIMEOUT (pid:954954)
[2026-01-22 11:14:33 +0300] [954954] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-QEZZWPUCSBYPVAI7RB23CYCW55EXR4KS.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:14:33 +0300] [954954] [INFO] Worker exiting (pid: 954954)
[2026-01-22 11:14:34 +0300] [955743] [INFO] Booting worker with pid: 955743
[2026-01-22 11:14:56 +0300] [954947] [CRITICAL] WORKER TIMEOUT (pid:955708)
[2026-01-22 11:14:56 +0300] [955708] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-RDAJOKFHXCLNREHYVQQ3KIS6VLVOB4ZS.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 173, in as_message
msg[header_name] = unfold(header_value)
~~~^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 426, in __setitem__
max_count = self.policy.header_max_count(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/policy.py", line 106, in header_max_count
return self.header_factory[name].max_count
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 592, in
__getitem__
return type('_'+cls.__name__, (cls, self.base_class), {})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:14:56 +0300] [955708] [INFO] Worker exiting (pid: 955708)
[2026-01-22 11:14:57 +0300] [955829] [INFO] Booting worker with pid: 955829
[2026-01-22 11:15:01 +0300] [954947] [INFO] Handling signal: int
[2026-01-22 11:15:01 +0300] [955743] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-PJ76ZUBDOE4ATWXNVKJPSLGZGD352XEA.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 206, in as_bytes
gen.flatten(msg, unixfrom=True)
File "/usr/lib/python3.11/email/generator.py", line 118, in flatten
self._write(msg)
File "/usr/lib/python3.11/email/generator.py", line 183, in _write
self._dispatch(msg)
File "/usr/lib/python3.11/email/generator.py", line 220, in _dispatch
meth(msg)
File "/usr/lib/python3.11/email/generator.py", line 295, in
_handle_multipart
boundary = self._make_boundary(alltext)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/generator.py", line 396, in _make_boundary
if not cre.search(text):
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 186, in handle_request
request_time = datetime.now() - request_start
^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:15:01 +0300] [955743] [INFO] Worker exiting (pid: 955743)
[2026-01-22 11:15:06 +0300] [955829] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-EPWDTNNW2NBZ7EAMITN3QQTOHVRP2JVP.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:15:06 +0300] [955829] [INFO] Worker exiting (pid: 955829)
[2026-01-22 11:15:07 +0300] [954947] [INFO] Shutting down: Master
[2026-01-22 11:17:18 +0300] [3684] [INFO] Starting gunicorn 23.0.0
[2026-01-22 11:17:18 +0300] [3684] [INFO] Listening at:
http://127.0.0.1:8010 (3684)
[2026-01-22 11:17:18 +0300] [3684] [INFO] Using worker: sync
[2026-01-22 11:17:18 +0300] [3863] [INFO] Booting worker with pid: 3863
[2026-01-22 11:17:18 +0300] [3900] [INFO] Booting worker with pid: 3900
[2026-01-22 11:17:59 +0300] [3684] [CRITICAL] WORKER TIMEOUT (pid:3900)
[2026-01-22 11:17:59 +0300] [3900] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-YG62TZZWLXUVDHNWY56226PGOKTCSAG6.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:17:59 +0300] [3900] [INFO] Worker exiting (pid: 3900)
[2026-01-22 11:18:00 +0300] [18740] [INFO] Booting worker with pid: 18740
[2026-01-22 11:18:02 +0300] [3684] [CRITICAL] WORKER TIMEOUT (pid:3863)
[2026-01-22 11:18:02 +0300] [3863] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-HQMEJPIPIL7BAGGLOCWN2YCRPOGLYJ7D.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 122, in __iter__
obj = model_cls.from_db(
^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/base.py",
line 582, in from_db
new = cls(*values)
^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 78, in __init__
super(Email, self).__init__(*args, **kwargs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/base.py",
line 572, in __init__
post_init.send(sender=cls, instance=self)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/dispatch/dispatcher.py",
line 176, in send
return [
^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/dispatch/dispatcher.py",
line 177, in <listcomp>
(receiver, receiver(signal=self, sender=sender, **named))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:18:02 +0300] [3863] [INFO] Worker exiting (pid: 3863)
[2026-01-22 11:18:02 +0300] [19263] [INFO] Booting worker with pid: 19263
[2026-01-22 11:18:31 +0300] [3684] [CRITICAL] WORKER TIMEOUT (pid:18740)
[2026-01-22 11:18:31 +0300] [18740] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-E4USSEPZDW3F4ETI3D3BJGJ6YPBJGWFS.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 332, in _query
self._post_get_result()
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 366, in _post_get_result
self._rows = self._fetch_row(0)
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 339, in _fetch_row
return self._result.fetch_row(size, self._fetch_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/times.py",
line 66, in DateTime_or_None
def DateTime_or_None(s):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:18:31 +0300] [18740] [INFO] Worker exiting (pid: 18740)
[2026-01-22 11:18:31 +0300] [24724] [INFO] Booting worker with pid: 24724
[2026-01-22 11:18:33 +0300] [3684] [CRITICAL] WORKER TIMEOUT (pid:19263)
[2026-01-22 11:18:33 +0300] [19263] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-VRSOPJ4HQXYPBS22MI6B3JJTBCGN366W.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 121, in __iter__
for row in compiler.results_iter(results):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1500, in apply_converters
value = converter(value, expression, connection)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/operations.py",
line 329, in convert_datetimefield_value
def convert_datetimefield_value(self, value, expression, connection):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:18:33 +0300] [19263] [INFO] Worker exiting (pid: 19263)
[2026-01-22 11:18:34 +0300] [25445] [INFO] Booting worker with pid: 25445
[2026-01-22 11:39:50 +0300] [3684] [INFO] Handling signal: int
[2026-01-22 11:39:56 +0300] [24724] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-K2XPLS35727CDYYXQLJG72I3FM2DP6XS.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:39:56 +0300] [24724] [INFO] Worker exiting (pid: 24724)
[2026-01-22 11:39:59 +0300] [25445] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-TVZIXKV7QLX6PSUZNDZPQKHWRADHIHIJ.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 331, in _query
self._do_get_result(db)
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 136, in _do_get_result
self._result = result = self._get_result()
^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 363, in _get_result
return self._get_db().store_result()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 390, in stream_mbox
for email in query.order_by("archived_date").all():
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 84, in _execute
with self.db.wrap_database_errors:
File "/opt/mailman/venv/lib/python3.11/site-packages/django/db/utils.py",
line 70, in __exit__
def __exit__(self, exc_type, exc_value, traceback):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 199, in handle_quit
sys.exit(0)
SystemExit: 0
[2026-01-22 11:39:59 +0300] [25445] [INFO] Worker exiting (pid: 25445)
[2026-01-22 11:40:00 +0300] [3684] [INFO] Shutting down: Master
[2026-01-22 11:40:01 +0300] [90030] [INFO] Starting gunicorn 23.0.0
[2026-01-22 11:40:01 +0300] [90030] [INFO] Listening at:
http://127.0.0.1:8010 (90030)
[2026-01-22 11:40:01 +0300] [90030] [INFO] Using worker: sync
[2026-01-22 11:40:01 +0300] [90033] [INFO] Booting worker with pid: 90033
[2026-01-22 11:40:01 +0300] [90034] [INFO] Booting worker with pid: 90034
[2026-01-22 11:40:37 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:90034)
[2026-01-22 11:40:37 +0300] [90034] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-I3UL4MGS5HAPKFRLO5IYSO33YL5V4JH5.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 173, in as_message
msg[header_name] = unfold(header_value)
~~~^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 436, in __setitem__
self._headers.append(self.policy.header_store_parse(name, val))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/policy.py", line 148, in
header_store_parse
return (name, self.header_factory(name, value))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 604, in __call__
return self[name](name, value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 192, in __new__
cls.parse(value, kwds)
File "/usr/lib/python3.11/email/headerregistry.py", line 342, in parse
kwds['parse_tree'] = address_list = cls.value_parser(value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/headerregistry.py", line 333, in
value_parser
address_list, value = parser.get_address_list(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_header_value_parser.py", line 1989, in
get_address_list
address_list = AddressList()
^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:40:37 +0300] [90034] [INFO] Worker exiting (pid: 90034)
[2026-01-22 11:40:37 +0300] [90870] [INFO] Booting worker with pid: 90870
[2026-01-22 11:40:42 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:90033)
[2026-01-22 11:40:42 +0300] [90033] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-DNGQNXOQAFQ2TP6CXZ4QK7P4QQWDG6EM.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:40:42 +0300] [90033] [INFO] Worker exiting (pid: 90033)
[2026-01-22 11:40:42 +0300] [90897] [INFO] Booting worker with pid: 90897
[2026-01-22 11:41:08 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:90870)
[2026-01-22 11:41:08 +0300] [90870] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-YQCBFT3VOX72LH7UM7FTNG4OVSEUBJEL.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 184, in as_message
msg.set_content(self.content, subtype='plain')
File "/usr/lib/python3.11/email/message.py", line 1198, in set_content
super().set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1128, in set_content
content_manager.set_content(self, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 37, in
set_content
handler(msg, obj, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 187, in
set_text_content
cte, payload = _encode_text(string, charset, cte, msg.policy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/contentmanager.py", line 174, in
_encode_text
data = quoprimime.body_encode(normal_body(lines).decode('latin-1'),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/quoprimime.py", line 220, in body_encode
append(line[start:])
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:41:08 +0300] [90870] [INFO] Worker exiting (pid: 90870)
[2026-01-22 11:41:10 +0300] [91275] [INFO] Booting worker with pid: 91275
[2026-01-22 11:41:14 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:90897)
[2026-01-22 11:41:14 +0300] [90897] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-7MLTGAZJNFG56S7J5FWK776PSVEB46GN.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 188, in as_message
for attachment in self.attachments.order_by("counter"):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 398, in __iter__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:41:14 +0300] [90897] [INFO] Worker exiting (pid: 90897)
[2026-01-22 11:41:15 +0300] [91456] [INFO] Booting worker with pid: 91456
[2026-01-22 11:42:18 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:91456)
[2026-01-22 11:42:18 +0300] [91456] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-MDUKNGL2KE5J5OYFSK4G5BUENDISFSWV.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 184, in as_message
msg.set_content(self.content, subtype='plain')
File "/usr/lib/python3.11/email/message.py", line 1198, in set_content
super().set_content(*args, **kw)
File "/usr/lib/python3.11/email/message.py", line 1128, in set_content
content_manager.set_content(self, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 37, in
set_content
handler(msg, obj, *args, **kw)
File "/usr/lib/python3.11/email/contentmanager.py", line 189, in
set_text_content
msg.set_param('charset',
File "/usr/lib/python3.11/email/message.py", line 758, in set_param
[ctype, _formatparam(param, value, requote)])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 67, in _formatparam
return '%s="%s"' % (param, utils.quote(value))
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/_parseaddr.py", line 201, in quote
def quote(str):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:42:18 +0300] [91456] [INFO] Worker exiting (pid: 91456)
[2026-01-22 11:42:19 +0300] [92350] [INFO] Booting worker with pid: 92350
[2026-01-22 11:43:48 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:91275)
[2026-01-22 11:43:48 +0300] [91275] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-AHBE2XCOV6WGVOQMTMEDOF5CT5SUGIVE.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 633, in get
num = len(clone)
^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 380, in __len__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:43:48 +0300] [91275] [INFO] Worker exiting (pid: 91275)
[2026-01-22 11:43:49 +0300] [90030] [ERROR] Worker (pid:91275) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:43:49 +0300] [93609] [INFO] Booting worker with pid: 93609
[2026-01-22 11:43:52 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:92350)
[2026-01-22 11:43:52 +0300] [92350] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-VWXQKKWFB4TQW3Z7OMW6GWJYLGIZI65E.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 173, in as_message
msg[header_name] = unfold(header_value)
~~~^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 420, in __setitem__
def __setitem__(self, name, val):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:43:52 +0300] [92350] [INFO] Worker exiting (pid: 92350)
[2026-01-22 11:43:54 +0300] [90030] [ERROR] Worker (pid:92350) was sent
SIGKILL! Perhaps out of memory?
[2026-01-22 11:43:54 +0300] [93619] [INFO] Booting worker with pid: 93619
[2026-01-22 11:44:42 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:93609)
[2026-01-22 11:44:42 +0300] [93609] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-QGW7VB4TSJYBOVLI74ODICD6XOR2EJCY.mbox.gz
Traceback (most recent call last):
File "/usr/lib/python3.11/email/message.py", line 661, in
_get_params_preserve
name, val = p.split('=', 1)
^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 206, in as_bytes
gen.flatten(msg, unixfrom=True)
File "/usr/lib/python3.11/email/generator.py", line 118, in flatten
self._write(msg)
File "/usr/lib/python3.11/email/generator.py", line 183, in _write
self._dispatch(msg)
File "/usr/lib/python3.11/email/generator.py", line 220, in _dispatch
meth(msg)
File "/usr/lib/python3.11/email/generator.py", line 290, in
_handle_multipart
boundary = msg.get_boundary()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 856, in get_boundary
boundary = self.get_param('boundary', missing)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 720, in get_param
for k, v in self._get_params_preserve(failobj, header):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/email/message.py", line 666, in
_get_params_preserve
name = p.strip()
^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:44:42 +0300] [93609] [INFO] Worker exiting (pid: 93609)
[2026-01-22 11:44:43 +0300] [94475] [INFO] Booting worker with pid: 94475
[2026-01-22 11:44:45 +0300] [90030] [CRITICAL] WORKER TIMEOUT (pid:93619)
[2026-01-22 11:44:45 +0300] [93619] [ERROR] Error handling request
/archives/list/
kictanet@lists.kictanet.or.ke/export/kictanet@lists.kictanet.or.ke-Q52GSLD4YN4QPQDSFJF5XWTHZG772HFW.mbox.gz
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 218, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/mixins.py",
line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'sender'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 134, in handle
self.handle_request(listener, req, client, addr)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/sync.py",
line 182, in handle_request
for item in respiter:
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/views/mlist.py",
line 391, in stream_mbox
yield compressor.compress(email.as_bytes())
^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 200, in as_bytes
msg = self.as_message()
^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/email.py",
line 160, in as_message
self.sender.address, self.archived_date.strftime("%c"))
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 236, in __get__
rel_obj = self.get_object(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py",
line 199, in get_object
return qs.get(self.field.get_reverse_related_filter(instance))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 633, in get
num = len(clone)
^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 380, in __len__
self._fetch_all()
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 1881, in _fetch_all
self._result_cache = list(self._iterable_class(self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 91, in __iter__
results = compiler.execute_sql(
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py",
line 1562, in execute_sql
cursor.execute(sql, params)
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 67, in execute
return self._execute_with_wrappers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/utils.py",
line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/backends/mysql/base.py",
line 75, in execute
return self.cursor.execute(query, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 179, in execute
res = self._query(mogrified_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/cursors.py",
line 330, in _query
db.query(q)
File
"/opt/mailman/venv/lib/python3.11/site-packages/MySQLdb/connections.py",
line 280, in query
_mysql.connection.query(self, query)
File
"/opt/mailman/venv/lib/python3.11/site-packages/gunicorn/workers/base.py",
line 204, in handle_abort
sys.exit(1)
SystemExit: 1
[2026-01-22 11:44:45 +0300] [93619] [INFO] Worker exiting (pid: 93619)
[2026-01-22 11:44:45 +0300] [94504] [INFO] Booting worker with pid: 94504
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
In an Internet failure case, the #1 suspect is a constant: DNS.
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
[How to ask smart questions:
http://www.catb.org/~esr/faqs/smart-questions.html]
4 weeks, 1 day