<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>137662</bug_id>
          
          <creation_ts>2014-10-13 11:28:25 -0700</creation_ts>
          <short_desc>[iOS] LayoutTestRelay: Detect broken pipe when webkitpy cancels a run</short_desc>
          <delta_ts>2014-10-15 10:01:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Farler">dfarler</reporter>
          <assigned_to name="David Farler">dfarler</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1041313</commentid>
    <comment_count>0</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-13 11:28:25 -0700</bug_when>
    <thetext>Rarely, with proper timing, the LayoutTestRelay&apos;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 -&gt; [stdin] LayoutTestRelay -&gt; [stdin] DRT

and need coverage for:
webkitpy [stdout result] &lt;- LayoutTestRelay [NSFileHandle] &lt;- [stdout] DRT
webkitpy [stderr result] &lt;- LayoutTestRelay [NSFileHandle] &lt;- [stderr] DRT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041317</commentid>
    <comment_count>1</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-13 11:28:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/18635888&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041319</commentid>
    <comment_count>2</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-13 11:38:45 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041321</commentid>
    <comment_count>3</comment_count>
      <attachid>239736</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-13 11:45:03 -0700</bug_when>
    <thetext>Created attachment 239736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041323</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-13 11:46:35 -0700</bug_when>
    <thetext>Attachment 239736 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041873</commentid>
    <comment_count>5</comment_count>
      <attachid>239736</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-15 09:40:55 -0700</bug_when>
    <thetext>Comment on attachment 239736
Patch

I suggest naming the exception “exception” rather than “e”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041878</commentid>
    <comment_count>6</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-15 10:01:16 -0700</bug_when>
    <thetext>Committed r174728: &lt;http://trac.webkit.org/changeset/174728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041879</commentid>
    <comment_count>7</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-10-15 10:01:33 -0700</bug_when>
    <thetext>Thanks Darin -</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239736</attachid>
            <date>2014-10-13 11:45:03 -0700</date>
            <delta_ts>2014-10-15 09:40:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137662-20141013114507.patch</filename>
            <type>text/plain</type>
            <size>2495</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NjI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2Q0OTMwN2YwMjFlZDdkMTI2YmYyMjM3MzllMzZkY2Vh
