Title: [204577] trunk/Tools
Revision
204577
Author
[email protected]
Date
2016-08-17 15:18:36 -0700 (Wed, 17 Aug 2016)

Log Message

Extra logging for crash reason
https://bugs.webkit.org/show_bug.cgi?id=160943

Patch by Jonathan Bedard <[email protected]> on 2016-08-17
Reviewed by Alexey Proskuryakov.

A number of tests have been erroneously marked as crashed, this should help diagnose these false crashes.

* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Add extra logging to determine why a process has been marked as crashed.
(ServerProcess._wait_for_data_and_update_buffers_using_select): Ditto.
(ServerProcess.has_crashed): Ditto.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (204576 => 204577)


--- trunk/Tools/ChangeLog	2016-08-17 22:04:08 UTC (rev 204576)
+++ trunk/Tools/ChangeLog	2016-08-17 22:18:36 UTC (rev 204577)
@@ -1,3 +1,17 @@
+2016-08-17  Jonathan Bedard  <[email protected]>
+
+        Extra logging for crash reason
+        https://bugs.webkit.org/show_bug.cgi?id=160943
+
+        Reviewed by Alexey Proskuryakov.
+
+        A number of tests have been erroneously marked as crashed, this should help diagnose these false crashes.
+
+        * Scripts/webkitpy/port/server_process.py:
+        (ServerProcess.write): Add extra logging to determine why a process has been marked as crashed.
+        (ServerProcess._wait_for_data_and_update_buffers_using_select): Ditto.
+        (ServerProcess.has_crashed): Ditto.
+
 2016-08-17  Dan Bernstein  <[email protected]>
 
         [Cocoa] -[NSString isEqualToString:] returns NO for any WKNSString argument

Modified: trunk/Tools/Scripts/webkitpy/port/server_process.py (204576 => 204577)


--- trunk/Tools/Scripts/webkitpy/port/server_process.py	2016-08-17 22:04:08 UTC (rev 204576)
+++ trunk/Tools/Scripts/webkitpy/port/server_process.py	2016-08-17 22:18:36 UTC (rev 204577)
@@ -156,6 +156,7 @@
             # stop() calls _reset(), so we have to set crashed to True after calling stop()
             # unless we already know that this is a timeout.
             if not ignore_crash:
+                _log.debug('This test marked as a crash because of a broken pipe when writing to stdin of the server process.')
                 self._crashed = True
 
     def _pop_stdout_line_if_ready(self):
@@ -255,6 +256,7 @@
             if out_fd in read_fds:
                 data = ""
                 if not data and not stopping and (self._treat_no_data_as_crash or self._proc.poll()):
+                    _log.debug('This test marked as a crash because of no data while reading stdout for the server process.')
                     self._crashed = True
                 self._output += data
 
@@ -261,6 +263,7 @@
             if err_fd in read_fds:
                 data = ""
                 if not data and not stopping and (self._treat_no_data_as_crash or self._proc.poll()):
+                    _log.debug('This test marked as a crash because of no data while reading stdout for the server process.')
                     self._crashed = True
                 self._error += data
         except IOError, e:
@@ -301,6 +304,7 @@
 
     def has_crashed(self):
         if not self._crashed and self.poll():
+            _log.debug('This test marked as a crash because of failure to poll the server process.')
             self._crashed = True
             self._handle_possible_interrupt()
         return self._crashed
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to