<?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>200542</bug_id>
          
          <creation_ts>2019-08-08 10:36:27 -0700</creation_ts>
          <short_desc>Fix thread safety bug in AudioSourceProviderAVFObjC::prepare()</short_desc>
          <delta_ts>2019-08-08 11:43:50 -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>Media</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>
          
          <blocked>200507</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1559555</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 10:36:27 -0700</bug_when>
    <thetext>Fix thread safety bug in AudioSourceProviderAVFObjC::prepare(). It calls callOnMainThread() from a background and captures makeRef(*this) in the lambda, even though |this| is a AudioSourceProviderAVFObjC, which subclasses RefCounted, not ThreadSafeRefCounted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559556</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 10:36:59 -0700</bug_when>
    <thetext>Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Trace/BPT trap: 5
Termination Reason:    Namespace SIGNAL, Code 0x5
Terminating Process:   exc handler [0]

Application Specific Information:
CRASHING TEST: webaudio/silence-after-playback.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010737dfb3 0x10737c000 + 8115
1   com.apple.WebCore             	0x000000010738e7f3 WTF::Detail::CallableWrapper&lt;WebCore::AudioSourceProviderAVFObjC::prepare(long, AudioStreamBasicDescription const*)::$_0, void&gt;::~CallableWrapper() + 163
2   com.apple.JavaScriptCore      	0x0000000102b2aa9c WTF::dispatchFunctionsFromMainThread() + 332 (MainThread.cpp:123)
3   com.apple.Foundation          	0x00007fff4ebad0b5 __NSThreadPerformPerform + 334
4   com.apple.CoreFoundation      	0x00007fff4ca6b581 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
5   com.apple.CoreFoundation      	0x00007fff4cb238ac __CFRunLoopDoSource0 + 108
6   com.apple.CoreFoundation      	0x00007fff4ca4e530 __CFRunLoopDoSources0 + 208
7   com.apple.CoreFoundation      	0x00007fff4ca4d9ad __CFRunLoopRun + 1293
8   com.apple.CoreFoundation      	0x00007fff4ca4d207 CFRunLoopRunSpecific + 487
9   DumpRenderTree                	0x000000010285482f runTest(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;) + 3601 (DumpRenderTree.mm:2087)
10  DumpRenderTree                	0x000000010285365a dumpRenderTree(int, char const**) + 3439 (DumpRenderTree.mm:1210)
11  DumpRenderTree                	0x00000001028550dd DumpRenderTreeMain(int, char const**) + 1456 (DumpRenderTree.mm:1442)
12  libdyld.dylib                 	0x00007fff74a0d015 start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559557</commentid>
    <comment_count>2</comment_count>
      <attachid>375815</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 10:37:54 -0700</bug_when>
    <thetext>Created attachment 375815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559564</commentid>
    <comment_count>3</comment_count>
      <attachid>375820</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 10:51:20 -0700</bug_when>
    <thetext>Created attachment 375820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559598</commentid>
    <comment_count>4</comment_count>
      <attachid>375820</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 11:42:21 -0700</bug_when>
    <thetext>Comment on attachment 375820
Patch

Clearing flags on attachment: 375820

Committed r248432: &lt;https://trac.webkit.org/changeset/248432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559599</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-08 11:42:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559602</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-08 11:43:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/54089364&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375815</attachid>
            <date>2019-08-08 10:37:54 -0700</date>
            <delta_ts>2019-08-08 10:51:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200542-20190808103752.patch</filename>
            <type>text/plain</type>
            <size>2099</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY2NDdmNzEwOWNmZTM5
