Bug 139933 - DumpRenderTree crashes are mis-reported as timeouts on Yosemite
Summary: DumpRenderTree crashes are mis-reported as timeouts on Yosemite
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alexey Proskuryakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-23 22:35 PST by Alexey Proskuryakov
Modified: 2014-12-24 00:35 PST (History)
5 users (show)

See Also:


Attachments
proposed fix (3.35 KB, patch)
2014-12-23 23:16 PST, Alexey Proskuryakov
dbates: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2014-12-23 22:35:54 PST
Generating a crash log takes ~2 minutes on my machine, which is longer than what run-webkit-tests waits before deciding that the tool crashed. Looking at bots, crashes are mis-reported as timeouts too.

See also: <rdar://problem/18701447>.
Comment 1 Alexey Proskuryakov 2014-12-23 23:16:09 PST
Created attachment 243727 [details]
proposed fix
Comment 2 Daniel Bates 2014-12-23 23:51:14 PST
Comment on attachment 243727 [details]
proposed fix

View in context: https://bugs.webkit.org/attachment.cgi?id=243727&action=review

> Tools/DumpRenderTree/mac/DumpRenderTree.mm:1141
>      NSString *identifier = [[NSBundle mainBundle] bundleIdentifier];
>      const char *stdinPath = [[NSString stringWithFormat:@"/tmp/%@_IN", identifier] UTF8String];
>      const char *stdoutPath = [[NSString stringWithFormat:@"/tmp/%@_OUT", identifier] UTF8String];

This code (lines 1139 thru 1149 in the proposed patch) is specific to the iOS LayoutTestRelay infrastructure (*) and hence should be guarded with PLATFORM(IOS). That is, we should only move the SIGNAL(3) calls outside the PLATFORM(IOS)-guard (lines 1151 thru 1154 in the proposed patch).

(*) On iOS we indirectly launch DumpRenderTree.app/WebKitTestRunnerApp.app using a helper app, LayoutTestRelay. We use FIFOs (see MKFIFO(1)) as the communication medium between LayoutTestRelay and DumpRenderTree.app/WebKitTestRunnerApp.app instead of using pipes because of limitations with respect to launching a process in the iOS Simulator.
Comment 3 Alexey Proskuryakov 2014-12-24 00:35:20 PST
Ah, so that's what this sorcery is about. Thanks!

Committed <http://trac.webkit.org/r177722>.