<?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>209254</bug_id>
          
          <creation_ts>2020-03-18 16:11:23 -0700</creation_ts>
          <short_desc>Delay calling &apos;notifyThisWebProcessPoolWasCreated&apos; until constructor finishes</short_desc>
          <delta_ts>2020-03-18 17:41:42 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1631404</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-18 16:11:23 -0700</bug_when>
    <thetext>The constructor for WebProcessPool calls a method &apos;notifyThisWebProcessPoolWasCreated&apos;, which calls a set of functions registered by observers interested in knowing that the pool was constructed.

However, since this call is made during the construction of the object, code that attempts to do things like Ref&lt;&gt; the WebProcessPool do so with a partially-constructed object.

Instead, we should enqueue the notification call so that it fires on the next spin of the runloop, after the current object is finished being constructed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631406</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-18 16:15:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/60564526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631411</commentid>
    <comment_count>2</comment_count>
      <attachid>393914</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-18 16:31:12 -0700</bug_when>
    <thetext>Created attachment 393914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631415</commentid>
    <comment_count>3</comment_count>
      <attachid>393914</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-18 16:43:00 -0700</bug_when>
    <thetext>Comment on attachment 393914
Patch

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

I think this is likely fine. I have added Brady in cc though because I think he added this code.

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:309
&gt; +    ASSERT(isMainThread());

