<?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>160325</bug_id>
          
          <creation_ts>2016-07-28 16:10:17 -0700</creation_ts>
          <short_desc>Function Call on NULL Object</short_desc>
          <delta_ts>2016-08-01 10:51:24 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215435</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-07-28 16:10:17 -0700</bug_when>
    <thetext>In InjectedBundle.cpp, the &apos;reset&apos; signal is received at the beginning of a test run.  In this reset, all web notifications are removed from the test runner.  However, the first reset message is received before the test runner has been instantiated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215436</commentid>
    <comment_count>1</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-07-28 16:11:51 -0700</bug_when>
    <thetext>Note that this problem was only revealed with UBSan since removeAllWebNotifications() does not actually need the test runner to be instantiated to function.

Another possible solution is to make this function a static one, but that would pollute the global namespace and may not be desired.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215439</commentid>
    <comment_count>2</comment_count>
      <attachid>284832</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-07-28 16:15:48 -0700</bug_when>
    <thetext>Created attachment 284832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215453</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-28 16:33:14 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Another possible solution is to make this function a static one, but that
&gt; would pollute the global namespace and may not be desired.

We should make it a static member function. That won’t pollute any namespaces at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215561</commentid>
    <comment_count>4</comment_count>
      <attachid>284867</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-07-29 09:15:10 -0700</bug_when>
    <thetext>Created attachment 284867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215562</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2016-07-29 09:17:26 -0700</bug_when>
    <thetext>I made all functions in this family static, since none of them actually need the object to work.

As a larger architectural question: why aren&apos;t more functions in the TestRunner static?  Inspection of the code seems to indicate that most functions in the TestRunner could be declared as static.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216141</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-01 10:31:43 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; As a larger architectural question: why aren&apos;t more functions in the
&gt; TestRunner static?  Inspection of the code seems to indicate that most
&gt; functions in the TestRunner could be declared as static.

TestRunner is primarily an object that exposes bindings to be called from JavaScript using the JavaScript testRunner object exposed to tests. People writing these functions probably don’t think about which ones do and don’t need the state; it would be fine, although not particularly important, to change any that can be static member functions to be defined that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216155</commentid>
    <comment_count>7</comment_count>
      <attachid>284867</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-01 10:51:20 -0700</bug_when>
    <thetext>Comment on attachment 284867
Patch

Clearing flags on attachment: 284867

Committed r203975: &lt;http://trac.webkit.org/changeset/203975&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1216156</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-01 10:51:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284832</attachid>
            <date>2016-07-28 16:15:48 -0700</date>
            <delta_ts>2016-07-29 09:15:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160325-20160728161435.patch</filename>
            <type>text/plain</type>
            <size>1339</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwMzg0NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDE2LTA3LTI4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBGdW5jdGlvbiBDYWxsIG9uIE5VTEwgT2JqZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzMjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1
bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOiBGaXhlZCByZW1vdmVBbGxXZWJOb3RpZmlj
YXRpb25zKCkgYmVpbmcgY2FsbGVkIGJ5IGEgTlVMTCB0ZXN0IHJ1bm5lci4KKwogMjAxNi0wNy0y
OCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBGcmVx
dWVudCBhbmltYXRpb24gbGFncyB3aGVuIGludGVyYWN0aW5nIHdpdGggU2FmYXJpIChzaWRlYmFy
LCB0YWIgc3dpdGNoaW5nLCBldGMuKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHJldmlzaW9uIDIw
MzgzMCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTAsNyArMTkwLDggQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUbwogICAgICAgICBtX3BpeGVsUmVzdWx0SXNQZW5k
aW5nID0gZmFsc2U7CiAKICAgICAgICAgcmVzZXRMb2NhbFNldHRpbmdzKCk7Ci0gICAgICAgIG1f
dGVzdFJ1bm5lci0+cmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKKyAgICAg
ICAgaWYgKG1fdGVzdFJ1bm5lcikKKyAgICAgICAgICAgIG1fdGVzdFJ1bm5lci0+cmVtb3ZlQWxs
V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIAogICAgICAgICBJbmplY3RlZEJ1bmRsZTo6
cGFnZSgpLT5yZXNldEFmdGVyVGVzdCgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284867</attachid>
            <date>2016-07-29 09:15:10 -0700</date>
            <delta_ts>2016-08-01 10:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160325-20160729091356.patch</filename>
            <type>text/plain</type>
            <size>2356</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwMzkwMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE2LTA3LTI5ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBGdW5jdGlvbiBDYWxsIG9uIE5VTEwgT2JqZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjAzMjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1
bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOiBDaGFuZ2VkIHJlbW92ZUFsbFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb25zKCkgY2FsbCB0byBzdGF0aWMgZnVuY3Rpb24gY2FsbC4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDogTWFkZSBh
bGwgd2ViLW5vdGlmaWNhdGlvbiBmdW5jdGlvbnMgc3RhdGljLgorCiAyMDE2LTA3LTI5ICBUaWJv
ciBNZXN6YXJvcyAgPHRtZXN6YXJvcy51LXN6ZWdlZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFVwZGF0ZSBmb3IgY29udHJpYnV0b3JzLmpzb24KSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
CShyZXZpc2lvbiAyMDM5MDApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkwLDcgKzE5MCw3IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG8KICAgICAgICAgbV9waXhl
bFJlc3VsdElzUGVuZGluZyA9IGZhbHNlOwogCiAgICAgICAgIHJlc2V0TG9jYWxTZXR0aW5ncygp
OwotICAgICAgICBtX3Rlc3RSdW5uZXItPnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Np
b25zKCk7CisgICAgICAgIFRlc3RSdW5uZXI6OnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKCk7CiAKICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnBhZ2UoKS0+cmVzZXRBZnRlclRl
c3QoKTsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9uIDIwMzkwMCkKKysrIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjks
MTAgKzI2OSwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNDdXN0b21GdWxsU2NyZWVuQmVoYXZp
b3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUZ1bGxTY3JlZW5CZWhhdmlvcjsgfQogCiAgICAg
Ly8gV2ViIG5vdGlmaWNhdGlvbnMuCi0gICAgdm9pZCBncmFudFdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb24oSlNTdHJpbmdSZWYgb3JpZ2luKTsKLSAgICB2b2lkIGRlbnlXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKEpTU3RyaW5nUmVmIG9yaWdpbik7Ci0gICAgdm9pZCByZW1vdmVBbGxXZWJOb3Rp
ZmljYXRpb25QZXJtaXNzaW9ucygpOwotICAgIHZvaWQgc2ltdWxhdGVXZWJOb3RpZmljYXRpb25D
bGljayhKU1ZhbHVlUmVmIG5vdGlmaWNhdGlvbik7CisgICAgc3RhdGljIHZvaWQgZ3JhbnRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKEpTU3RyaW5nUmVmIG9yaWdpbik7CisgICAgc3RhdGljIHZv
aWQgZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oSlNTdHJpbmdSZWYgb3JpZ2luKTsKKyAg
ICBzdGF0aWMgdm9pZCByZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucygpOworICAg
IHN0YXRpYyB2b2lkIHNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2soSlNWYWx1ZVJlZiBub3Rp
ZmljYXRpb24pOwogCiAgICAgLy8gR2VvbG9jYXRpb24uCiAgICAgdm9pZCBzZXRHZW9sb2NhdGlv
blBlcm1pc3Npb24oYm9vbCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>