Title: [177722] trunk/Tools
- Revision
- 177722
- Author
- [email protected]
- Date
- 2014-12-24 00:34:55 -0800 (Wed, 24 Dec 2014)
Log Message
DumpRenderTree crashes are mis-reported as timeouts on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=139933
Reviewed by Daniel Bates.
Crash logs take a very long time to be generated on Yosemite (rdar://problem/18701447),
and there is no way for run-webkit-tests to tell a crashed process from a frozen one
until ReportCrash lets it go.
Reuse existing machinery that tells run-webkit-tests about crashes. The script may
even get the actual crash log eventually - even when it times out waiting for the log, it
makes a second lookup at the very end, after all tests finish. There may be further
improvements needed here, but this small fix addresses most cases that happen in practice.
* DumpRenderTree/mac/DumpRenderTree.mm:
(writeCrashedMessageOnFatalError):
(dumpRenderTree):
Removed PLATFORM(IOS) ifdefs, this code is just as helpful on Mac.
* Scripts/webkitpy/port/driver.py: (Driver._check_for_driver_crash): Removed an
unhelpful comment.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (177721 => 177722)
--- trunk/Tools/ChangeLog 2014-12-24 05:34:39 UTC (rev 177721)
+++ trunk/Tools/ChangeLog 2014-12-24 08:34:55 UTC (rev 177722)
@@ -1,5 +1,29 @@
2014-12-23 Alexey Proskuryakov <[email protected]>
+ DumpRenderTree crashes are mis-reported as timeouts on Yosemite
+ https://bugs.webkit.org/show_bug.cgi?id=139933
+
+ Reviewed by Daniel Bates.
+
+ Crash logs take a very long time to be generated on Yosemite (rdar://problem/18701447),
+ and there is no way for run-webkit-tests to tell a crashed process from a frozen one
+ until ReportCrash lets it go.
+
+ Reuse existing machinery that tells run-webkit-tests about crashes. The script may
+ even get the actual crash log eventually - even when it times out waiting for the log, it
+ makes a second lookup at the very end, after all tests finish. There may be further
+ improvements needed here, but this small fix addresses most cases that happen in practice.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (writeCrashedMessageOnFatalError):
+ (dumpRenderTree):
+ Removed PLATFORM(IOS) ifdefs, this code is just as helpful on Mac.
+
+ * Scripts/webkitpy/port/driver.py: (Driver._check_for_driver_crash): Removed an
+ unhelpful comment.
+
+2014-12-23 Alexey Proskuryakov <[email protected]>
+
Don't force -O1 for debug ASan builds
https://bugs.webkit.org/show_bug.cgi?id=139926
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (177721 => 177722)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2014-12-24 05:34:39 UTC (rev 177721)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2014-12-24 08:34:55 UTC (rev 177722)
@@ -1121,7 +1121,6 @@
#endif
}
-#if PLATFORM(IOS)
const char crashedMessage[] = "#CRASHED\n";
void writeCrashedMessageOnFatalError(int signalCode)
@@ -1134,7 +1133,6 @@
write(STDERR_FILENO, &crashedMessage[0], sizeof(crashedMessage) - 1);
fsync(STDERR_FILENO);
}
-#endif
void dumpRenderTree(int argc, const char *argv[])
{
@@ -1150,12 +1148,12 @@
dup2(outfd, STDOUT_FILENO);
int errfd = open(stderrPath, O_RDWR | O_NONBLOCK);
dup2(errfd, STDERR_FILENO);
+#endif
signal(SIGILL, &writeCrashedMessageOnFatalError);
signal(SIGFPE, &writeCrashedMessageOnFatalError);
signal(SIGBUS, &writeCrashedMessageOnFatalError);
signal(SIGSEGV, &writeCrashedMessageOnFatalError);
-#endif
initializeGlobalsFromCommandLineOptions(argc, argv);
prepareConsistentTestingEnvironment();
Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (177721 => 177722)
--- trunk/Tools/Scripts/webkitpy/port/driver.py 2014-12-24 05:34:39 UTC (rev 177721)
+++ trunk/Tools/Scripts/webkitpy/port/driver.py 2014-12-24 08:34:55 UTC (rev 177722)
@@ -374,8 +374,6 @@
def _check_for_driver_crash(self, error_line):
if error_line == "#CRASHED\n":
- # This is used on Windows and iOS to report that the process has crashed
- # See http://trac.webkit.org/changeset/65537.
self._crashed_process_name = self._server_process.name()
self._crashed_pid = self._server_process.pid()
elif (error_line.startswith("#CRASHED - ")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes