Bug 1442630: Use execvp to avoid signal handling issues in jit_test.py debugging support r=sfink
☠☠ backed out by 3b55dca17a58 ☠ ☠
authorMatthew Gaudet <mgaudet@mozilla.com>
Fri, 02 Mar 2018 07:07:28 -0800
changeset 443169 d5a6095b6931949ff78e5999b01b695ead711eba
parent 443168 6baeb0cb9aeb5fd629fc697ea68f814328aaba43
child 443170 d43cadbbec77723f74af8f545dcaf8549e2a6c22
push id34943
push usercsabou@mozilla.com
push dateFri, 26 Oct 2018 21:57:01 +0000
treeherdermozilla-central@3dc7cdbb2b5f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssfink
bugs1442630
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1442630: Use execvp to avoid signal handling issues in jit_test.py debugging support r=sfink
js/src/jit-test/jit_test.py
--- a/js/src/jit-test/jit_test.py
+++ b/js/src/jit-test/jit_test.py
@@ -370,19 +370,21 @@ def main(argv):
         elif options.debugger == 'lldb':
             debug_cmd = ['lldb', '--']
         elif options.debugger == 'rr':
             debug_cmd = ['rr', 'record']
         else:
             debug_cmd = options.debugger.split()
 
         with change_env(test_environment):
-            subprocess.call(debug_cmd + tc.command(prefix, jittests.LIB_DIR, jittests.MODULE_DIR))
             if options.debugger == 'rr':
-                subprocess.call(['rr', 'replay'])
+                subprocess.call(debug_cmd + tc.command(prefix, jittests.LIB_DIR, jittests.MODULE_DIR))
+                os.execvp('rr', ['rr', 'replay'])
+            else:
+                os.execvp(debug_cmd[0], debug_cmd + tc.command(prefix, jittests.LIB_DIR, jittests.MODULE_DIR))
         sys.exit()
 
     try:
         ok = None
         if options.remote:
             ok = jittests.run_tests(job_list, job_count, prefix, options, remote=True)
         else:
             with change_env(test_environment):