From 519b568ccbea781c78c4818c949cf2b42aff419e Mon Sep 17 00:00:00 2001 From: Jake <73198594+jaborsh@users.noreply.github.com> Date: Sat, 7 Mar 2026 00:22:19 -0800 Subject: [PATCH] fix: close stale DB connections before first query --- evennia/server/service.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/evennia/server/service.py b/evennia/server/service.py index f575808b70..e446c8bff9 100644 --- a/evennia/server/service.py +++ b/evennia/server/service.py @@ -9,6 +9,7 @@ import traceback import django from django.conf import settings +import django.db from django.db import connection from django.db.utils import OperationalError from django.utils.translation import gettext as _ @@ -187,6 +188,10 @@ class EvenniaServerService(MultiService): # clear server startup mode try: + # Close stale DB connections inherited from the pre-fork parent + # process. Python 3.14's sqlite3 module is not fork-safe and will + # raise MemoryError if a pre-fork connection is reused. + django.db.connections.close_all() evennia.ServerConfig.objects.conf("server_starting_mode", delete=True) except OperationalError: print("Server server_starting_mode couldn't unset - db not set up.")