From c958aa0235e265b51441b5749318dfe2d04d3e1a Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sat, 1 Aug 2026 15:56:53 +0200 Subject: [PATCH] Guard actions in __del__ (obj must be initialised) --- src/serena/agent.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/serena/agent.py b/src/serena/agent.py index 1eba5bd0..3b340702 100644 --- a/src/serena/agent.py +++ b/src/serena/agent.py @@ -561,7 +561,7 @@ class SerenaAgent: :param memory_log_handler: a MemoryLogHandler instance from which to read log messages; if None, a new one will be created if necessary. """ - self._active_project: Project | None = None + self._active_project: Project | None = None # NOTE: field name used in __del__ self._project_activation_callback = project_activation_callback self._project_activation_error: str | None = project_activation_error self._gui_log_viewer: Optional["GuiLogViewer"] = None @@ -1423,7 +1423,9 @@ class SerenaAgent: ToolRegistry().print_tool_overview(self._active_tools.tools) def __del__(self) -> None: - self.on_shutdown() + is_object_initialised = "_active_project" in self.__dict__ + if is_object_initialised: + self.on_shutdown() def on_shutdown(self, timeout: float = 2.0) -> None: """