<?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>186017</bug_id>
          
          <creation_ts>2018-05-27 06:57:24 -0700</creation_ts>
          <short_desc>[WTF] RandomDevice should be initialized inside std::call_once</short_desc>
          <delta_ts>2018-07-01 21:25:18 -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>New Bugs</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>
          <dependson>186014</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1427809</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-27 06:57:24 -0700</bug_when>
    <thetext>[WTF] RandomDevice should be initialized inside std::call_once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427810</commentid>
    <comment_count>1</comment_count>
      <attachid>341420</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-27 06:58:19 -0700</bug_when>
    <thetext>Created attachment 341420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1428936</commentid>
    <comment_count>2</comment_count>
      <attachid>341420</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-05-31 11:46:39 -0700</bug_when>
    <thetext>Comment on attachment 341420
Patch

Marking r- to get out of review queue, as EWS is all red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436797</commentid>
    <comment_count>3</comment_count>
      <attachid>343674</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-26 19:04:46 -0700</bug_when>
    <thetext>Created attachment 343674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437480</commentid>
    <comment_count>4</comment_count>
      <attachid>343674</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-06-28 12:33:03 -0700</bug_when>
    <thetext>Comment on attachment 343674
Patch

Informal review is that LGTM.

Guessing this is something you&apos;re going to be doing across the codebase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437556</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-06-28 14:40:28 -0700</bug_when>
    <thetext>(In reply to Don Olmstead from comment #4)
&gt; Guessing this is something you&apos;re going to be doing across the codebase?

I think only in code that is supposed to be safe for use from multiple threads, which is a small faction of all WebKit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437557</commentid>
    <comment_count>6</comment_count>
      <attachid>343674</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-06-28 14:41:33 -0700</bug_when>
    <thetext>Comment on attachment 343674
Patch

Since I expect this to come up repeatedly I wonder if there is a cleaner idiom for this. If some way we find we can afford to pay the locking cost on Apple’s platforms it would be nice to be able to quickly remove all of this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437567</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-06-28 14:53:46 -0700</bug_when>
    <thetext>Maybe the elegant way to do it is to define a different NeverDestroyed variant that automatically includes the once_flag and the laziness and does this all. Then that can be used only on platforms where we turn off the compiler’s built-in locking. On other platforms it can possibly even be a typedef for the plain old NeverDestroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438382</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-01 21:17:07 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Maybe the elegant way to do it is to define a different NeverDestroyed
&gt; variant that automatically includes the once_flag and the laziness and does
&gt; this all. Then that can be used only on platforms where we turn off the
&gt; compiler’s built-in locking. On other platforms it can possibly even be a
&gt; typedef for the plain old NeverDestroyed.

Yeah, that sounds fancy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438383</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-01 21:24:38 -0700</bug_when>
    <thetext>Committed r233415: &lt;https://trac.webkit.org/changeset/233415&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438384</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-01 21:25:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/41709074&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341420</attachid>
            <date>2018-05-27 06:58:19 -0700</date>
            <delta_ts>2018-06-26 19:04:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186017-20180527225818.patch</filename>
            <type>text/plain</type>
            <size>1611</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIyOWYzMDMxNmM1ODE3YjE4MTVhODU3
OTlhNzdhOGE2NGMwZDk5YjguLmFmYjU0OTczNmU1MjBhMTY3Y2FjODRiNThmM2I4NDAzNmViZGRk
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDUtMjcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmFuZG9tRGV2aWNlIHNob3VsZCBi
ZSBpbml0aWFsaXplZCBpbnNpZGUgc3RkOjpjYWxsX29uY2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjAxNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoaWxlIExpbnV4IHBvcnRzIHVzZXMgbXV0ZXgt
Z3VhcmRlZCBzdGF0aWMgdmFyaWFibGVzLCBNYWMgcG9ydHMgZG8gbm90LgorICAgICAgICBTbyB3
ZSBzaG91bGQgZ3VhcmQgc3RhdGljIHZhcmlhYmxlcycgaW5pdGlhbGl6YXRpb24gYnkgdXNpbmcg
c3RkOjpjYWxsX29uY2UuCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBpdCBmb3IgUmFuZG9tRGV2
aWNlLgorCisgICAgICAgICogd3RmL09TUmFuZG9tU291cmNlLmNwcDoKKyAgICAgICAgKFdURjo6
Y3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXNGcm9tT1MpOgorCiAyMDE4LTA1LTI2ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgdGVzdGFpciBzb21ldGltZXMg
Y3Jhc2hlcyBkdWUgdG8gcmFjZXMgaW4gaW5pdGlhbGl6YXRpb24gb2YgQVJDNFJhbmRvbU51bWJl
ckdlbmVyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvT1NSYW5kb21Tb3VyY2UuY3Bw
IGIvU291cmNlL1dURi93dGYvT1NSYW5kb21Tb3VyY2UuY3BwCmluZGV4IGMzZDA4OTU3ODYxZTQ2
OWMwZjVjOGFiYjVhY2I3YWJmMTIwNGU5NDkuLjgxMzM5NDNiZWMzOWQzYjc3NzM4NWViY2U2NTVh
YWE1MzcyYzhlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL09TUmFuZG9tU291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9PU1JhbmRvbVNvdXJjZS5jcHAKQEAgLTMzLDcgKzMzLDEz
IEBAIG5hbWVzcGFjZSBXVEYgewogCiB2b2lkIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVz
RnJvbU9TKHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkKIHsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8UmFuZG9tRGV2aWNlPiBkZXZpY2U7CisgICAgc3RhdGljIExhenlO
ZXZlckRlc3Ryb3llZDxSYW5kb21EZXZpY2U+IGRldmljZTsKKyAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUZsYWc7CisgICAgc3RkOjpjYWxsX29uY2UoCisgICAgICAgIG9uY2VGbGFnLAor
ICAgICAgICBbXSB7CisgICAgICAgICAgICBkZXZpY2UuY29uc3RydWN0KCk7CisgICAgICAgIH0p
OwogICAgIGRldmljZS5nZXQoKS5jcnlwdG9ncmFwaGljYWxseVJhbmRvbVZhbHVlcyhidWZmZXIs
IGxlbmd0aCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343674</attachid>
            <date>2018-06-26 19:04:46 -0700</date>
            <delta_ts>2018-06-28 14:41:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186017-20180627110446.patch</filename>
            <type>text/plain</type>
            <size>1719</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI0YTc0MmM2NDQ0NWU5NjE5ODQ0ZjZk
OTU5NTUwNDk1MzRhMjk3M2QuLjBmZDc4ZjczYTYwZDNiMTUwY2YwY2Y2ODYxMTA4NzEzZGMyZWU4
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDYtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmFuZG9tRGV2aWNlIHNob3VsZCBi
ZSBpbml0aWFsaXplZCBpbnNpZGUgc3RkOjpjYWxsX29uY2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjAxNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoaWxlIExpbnV4IHBvcnRzIHVzZXMgbXV0ZXgt
Z3VhcmRlZCBzdGF0aWMgdmFyaWFibGVzLCBNYWMgcG9ydHMgZG8gbm90LgorICAgICAgICBTbyB3
ZSBzaG91bGQgZ3VhcmQgc3RhdGljIHZhcmlhYmxlcycgaW5pdGlhbGl6YXRpb24gYnkgdXNpbmcg
c3RkOjpjYWxsX29uY2UuCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBpdCBmb3IgUmFuZG9tRGV2
aWNlLgorCisgICAgICAgICogd3RmL09TUmFuZG9tU291cmNlLmNwcDoKKyAgICAgICAgKFdURjo6
Y3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXNGcm9tT1MpOgorCiAyMDE4LTA2LTI1ICBEYXZp
ZCBGZW50b24gIDxkYXZpZF9mZW50b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMzMxMjAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9PU1JhbmRv
bVNvdXJjZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9PU1JhbmRvbVNvdXJjZS5jcHAKaW5kZXggYzNk
MDg5NTc4NjFlNDY5YzBmNWM4YWJiNWFjYjdhYmYxMjA0ZTk0OS4uMDE2Y2MxYmUzOGE1YzdkYzg4
NzdmMTk5NTYxMGZhZDIwZDZhYzc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvT1NSYW5k
b21Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL09TUmFuZG9tU291cmNlLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk9TUmFuZG9tU291
cmNlLmgiCiAKKyNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KICNpbmNsdWRlIDx3dGYvUmFuZG9tRGV2aWNlLmg+CiAKQEAgLTMzLDcgKzM0LDEzIEBAIG5h
bWVzcGFjZSBXVEYgewogCiB2b2lkIGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzRnJvbU9T
KHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkKIHsKLSAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8UmFuZG9tRGV2aWNlPiBkZXZpY2U7CisgICAgc3RhdGljIExhenlOZXZlckRl
c3Ryb3llZDxSYW5kb21EZXZpY2U+IGRldmljZTsKKyAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcg
b25jZUZsYWc7CisgICAgc3RkOjpjYWxsX29uY2UoCisgICAgICAgIG9uY2VGbGFnLAorICAgICAg
ICBbXSB7CisgICAgICAgICAgICBkZXZpY2UuY29uc3RydWN0KCk7CisgICAgICAgIH0pOwogICAg
IGRldmljZS5nZXQoKS5jcnlwdG9ncmFwaGljYWxseVJhbmRvbVZhbHVlcyhidWZmZXIsIGxlbmd0
aCk7CiB9CiAK
</data>
<flag name="review"
          id="361729"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>