Changeset 245544 in webkit
- Timestamp:
- May 20, 2019 6:52:52 PM (5 years ago)
- Location:
- trunk/Tools
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r245541 r245544 1 2019-05-20 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 run-webkit-tests not gathering crash logs on Cygwin Python and Windows Python 4 https://bugs.webkit.org/show_bug.cgi?id=179828 5 6 Reviewed by Jonathan Bedard. 7 8 ServerProcess should store its Windows PID for Cygwin before 9 process crashing because the Windows PID is required to get a 10 correct CrashLog. 11 12 CrashLog format has been changed. CrashLogs.GLOBAL_PID_REGEX 13 should accept the new format. 14 15 * Scripts/webkitpy/common/system/crashlogs.py: 16 (CrashLogs.GLOBAL_PID_REGEX): Accept any words between 'Global' and 'PID:'. 17 18 * Scripts/webkitpy/port/driver.py: 19 (Driver.has_crashed): 20 (Driver._check_for_driver_crash_or_unresponsiveness): 21 (Driver._read_block): 22 Store server_process.system_pid() to self._crashed_pid instead of server_process.pid(). 23 24 * Scripts/webkitpy/port/server_process.py: 25 (ServerProcess.__init__): 26 (ServerProcess.system_pid): Added. 27 (ServerProcess._find_system_pid): Added. 28 (ServerProcess._start): Set self._system_pid. 29 * Scripts/webkitpy/port/win.py: 30 (WinPort._get_crash_log): Removed broken old code converting Cygwin pid to Windows pid. 31 1 32 2019-05-20 Aakash Jain <aakash_jain@apple.com> 2 33 -
trunk/Tools/Scripts/webkitpy/common/system/crashlogs.py
r225959 r245544 38 38 class CrashLogs(object): 39 39 40 GLOBAL_PID_REGEX = re.compile(r'\s+Global\s+PID:\s+\[(?P<pid>\d+)\]') 40 # Matches a string like ' Global D1 PID: [14516]' 41 GLOBAL_PID_REGEX = re.compile(r'\s+Global\b.+\bPID:\s+\[(?P<pid>\d+)\]') 41 42 EXIT_PROCESS_PID_REGEX = re.compile(r'Exit process \d+:(?P<pid>\w+), code') 42 43 DARWIN_PROCESS_REGEX = re.compile(r'^Process:\s+(?P<process_name>.*) \[(?P<pid>\d+)\]$') -
trunk/Tools/Scripts/webkitpy/port/driver.py
r243559 r245544 388 388 if self._server_process.has_crashed(): 389 389 self._crashed_process_name = self._server_process.process_name() 390 self._crashed_pid = self._server_process. pid()390 self._crashed_pid = self._server_process.system_pid() 391 391 return True 392 392 return False … … 536 536 if crashed_check == "#CRASHED": 537 537 self._crashed_process_name = self._server_process.process_name() 538 self._crashed_pid = self._server_process. pid()538 self._crashed_pid = self._server_process.system_pid() 539 539 return True 540 540 elif error_line.startswith("#CRASHED - "): … … 694 694 if asan_violation_detected and not self._crashed_process_name: 695 695 self._crashed_process_name = self._server_process.process_name() 696 self._crashed_pid = self._server_process. pid()696 self._crashed_pid = self._server_process.system_pid() 697 697 698 698 block.decode_content() -
trunk/Tools/Scripts/webkitpy/port/driver_unittest.py
r220111 r245544 225 225 return 1234 226 226 227 def system_pid(self): 228 return self.pid() 229 227 230 def process_name(self): 228 231 return 'FakeServerProcess' -
trunk/Tools/Scripts/webkitpy/port/server_process.py
r244080 r245544 78 78 self._target_host = target_host or port_obj.host 79 79 self._pid = None 80 self._system_pid = None 80 81 self._child_processes = {} 81 82 self._reset() … … 93 94 def pid(self): 94 95 return self._pid 96 97 def system_pid(self): 98 return self._system_pid 95 99 96 100 def _reset(self): … … 131 135 universal_newlines=self._universal_newlines) 132 136 self._pid = self._proc.pid 137 self._system_pid = int(self._port._filesystem.read_text_file('/proc/%d/winpid' % self._pid)) if self._port.host.platform.is_cygwin() else self._pid 133 138 self._child_processes = {} 134 139 if not self._use_win32_apis: -
trunk/Tools/Scripts/webkitpy/port/win.py
r245169 r245544 426 426 deadline = now + 5 * int(self.get_option('child_processes', 1)) 427 427 while not crash_log and now <= deadline: 428 # If the system_pid hasn't been determined yet, just try with the passed in pid. We'll be checking again later 429 system_pid = self._executive.pid_to_system_pid.get(pid) 430 if system_pid == None: 431 break # We haven't mapped cygwin pid->win pid yet 432 crash_log = crash_logs.find_newest_log(name, system_pid, include_errors=True, newer_than=newer_than) 428 crash_log = crash_logs.find_newest_log(name, pid, include_errors=True, newer_than=newer_than) 433 429 if not wait_for_log: 434 430 break
Note: See TracChangeset
for help on using the changeset viewer.