From 4d7009d7597e98a29cd774040ff72921a5e91768 Mon Sep 17 00:00:00 2001 From: "Jan Sierpina @ Solvti" Date: Thu, 14 Aug 2025 07:59:52 +0200 Subject: [PATCH] Dump trace on worker timeout --- odoo/service/server.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/odoo/service/server.py b/odoo/service/server.py index 35f88d97dc50a..a183765895474 100644 --- a/odoo/service/server.py +++ b/odoo/service/server.py @@ -921,6 +921,14 @@ def process_timeout(self): worker.__class__.__name__, pid, worker.watchdog_timeout) + # Dump stack trace of the timed-out worker before killing it + _logger.info("Dumping stack trace of timed-out worker (%s) before termination", pid) + try: + # Send SIGQUIT to trigger stack dump in the worker process + self.worker_kill(pid, signal.SIGQUIT) + time.sleep(0.1) + except OSError: + pass self.worker_kill(pid, signal.SIGKILL) def process_spawn(self):