mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-29 23:41:35 +08:00
fix: harden execute_code cleanup and reduce logging noise
Follow-up to cherry-picked PR #1588 (aydnOktay): - Initialize server_sock = None before try block to prevent NameError if exception occurs before socket creation (line 413 is inside the try) - Guard server_sock.close() with None check - Narrow cleanup exception handlers to OSError (the actual error type) - Remove exc_info=True from cleanup debug logs — benign teardown failures don't need stack traces, the message is sufficient - Remove redundant try/except around shutil.rmtree(ignore_errors=True) - Silence sock_path unlink with pass — expected when already cleaned up
This commit is contained in:
@@ -395,6 +395,7 @@ def execute_code(
|
||||
tool_call_log: list = []
|
||||
tool_call_counter = [0] # mutable so the RPC thread can increment
|
||||
exec_start = time.monotonic()
|
||||
server_sock = None
|
||||
|
||||
try:
|
||||
# Write the auto-generated hermes_tools module
|
||||
@@ -615,19 +616,17 @@ def execute_code(
|
||||
|
||||
finally:
|
||||
# Cleanup temp dir and socket
|
||||
try:
|
||||
server_sock.close()
|
||||
except Exception as e:
|
||||
logger.debug("Server socket close error: %s", e, exc_info=True)
|
||||
try:
|
||||
import shutil
|
||||
shutil.rmtree(tmpdir, ignore_errors=True)
|
||||
except Exception as e:
|
||||
logger.debug("Could not clean temp dir: %s", e, exc_info=True)
|
||||
if server_sock is not None:
|
||||
try:
|
||||
server_sock.close()
|
||||
except OSError as e:
|
||||
logger.debug("Server socket close error: %s", e)
|
||||
import shutil
|
||||
shutil.rmtree(tmpdir, ignore_errors=True)
|
||||
try:
|
||||
os.unlink(sock_path)
|
||||
except OSError as e:
|
||||
logger.debug("Could not remove socket file: %s", e, exc_info=True)
|
||||
except OSError:
|
||||
pass # already cleaned up or never created
|
||||
|
||||
|
||||
def _kill_process_group(proc, escalate: bool = False):
|
||||
|
||||
Reference in New Issue
Block a user