Rarely, with proper timing, the LayoutTestRelay's simulator app can crash while the didReceiveStderrData and didReceiveStdoutData NSFileHandle delegate methods are running, but the pipe will be broken, so LayoutTestRelay will crash. We should catch NSFileHandleOperationException and call didCrashWithMessage, same as on the write side. We have broken pipe coverage for: webkitpy -> [stdin] LayoutTestRelay -> [stdin] DRT and need coverage for: webkitpy [stdout result] <- LayoutTestRelay [NSFileHandle] <- [stdout] DRT webkitpy [stderr result] <- LayoutTestRelay [NSFileHandle] <- [stderr] DRT
<rdar://problem/18635888>
Actually wait, this is on the webkitpy side, so I think this might actually be the case where we timed out, or a run was cancelled, and webkitpy stopped reading our stdout/stderr. I think the proper thing to do is just exit(1) here.
Created attachment 239736 [details] Patch
Attachment 239736 [details] did not pass style-queue: ERROR: Tools/LayoutTestRelay/LayoutTestRelay/LTRelayController.m:110: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Tools/LayoutTestRelay/LayoutTestRelay/LTRelayController.m:110: Extra space before ( in function call [whitespace/parens] [4] ERROR: Tools/LayoutTestRelay/LayoutTestRelay/LTRelayController.m:122: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Tools/LayoutTestRelay/LayoutTestRelay/LTRelayController.m:122: Extra space before ( in function call [whitespace/parens] [4] Total errors found: 4 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 239736 [details] Patch I suggest naming the exception “exception” rather than “e”.
Committed r174728: <http://trac.webkit.org/changeset/174728>
Thanks Darin -