Hi Alexander, Would it be better if I signed up for Phabricator and sent this there? I was trying to avoid signing up to yet another service if it wasn't strictly needed but happy to do it if that's what is expected.
Thanks, Ian On Thu, 2021-02-11 at 10:22 +0000, Ian Campbell wrote: If a clang-tidy child process exits with a signal then run-clang-tidy will exit with an error but there is no hint why in the output, since the clang- tidy doesn't log anything and may not even have had the opportunity to do so depending on the signal used. `subprocess.CompletedProcess.returncode` is the negative signal number in this case. I hit this in a CI system where the parallelism used exceeded the RAM assigned to the container causing the OOM killer to SIGKILL clang-tidy processes. Cc: Alexander Kornienko <ale...@google.com> --- Please Cc me, I'm not subscribed to cfe-commits --- clang-tools-extra/clang-tidy/tool/run-clang-tidy.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py index 313ecd2f9571..8b2a5bf60d13 100755 --- a/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +++ b/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py @@ -170,6 +170,9 @@ def run_tidy(args, tmpdir, build_path, queue, lock, failed_files): proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = proc.communicate() if proc.returncode != 0: + if proc.returncode < 0: + msg = "%s: terminated by signal %d\n" % (name, - proc.returncode) + err += msg.encode('utf-8') failed_files.append(name) with lock: sys.stdout.write(' '.join(invocation) + '\n' + output.decode('utf-8')) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits