Skip to content

Commit 216d5dd

Browse files
committed
executor: dump worker stacks on SIGUSR2
1 parent e35defa commit 216d5dd

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

vllm/v1/executor/multiproc_executor.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# SPDX-License-Identifier: Apache-2.0
22
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3+
import faulthandler
34
import multiprocessing
45
import os
56
import pickle
67
import queue
78
import signal
9+
import sys
810
import threading
911
import time
1012
import traceback
@@ -810,6 +812,14 @@ def signal_handler(signum, frame):
810812
# Either SIGTERM or SIGINT will terminate the worker
811813
signal.signal(signal.SIGTERM, signal_handler)
812814
signal.signal(signal.SIGINT, signal_handler)
815+
if hasattr(signal, "SIGUSR2"):
816+
817+
def dump_stack_handler(signum, frame):
818+
del frame
819+
logger.warning("WorkerProc dumping stacks for signal %d", signum)
820+
faulthandler.dump_traceback(file=sys.stderr, all_threads=True)
821+
822+
signal.signal(signal.SIGUSR2, dump_stack_handler)
813823

814824
worker = None
815825
ready_writer = kwargs.pop("ready_pipe")

0 commit comments

Comments
 (0)