NzhmYjYzY2I1MGRlMTA1NDgyY2MzZTRlOS4uZTFiODg5MzUyMzgwOWMzNWQ4NmI5ZTYyZDlmOTEy
YTBhM2VlMjIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA4LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IHRocmVhZCBzYWZldHkg
YnVnIGluIEF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOjpwcmVwYXJlKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU0MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0aHJlYWQgc2FmZXR5IGJ1
ZyBpbiBBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJlcGFyZSgpLiBJdCBjYWxscyBjYWxs
T25NYWluVGhyZWFkKCkKKyAgICAgICAgZnJvbSBhIGJhY2tncm91bmQgYW5kIGNhcHR1cmVzIG1h
a2VSZWYoKnRoaXMpIGluIHRoZSBsYW1iZGEsIGV2ZW4gdGhvdWdoIHx0aGlzfCBpcyBhCisgICAg
ICAgIEF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLCB3aGljaCBzdWJjbGFzc2VzIFJlZkNvdW50
ZWQsIG5vdCBUaHJlYWRTYWZlUmVmQ291bnRlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oOgorCiAyMDE5LTA4
LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3Qg
YWxsb3cgbmF2aWdhdGlvbnMgb2YgZnJhbWVzIGFib3V0IHRvIGdldCByZXBsYWNlZCBieSB0aGUg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgamF2YXNjcmlwdDogVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlk
ZXJBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaAppbmRleCBiMWZmMmEyYzhhNzA2ZmU2YjBk
NWU3NTcwNzYxNTJjODc0ZWM2MmQxLi5mNjVjZjA4YzRmMmEwNjFmMTMyYjdjOWUxMTcyNjNhMzRh
MTU4N2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9i
akMuaApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXIuaCIK
ICNpbmNsdWRlIDxhdG9taWM+CiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBPQkpDX0NMQVNTIEFWQXNzZXRUcmFjazsK
IE9CSkNfQ0xBU1MgQVZQbGF5ZXJJdGVtOwpAQCAtNDksNyArNDksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENBUmluZ0J1ZmZlcjsKIAotY2xhc3MgQXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakMgOiBwdWJsaWMgUmVmQ291bnRlZDxBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQz4s
IHB1YmxpYyBBdWRpb1NvdXJjZVByb3ZpZGVyIHsKK2NsYXNzIEF1ZGlvU291cmNlUHJvdmlkZXJB
VkZPYmpDIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEF1ZGlvU291cmNlUHJvdmlkZXJB
VkZPYmpDPiwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXIgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWZQdHI8QXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM+IGNyZWF0ZShBVlBsYXllckl0ZW0q
KTsKICAgICB2aXJ0dWFsIH5BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375820</attachid>
            <date>2019-08-08 10:51:20 -0700</date>
            <delta_ts>2019-08-08 11:42:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200542-20190808105118.patch</filename>
            <type>text/plain</type>
            <size>2101</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY2NDdmNzEwOWNmZTM5
NzhmYjYzY2I1MGRlMTA1NDgyY2MzZTRlOS4uZjI0OWQ4ZTVhOTIxMTUwZDA3MGQwYTI0MjNiN2Fk
MWNjYTI1MmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA4LTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IHRocmVhZCBzYWZldHkg
YnVnIGluIEF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOjpwcmVwYXJlKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU0MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAgICBGaXggdGhyZWFkIHNhZmV0eSBidWcgaW4g
QXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakM6OnByZXBhcmUoKS4gSXQgY2FsbHMgY2FsbE9uTWFp
blRocmVhZCgpCisgICAgICAgIGZyb20gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgY2FwdHVyZXMg
bWFrZVJlZigqdGhpcykgaW4gdGhlIGxhbWJkYSwgZXZlbiB0aG91Z2ggfHRoaXN8IGlzIGEKKyAg
ICAgICAgQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMsIHdoaWNoIHN1YmNsYXNzZXMgUmVmQ291
bnRlZCwgbm90IFRocmVhZFNhZmVSZWZDb3VudGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmg6CisKIDIwMTkt
MDgtMDggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIERvIG5v
dCBhbGxvdyBuYXZpZ2F0aW9ucyBvZiBmcmFtZXMgYWJvdXQgdG8gZ2V0IHJlcGxhY2VkIGJ5IHRo
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBqYXZhc2NyaXB0OiBVUkxzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92
aWRlckFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oCmluZGV4IGIxZmYyYTJjOGE3MDZmZTZi
MGQ1ZTc1NzA3NjE1MmM4NzRlYzYyZDEuLmY2NWNmMDhjNGYyYTA2MWYxMzJiN2M5ZTExNzI2M2Ez
NGExNTg3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZG
T2JqQy5oCkBAIC0zMSw4ICszMSw4IEBACiAjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5o
IgogI2luY2x1ZGUgPGF0b21pYz4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKIE9CSkNfQ0xBU1MgQVZBc3NldFRyYWNr
OwogT0JKQ19DTEFTUyBBVlBsYXllckl0ZW07CkBAIC00OSw3ICs0OSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQ0FSaW5nQnVmZmVyOwogCi1jbGFzcyBBdWRpb1NvdXJjZVByb3Zp
ZGVyQVZGT2JqQyA6IHB1YmxpYyBSZWZDb3VudGVkPEF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpD
PiwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXIgeworY2xhc3MgQXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakMgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakM+LCBwdWJsaWMgQXVkaW9Tb3VyY2VQcm92aWRlciB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZlB0cjxBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQz4gY3JlYXRlKEFWUGxheWVySXRl
bSopOwogICAgIHZpcnR1YWwgfkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>