We should not be using isMainThread() in the UIProcess because an app on iOS may be using for WK1 and WK2. You want RunLoop::isMain() instead.

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:310
&gt; +    callOnMainThread([weakPtr = makeWeakPtr(this)] {

makeWeakPtr(*this) will save a branch.

Also this needs to be RunLoop::main() dispatch() for same reasons as above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631426</commentid>
    <comment_count>4</comment_count>
      <attachid>393918</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-18 16:58:27 -0700</bug_when>
    <thetext>Created attachment 393918
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631430</commentid>
    <comment_count>5</comment_count>
      <attachid>393920</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-18 17:04:16 -0700</bug_when>
    <thetext>Created attachment 393920
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631447</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-18 17:41:41 -0700</bug_when>
    <thetext>Committed r258671: &lt;https://trac.webkit.org/changeset/258671&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 393920.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393914</attachid>
            <date>2020-03-18 16:31:12 -0700</date>
            <delta_ts>2020-03-18 16:58:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209254-20200318163110.patch</filename>
            <type>text/plain</type>
            <size>1636</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1ZTM5ZjI3NjY0OWFjM2Yw
YjljOWVkOTM1YmQ3OGNjOWRkMDdlNjguLjc5ZWUwMzcwYzdmNzM4MDNlZjgxYjFhZTJlOWQyOTA4
OWQ0MDE5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgY2FsbGluZyAnbm90
aWZ5VGhpc1dlYlByb2Nlc3NQb29sV2FzQ3JlYXRlZCcgaW5zaWRlIHRoZSBjb25zdHJ1Y3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MjU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDU2NDUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnF1ZXVlIGNhbGxzIHRvICdub3RpZnlUaGlzV2Vi
UHJvY2Vzc1Bvb2xXYXNDcmVhdGVkJyBzbyB0aGV5IGFyZSBub3QgaW52b2tlZCB1bnRpbAorICAg
ICAgICBhZnRlciB0aGUgcHJvY2VzcyBwb29sIGlzIGZpbmlzaGVkIHdpdGggaXRzIGNvbnN0cnVj
dG9yLgorCisgICAgICAgIEJlaGF2aW9yIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2wpOgorCiAyMDIwLTAzLTE3ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IEdUSyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBlODQw
ZGE1MWFlMWRiMzEwYjg1MTYwYjdhYmM4NjAyYjQ5YzAwNGNmLi5kNDk0YzBhMDVkMTJhYTFmNTAw
NWZhZWVhZDNjOWYzYTcxYzRkYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCkBAIC0zMDYsNyArMzA2LDEzIEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9j
ZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAg
ICBwcm9jZXNzUG9vbENvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5kaWYKIAotICAgIG5vdGlmeVRo
aXNXZWJQcm9jZXNzUG9vbFdhc0NyZWF0ZWQoKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OworICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtQdHIgPSBtYWtlV2Vha1B0cih0aGlzKV0gewor
ICAgICAgICBpZiAoIXdlYWtQdHIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgd2Vh
a1B0ci0+bm90aWZ5VGhpc1dlYlByb2Nlc3NQb29sV2FzQ3JlYXRlZCgpOworICAgIH0pOwogCiAg
ICAgdXBkYXRlQmFja0ZvcndhcmRDYWNoZUNhcGFjaXR5KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393918</attachid>
            <date>2020-03-18 16:58:27 -0700</date>
            <delta_ts>2020-03-18 17:04:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-209254-20200318165826.patch</filename>
            <type>text/plain</type>
            <size>1650</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1ZTM5ZjI3NjY0OWFjM2Yw
YjljOWVkOTM1YmQ3OGNjOWRkMDdlNjguLmUwMDgyZjU2YWM2NjA5YWE0NWUwMjI0NWQ0ODAzZmNm
ZThhOWZiZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgY2FsbGluZyAnbm90
aWZ5VGhpc1dlYlByb2Nlc3NQb29sV2FzQ3JlYXRlZCcgaW5zaWRlIHRoZSBjb25zdHJ1Y3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MjU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDU2NDUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEVucXVldWUgY2FsbHMgdG8gJ25vdGlmeVRoaXNX
ZWJQcm9jZXNzUG9vbFdhc0NyZWF0ZWQnIHNvIHRoZXkgYXJlIG5vdCBpbnZva2VkIHVudGlsCisg
ICAgICAgIGFmdGVyIHRoZSBwcm9jZXNzIHBvb2wgaXMgZmluaXNoZWQgd2l0aCBpdHMgY29uc3Ry
dWN0b3IuCisKKyAgICAgICAgQmVoYXZpb3IgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbCk6CisKIDIwMjAtMDMtMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggR1RLIGJ1
aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGU4
NDBkYTUxYWUxZGIzMTBiODUxNjBiN2FiYzg2MDJiNDljMDA0Y2YuLmVjYmMxN2MyNTU4YWRkMjUx
MjYxNzk0ZTQ2MmM3MTdlZDFmYzQzYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKQEAgLTMwNiw3ICszMDYsMTMgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlBy
b2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQog
ICAgIHByb2Nlc3NQb29sQ291bnRlci5pbmNyZW1lbnQoKTsKICNlbmRpZgogCi0gICAgbm90aWZ5
VGhpc1dlYlByb2Nlc3NQb29sV2FzQ3JlYXRlZCgpOworICAgIEFTU0VSVChSdW5Mb29wOjppc01h
aW4oKSk7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt3ZWFrUHRyID0gbWFrZVdlYWtQ
dHIoKnRoaXMpXSB7CisgICAgICAgIGlmICghd2Vha1B0cikKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICB3ZWFrUHRyLT5ub3RpZnlUaGlzV2ViUHJvY2Vzc1Bvb2xXYXNDcmVhdGVkKCk7
CisgICAgfSk7CiAKICAgICB1cGRhdGVCYWNrRm9yd2FyZENhY2hlQ2FwYWNpdHkoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393920</attachid>
            <date>2020-03-18 17:04:16 -0700</date>
            <delta_ts>2020-03-18 17:41:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-209254-20200318170415.patch</filename>
            <type>text/plain</type>
            <size>1666</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1ZTM5ZjI3NjY0OWFjM2Yw
YjljOWVkOTM1YmQ3OGNjOWRkMDdlNjguLjk4ZDZjNGJkMDNmNTUzMTU0YjFmMjg1NWNjMjEyODhl
MDM0MDc4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTggIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgY2FsbGluZyAnbm90
aWZ5VGhpc1dlYlByb2Nlc3NQb29sV2FzQ3JlYXRlZCcgaW5zaWRlIHRoZSBjb25zdHJ1Y3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MjU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDU2NDUyNj4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuIGFuZCBDaHJpcyBEdW1lei4KKworICAgICAgICBFbnF1ZXVlIGNhbGxz
IHRvICdub3RpZnlUaGlzV2ViUHJvY2Vzc1Bvb2xXYXNDcmVhdGVkJyBzbyB0aGV5IGFyZSBub3Qg
aW52b2tlZCB1bnRpbAorICAgICAgICBhZnRlciB0aGUgcHJvY2VzcyBwb29sIGlzIGZpbmlzaGVk
IHdpdGggaXRzIGNvbnN0cnVjdG9yLgorCisgICAgICAgIEJlaGF2aW9yIGNvdmVyZWQgYnkgZXhp
c3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2wpOgorCiAyMDIw
LTAzLTE3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgRml4IEdUSyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAppbmRleCBlODQwZGE1MWFlMWRiMzEwYjg1MTYwYjdhYmM4NjAyYjQ5YzAwNGNmLi5l
Y2JjMTdjMjU1OGFkZDI1MTI2MTc5NGU0NjJjNzE3ZWQxZmM0M2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0zMDYsNyArMzA2LDEzIEBAIFdlYlBy
b2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYg
Y29uZmlndXJhdGlvbikKICAgICBwcm9jZXNzUG9vbENvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5k
aWYKIAotICAgIG5vdGlmeVRoaXNXZWJQcm9jZXNzUG9vbFdhc0NyZWF0ZWQoKTsKKyAgICBBU1NF
UlQoUnVuTG9vcDo6aXNNYWluKCkpOworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbd2Vh
a1B0ciA9IG1ha2VXZWFrUHRyKCp0aGlzKV0geworICAgICAgICBpZiAoIXdlYWtQdHIpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgd2Vha1B0ci0+bm90aWZ5VGhpc1dlYlByb2Nlc3NQ
b29sV2FzQ3JlYXRlZCgpOworICAgIH0pOwogCiAgICAgdXBkYXRlQmFja0ZvcndhcmRDYWNoZUNh
cGFjaXR5KCk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>