From daa9cfd0a8ce9c93ab8fde2623344cca10f0158e Mon Sep 17 00:00:00 2001 From: David Wilson Date: Tue, 29 May 2018 18:08:26 +0100 Subject: [PATCH] ansible: MITOGEN_DUMP_THREAD_STACKS for mux process too --- ansible_mitogen/process.py | 3 +++ docs/ansible.rst | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ansible_mitogen/process.py b/ansible_mitogen/process.py index 236e8ab7..e36f173d 100644 --- a/ansible_mitogen/process.py +++ b/ansible_mitogen/process.py @@ -35,6 +35,7 @@ import sys import mitogen import mitogen.core +import mitogen.debug import mitogen.master import mitogen.parent import mitogen.service @@ -145,6 +146,8 @@ class MuxProcess(object): ) if 'MITOGEN_ROUTER_DEBUG' in os.environ: self.router.enable_debug() + if 'MITOGEN_DUMP_THREAD_STACKS' in os.environ: + mitogen.debug.dump_to_logger() def _setup_services(self): """ diff --git a/docs/ansible.rst b/docs/ansible.rst index a737d47f..210e85bf 100644 --- a/docs/ansible.rst +++ b/docs/ansible.rst @@ -648,6 +648,9 @@ is necessary. File-based logging can be enabled by setting When file-based logging is enabled, one file per context will be created on the local machine and every target machine, as ``/tmp/mitogen..log``. +If you are experiencing a hang, ``MITOGEN_DUMP_THREAD_STACKS=1`` causes every +process to dump every thread stack into the logging framework every 5 seconds. + Getting Help ~~~~~~~~~~~~