NjI4MDkyNy4uYWYxYjVmMTg2ZDE2ZWZjZDY1ZTZkOTYwMWYxMzExOTBmZjhmODE1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE0LTEwLTEzICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBMYXlvdXRUZXN0UmVsYXk6IERldGVjdCBicm9rZW4gcGlwZSB3aGVuIHJlYWRp
bmcgc2ltdWxhdG9yIGFwcCdzIHN0ZG91dCBhbmQgc3RkZXJyLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NjYyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGxheW91dCB0ZXN0IGhhcm5lc3MgY2Fu
IGNsb3NlIExheW91dFRlc3RSZWxheSdzIHN1YnByb2Nlc3MKKyAgICAgICAgc3Rkb3V0IGFuZCBz
dGRlcnIgaW4gdGhlIGNhc2Ugb2YgYSB0aW1lb3V0IG9yIGlmIGEgcnVuIGlzCisgICAgICAgIGNh
bmNlbGxlZCBhbmQgdGhlIEZJRk9zIGFyZSBjbGVhbmVkIHVwLiBJZiBMYXlvdXRUZXN0UmVsYXkK
KyAgICAgICAgZmluZHMgdGhhdCBubyBvbmUgaXMgbGlzdGVuaW5nIHRvIGl0cyBzdGRvdXQvc3Rk
ZXJyIChicm9rZW4KKyAgICAgICAgcGlwZSksIHRoZW4ganVzdCBleGl0KDEpLCB0aGVyZSBpcyBu
b3RoaW5nIHRvIHJlcG9ydC4KKworICAgICAgICAqIExheW91dFRlc3RSZWxheS9MYXlvdXRUZXN0
UmVsYXkvTFRSZWxheUNvbnRyb2xsZXIubToKKyAgICAgICAgKC1bTFRSZWxheUNvbnRyb2xsZXIg
ZGlkUmVjZWl2ZVN0ZG91dERhdGE6XSk6CisgICAgICAgIEFkZCBAdHJ5L0BjYXRjaCBmb3IgTlNG
aWxlSGFuZGxlT3BlcmF0aW9uRXhjZXB0aW9uLgorICAgICAgICAoLVtMVFJlbGF5Q29udHJvbGxl
ciBkaWRSZWNlaXZlU3RkZXJyRGF0YTpdKToKKyAgICAgICAgQWRkIEB0cnkvQGNhdGNoIGZvciBO
U0ZpbGVIYW5kbGVPcGVyYXRpb25FeGNlcHRpb24uCisKIDIwMTQtMTAtMTAgIERhdmlkIEZhcmxl
ciAgPGRmYXJsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIExheW91dFRlc3RSZWxheSBz
aG91bGQgZW5zdXJlIGl0cyBEUlQvV0tUUiBkaWVzIHdoZW4gcmVjZWl2aW5nIGtpbGwvdGVybSBz
aWduYWxzCmRpZmYgLS1naXQgYS9Ub29scy9MYXlvdXRUZXN0UmVsYXkvTGF5b3V0VGVzdFJlbGF5
L0xUUmVsYXlDb250cm9sbGVyLm0gYi9Ub29scy9MYXlvdXRUZXN0UmVsYXkvTGF5b3V0VGVzdFJl
bGF5L0xUUmVsYXlDb250cm9sbGVyLm0KaW5kZXggNjMxYzBlZmI1NzMyOTMwY2FiNjE4YmUxMjk4
M2JkNTY5OGEzOGVjNi4uOWRiYWE0NzE5NWJlZjRhOGJjODkxZGU2YTViYjg2ZTNiYjI2YTBmZCAx
MDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0xheW91dFRlc3RSZWxheS9MVFJlbGF5
Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL0xheW91dFRlc3RSZWxheS9MYXlvdXRUZXN0UmVsYXkv
TFRSZWxheUNvbnRyb2xsZXIubQpAQCAtMTA1LDEyICsxMDUsMjYgQEAgLSAoTlNTdHJpbmcgKilw
cm9jZXNzTmFtZQogCiAtICh2b2lkKWRpZFJlY2VpdmVTdGRvdXREYXRhOihOU0RhdGEgKilkYXRh
CiB7Ci0gICAgW1tzZWxmIHN0YW5kYXJkT3V0cHV0XSB3cml0ZURhdGE6ZGF0YV07CisgICAgQHRy
eSB7CisgICAgICAgIFtbc2VsZiBzdGFuZGFyZE91dHB1dF0gd3JpdGVEYXRhOmRhdGFdOworICAg
IH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZSkgeworICAgICAgICAvLyBOU0ZpbGVIYW5kbGVPcGVy
YXRpb25FeGNlcHRpb24KKyAgICAgICAgLy8gQnJva2VuIHBpcGUgLSB0aGUgdGVzdCBoYXJuZXNz
IHN0b3BwZWQgbGlzdGVuaW5nIHRvIHVzLAorICAgICAgICAvLyBwcm9iYWJseSBiZWNhdXNlIHdl
IHRpbWVkIG91dCBvciBhIHJ1biB3YXMgY2FuY2VsZWQuCisgICAgICAgIGV4aXQoRVhJVF9GQUlM
VVJFKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpZGlkUmVjZWl2ZVN0ZGVyckRhdGE6KE5TRGF0YSAq
KWRhdGEKIHsKLSAgICBbW3NlbGYgc3RhbmRhcmRFcnJvcl0gd3JpdGVEYXRhOmRhdGFdOworICAg
IEB0cnkgeworICAgICAgICBbW3NlbGYgc3RhbmRhcmRFcnJvcl0gd3JpdGVEYXRhOmRhdGFdOwor
ICAgIH0gQGNhdGNoIChOU0V4Y2VwdGlvbiAqZSkgeworICAgICAgICAvLyBOU0ZpbGVIYW5kbGVP
cGVyYXRpb25FeGNlcHRpb24KKyAgICAgICAgLy8gQnJva2VuIHBpcGUgLSB0aGUgdGVzdCBoYXJu
ZXNzIHN0b3BwZWQgbGlzdGVuaW5nIHRvIHVzLAorICAgICAgICAvLyBwcm9iYWJseSBiZWNhdXNl
IHdlIHRpbWVkIG91dCBvciBhIHJ1biB3YXMgY2FuY2VsZWQuCisgICAgICAgIGV4aXQoRVhJVF9G
QUlMVVJFKTsKKyAgICB9CiB9CiAKIC0gKHZvaWQpZGlkRGlzY29ubmVjdAo=
</data>
<flag name="review"
          id="264459"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>