<?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>200734</bug_id>
          
          <creation_ts>2019-08-14 13:48:00 -0700</creation_ts>
          <short_desc>Potentially non thread-safe usage of WebCore::MediaSample</short_desc>
          <delta_ts>2020-01-14 12:35:33 -0800</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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206068</see_also>
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1561322</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-14 13:48:00 -0700</bug_when>
    <thetext>I hit this assertion when running the layout tests locally.

Thread 5 Crashed:: Dispatch queue: org.webkit.ImageDecoder
0   com.apple.JavaScriptCore      	0x0000000431f89eee WTFCrash + 14 (Assertions.cpp:305)
1   com.apple.WebCore             	0x000000041a1a0a2a WTF::RefCountedBase::applyRefDerefThreadingCheck() const + 186 (RefCounted.h:114)
2   com.apple.WebCore             	0x000000041a1a07f9 WTF::RefCountedBase::derefBase() const + 25 (RefCounted.h:130)
3   com.apple.WebCore             	0x000000041a1cfd0f WTF::RefCounted&lt;WebCore::MediaSample, std::__1::default_delete&lt;WebCore::MediaSample&gt; &gt;::deref() const + 31 (RefCounted.h:189)
4   com.apple.WebCore             	0x000000041a1d0555 void WTF::derefIfNotNull&lt;WebCore::MediaSample&gt;(WebCore::MediaSample*) + 53 (RefPtr.h:45)
5   com.apple.WebCore             	0x000000041a1d0519 WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;::~RefPtr() + 41 (RefPtr.h:69)
6   com.apple.WebCore             	0x000000041a1c5d75 WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;::~RefPtr() + 21 (RefPtr.h:69)
7   com.apple.WebCore             	0x000000041a31ed63 std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;::~pair() + 35 (utility:316)
8   com.apple.WebCore             	0x000000041a31ed35 std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;::~pair() + 21 (utility:316)
9   com.apple.WebCore             	0x000000041a31ed19 void std::__1::allocator_traits&lt;WTF::FastAllocator&lt;std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt; &gt; &gt;::__destroy&lt;std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;(std::__1::integral_constant&lt;bool, false&gt;, WTF::FastAllocator&lt;std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt; &gt;&amp;, std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;*) + 25 (memory:1749)
10  com.apple.WebCore             	0x000000041a31ec4d void std::__1::allocator_traits&lt;WTF::FastAllocator&lt;std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt; &gt; &gt;::destroy&lt;std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;(WTF::FastAllocator&lt;std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt; &gt;&amp;, std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;*) + 29 (memory:1596)
11  com.apple.WebCore             	0x000000041a31ebcb std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 123 (__tree:1855)
12  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
13  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
14  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
15  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
16  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
17  com.apple.WebCore             	0x000000041a31eb86 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::destroy(std::__1::__tree_node&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, void*&gt;*) + 54 (__tree:1852)
18  com.apple.WebCore             	0x000000041a31eb45 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~__tree() + 37 (__tree:1843)
19  com.apple.WebCore             	0x000000041a31eb15 std::__1::__tree&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::__map_value_compare&lt;WTF::MediaTime, std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, true&gt;, WTF::FastAllocator&lt;std::__1::__value_type&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~__tree() + 21 (__tree:1843)
20  com.apple.WebCore             	0x000000041a31eaf5 std::__1::map&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, WTF::FastAllocator&lt;std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~map() + 21 (map:899)
21  com.apple.WebCore             	0x000000041a31ead5 std::__1::map&lt;WTF::MediaTime, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;, std::__1::less&lt;WTF::MediaTime&gt;, WTF::FastAllocator&lt;std::__1::pair&lt;WTF::MediaTime const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~map() + 21 (map:899)
22  com.apple.WebCore             	0x000000041a31eab5 WebCore::PresentationOrderSampleMap::~PresentationOrderSampleMap() + 21 (SampleMap.h:37)
23  com.apple.WebCore             	0x000000041a31ea75 WebCore::PresentationOrderSampleMap::~PresentationOrderSampleMap() + 21 (SampleMap.h:37)
24  com.apple.WebCore             	0x000000041a31ea43 WebCore::DecodeOrderSampleMap::~DecodeOrderSampleMap() + 35 (SampleMap.h:73)
25  com.apple.WebCore             	0x000000041a31ea15 WebCore::DecodeOrderSampleMap::~DecodeOrderSampleMap() + 21 (SampleMap.h:73)
26  com.apple.WebCore             	0x000000041a31e9f5 WebCore::SampleMap::~SampleMap() + 21 (SampleMap.h:109)
27  com.apple.WebCore             	0x000000041a319175 WebCore::SampleMap::~SampleMap() + 21 (SampleMap.h:109)
28  com.apple.WebCore             	0x000000041a319261 WebCore::ImageDecoderAVFObjC::~ImageDecoderAVFObjC() + 49 (ImageDecoderAVFObjC.mm:345)
29  com.apple.WebCore             	0x000000041a319315 WebCore::ImageDecoderAVFObjC::~ImageDecoderAVFObjC() + 21 (ImageDecoderAVFObjC.mm:345)
30  com.apple.WebCore             	0x000000041a319339 WebCore::ImageDecoderAVFObjC::~ImageDecoderAVFObjC() + 25 (ImageDecoderAVFObjC.mm:345)
31  com.apple.WebCore             	0x000000041a31e8d2 WTF::ThreadSafeRefCounted&lt;WebCore::ImageDecoder, (WTF::DestructionThread)0&gt;::deref() const::&apos;lambda&apos;()::operator()() const + 50 (ThreadSafeRefCounted.h:78)
32  com.apple.WebCore             	0x000000041a31e88d WTF::ThreadSafeRefCounted&lt;WebCore::ImageDecoder, (WTF::DestructionThread)0&gt;::deref() const + 61 (ThreadSafeRefCounted.h:96)
33  com.apple.WebCore             	0x000000041d635fb5 void WTF::derefIfNotNull&lt;WebCore::ImageDecoder&gt;(WebCore::ImageDecoder*) + 53 (RefPtr.h:45)
34  com.apple.WebCore             	0x000000041d635f79 WTF::RefPtr&lt;WebCore::ImageDecoder, WTF::DumbPtrTraits&lt;WebCore::ImageDecoder&gt; &gt;::~RefPtr() + 41 (RefPtr.h:69)
35  com.apple.WebCore             	0x000000041d62b155 WTF::RefPtr&lt;WebCore::ImageDecoder, WTF::DumbPtrTraits&lt;WebCore::ImageDecoder&gt; &gt;::~RefPtr() + 21 (RefPtr.h:69)
36  com.apple.WebCore             	0x000000041d62b0c6 WebCore::ImageSource::~ImageSource() + 262 (ImageSource.cpp:72)
37  com.apple.WebCore             	0x000000041d62b195 WebCore::ImageSource::~ImageSource() + 21 (ImageSource.cpp:72)
38  com.apple.WebCore             	0x000000041d598a6a WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const::&apos;lambda&apos;()::operator()() const + 42 (ThreadSafeRefCounted.h:77)
39  com.apple.WebCore             	0x000000041d598a2d WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const + 61 (ThreadSafeRefCounted.h:96)
40  com.apple.WebCore             	0x000000041d5989df WTF::Ref&lt;WebCore::ImageSource, WTF::DumbPtrTraits&lt;WebCore::ImageSource&gt; &gt;::~Ref() + 47 (Ref.h:61)
41  com.apple.WebCore             	0x000000041d5766e5 WTF::Ref&lt;WebCore::ImageSource, WTF::DumbPtrTraits&lt;WebCore::ImageSource&gt; &gt;::~Ref() + 21 (Ref.h:61)
42  com.apple.WebCore             	0x000000041d6334ac WebCore::ImageSource::startAsyncDecodingQueue()::$_1::~$_1() + 92 (ImageSource.cpp:350)
43  com.apple.WebCore             	0x000000041d62d185 WebCore::ImageSource::startAsyncDecodingQueue()::$_1::~$_1() + 21 (ImageSource.cpp:350)
44  com.apple.WebCore             	0x000000041d638bf1 WTF::Detail::CallableWrapper&lt;WebCore::ImageSource::startAsyncDecodingQueue()::$_1, void&gt;::~CallableWrapper() + 49 (Function.h:46)
45  com.apple.WebCore             	0x000000041d6386d5 WTF::Detail::CallableWrapper&lt;WebCore::ImageSource::startAsyncDecodingQueue()::$_1, void&gt;::~CallableWrapper() + 21 (Function.h:46)
46  com.apple.WebCore             	0x000000041d6386f9 WTF::Detail::CallableWrapper&lt;WebCore::ImageSource::startAsyncDecodingQueue()::$_1, void&gt;::~CallableWrapper() + 25 (Function.h:46)
47  com.apple.JavaScriptCore      	0x0000000431f9faef std::__1::default_delete&lt;WTF::Detail::CallableWrapperBase&lt;void&gt; &gt;::operator()(WTF::Detail::CallableWrapperBase&lt;void&gt;*) const + 47 (memory:2340)
48  com.apple.JavaScriptCore      	0x0000000431f9fa6f std::__1::unique_ptr&lt;WTF::Detail::CallableWrapperBase&lt;void&gt;, std::__1::default_delete&lt;WTF::Detail::CallableWrapperBase&lt;void&gt; &gt; &gt;::reset(WTF::Detail::CallableWrapperBase&lt;void&gt;*) + 95 (memory:2653)
49  com.apple.JavaScriptCore      	0x0000000431f9fa09 std::__1::unique_ptr&lt;WTF::Detail::CallableWrapperBase&lt;void&gt;, std::__1::default_delete&lt;WTF::Detail::CallableWrapperBase&lt;void&gt; &gt; &gt;::~unique_ptr() + 25 (memory:2606)
50  com.apple.JavaScriptCore      	0x0000000431f9f9e5 std::__1::unique_ptr&lt;WTF::Detail::CallableWrapperBase&lt;void&gt;, std::__1::default_delete&lt;WTF::Detail::CallableWrapperBase&lt;void&gt; &gt; &gt;::~unique_ptr() + 21 (memory:2606)
51  com.apple.JavaScriptCore      	0x0000000431f9f9c5 WTF::Function&lt;void ()&gt;::~Function() + 21 (Function.h:59)
52  com.apple.JavaScriptCore      	0x0000000431f9ee65 WTF::Function&lt;void ()&gt;::~Function() + 21 (Function.h:59)
53  com.apple.JavaScriptCore      	0x000000043209a813 WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0::~$_0() + 35 (WorkQueueCocoa.cpp:36)
54  com.apple.JavaScriptCore      	0x0000000432099e75 WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0::~$_0() + 21 (WorkQueueCocoa.cpp:36)
55  com.apple.JavaScriptCore      	0x000000043209a540 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void const*)::operator()(void const*) const + 32 (BlockPtr.h:84)
56  com.apple.JavaScriptCore      	0x000000043209a4c5 WTF::BlockPtr&lt;void ()&gt; WTF::BlockPtr&lt;void ()&gt;::fromCallable&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0&gt;(WTF::WorkQueue::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;)::$_0)::&apos;lambda&apos;(void const*)::__invoke(void const*) + 21 (BlockPtr.h:82)
57  libsystem_blocks.dylib        	0x00007fff6e46ebed _Block_release + 101
58  libdispatch.dylib             	0x00007fff6e3c75ee _dispatch_client_callout + 8
59  libdispatch.dylib             	0x00007fff6e3ccbae _dispatch_lane_serial_drain + 597
60  libdispatch.dylib             	0x00007fff6e3cd532 _dispatch_lane_invoke + 363
61  libdispatch.dylib             	0x00007fff6e3d6ba1 _dispatch_workloop_worker_thread + 582
62  libsystem_pthread.dylib       	0x00007fff6e620773 _pthread_wqthread + 290
63  libsystem_pthread.dylib       	0x00007fff6e6205cf start_wqthread + 15

WebCore::MediaSample is not ThreadSafeRefCounted but appears to be ref&apos;d / deref&apos;d from several threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561327</commentid>
    <comment_count>1</comment_count>
      <attachid>376308</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-14 14:23:24 -0700</bug_when>
    <thetext>Created attachment 376308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561328</commentid>
    <comment_count>2</comment_count>
      <attachid>376308</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-08-14 14:24:45 -0700</bug_when>
    <thetext>Comment on attachment 376308
Patch

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

&gt; Source/WebCore/platform/graphics/ImageSource.cpp:51
&gt; +    ASSERT(isMainThread());

Do these do the right thing in UIWebView?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561329</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-14 14:29:49 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 376308 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=376308&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ImageSource.cpp:51
&gt; &gt; +    ASSERT(isMainThread());
&gt; 
&gt; Do these do the right thing in UIWebView?

I believe so. For UIView, this check will be a isWebThread or isUIThreadHoldingWebThreadLock check, which I believe is what we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561427</commentid>
    <comment_count>4</comment_count>
      <attachid>376308</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 19:21:01 -0700</bug_when>
    <thetext>Comment on attachment 376308
Patch

Clearing flags on attachment: 376308

Committed r248703: &lt;https://trac.webkit.org/changeset/248703&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561429</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 19:21:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561431</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-14 19:22:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/54330534&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376308</attachid>
            <date>2019-08-14 14:23:24 -0700</date>
            <delta_ts>2019-08-14 19:21:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200734-20190814142323.patch</filename>
            <type>text/plain</type>
            <size>3045</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM1OGNjMTBmYjk5ZjFk
MTE2ZmEyNDUwMzVhM2RiMDgzMjEwYTc5MS4uMWVhN2I0NzZmZGRiZWIzYjg0MTlkMDg5YTBmMWMz
NTg1OGQ3NzEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA4LTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG90ZW50aWFsbHkgbm9uIHRo
cmVhZC1zYWZlIHVzYWdlIG9mIFdlYkNvcmU6Ok1lZGlhU2FtcGxlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3MzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZVNvdXJjZSBpcyBhIG1haW4gdGhy
ZWFkIG9iamVjdCBidXQgZW5kcyB1cCBnZXR0aW5nIHBhc3NlZCB0byBhIGJhY2tncm91bmQgcXVl
dWUgZm9yIGltYWdlCisgICAgICAgIGRlY29kaW5nLiBJbiBzb21lIGNhc2VzLCB0aGUgYmFja2dy
b3VuZCBxdWV1ZSBlbmRzIHVwIGJlaW5nIHRoZSBsYXN0IG9uZSBob2xkaW5nIGEgcmVmIHRvIHRo
ZQorICAgICAgICBJbWFnZVNvdXJjZSB3aGljaCBlbmRzIHVwIGRlc3Ryb3lpbmcgdGhlIEltYWdl
U291cmNlIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuIERvaW5nIHNvIGlzIG5vdAorICAgICAgICBz
YWZlIGFzIHNob3duIGJ5IHRoZSBjcmFzaC4KKworICAgICAgICBUbyBhZGRyZXNzIHRoZSBpc3N1
ZSwgaGF2ZSBJbWFnZVNvdXJjZSBzdWJjbGFzcyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJbWFnZVNv
dXJjZSwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4KKyAgICAgICAgc28gdGhhdCBpdCBp
cyBhbHdheXMgZGVzdHJveWVkIG9uIHRoZSBtYWluIHRocmVhZC4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIGN1cnJlbnRseSBjcmFzaGluZyBvbiB0aGUgZGVidWcgYm90cy4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlU291cmNlOjpJbWFnZVNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6
fkltYWdlU291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
OgorCiAyMDE5LTA4LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBPYmplY3RJZGVudGlmaWVyPEZyYW1lSWRlbnRpZmllclR5cGU+IGZvciBm
cmFtZUlEcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3Vy
Y2UuY3BwCmluZGV4IDc1MmM0NzRiMDBkZTFjZTE1YjFmMjZiMWYzOWNiZWNlZDJhMDQ0M2YuLjE4
OTc2ZjkxOWViODFkYTM5NTY3ZjI2YTE4YmFlN2E5YWYxZDMyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTQ4LDEwICs0OCwx
MyBAQCBJbWFnZVNvdXJjZTo6SW1hZ2VTb3VyY2UoQml0bWFwSW1hZ2UqIGltYWdlLCBBbHBoYU9w
dGlvbiBhbHBoYU9wdGlvbiwgR2FtbWFBbmRDbwogICAgICwgbV9hbHBoYU9wdGlvbihhbHBoYU9w
dGlvbikKICAgICAsIG1fZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24oZ2FtbWFBbmRDb2xvclBy
b2ZpbGVPcHRpb24pCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIH0KIAogSW1hZ2VT
b3VyY2U6OkltYWdlU291cmNlKE5hdGl2ZUltYWdlUHRyJiYgbmF0aXZlSW1hZ2UpCiB7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKwogICAgIG1fZnJhbWVDb3VudCA9IDE7CiAgICAgbV9l
bmNvZGVkRGF0YVN0YXR1cyA9IEVuY29kZWREYXRhU3RhdHVzOjpDb21wbGV0ZTsKICAgICBncm93
RnJhbWVzKCk7CkBAIC02OSw2ICs3Miw3IEBAIEltYWdlU291cmNlOjpJbWFnZVNvdXJjZShOYXRp
dmVJbWFnZVB0ciYmIG5hdGl2ZUltYWdlKQogSW1hZ2VTb3VyY2U6On5JbWFnZVNvdXJjZSgpCiB7
CiAgICAgQVNTRVJUKCFoYXNBc3luY0RlY29kaW5nUXVldWUoKSk7CisgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIH0KIAogYm9vbCBJbWFnZVNvdXJjZTo6ZW5zdXJlRGVjb2RlckF2YWlsYWJs
ZShTaGFyZWRCdWZmZXIqIGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAppbmRleCBjMDVjMTFkMDk1NTQ1NTc0Y2ZkZmI0OGQyNjUwMTBlODdj
OWZhODY2Li5iYzc5MDk5MzI3OGJjYjQyNTAzODY1ZmI1MTJhYjZmMmU5ODhlODNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTQwLDcg
KzQwLDcgQEAgY2xhc3MgQml0bWFwSW1hZ2U7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFz
cyBJbWFnZURlY29kZXI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPEltYWdlU291cmNlPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEltYWdlU291cmNl
PiB7CitjbGFzcyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJbWFn
ZVNvdXJjZSwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4sIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxJbWFnZVNvdXJjZT4gewogICAgIGZyaWVuZCBjbGFzcyBCaXRtYXBJbWFnZTsKIHB1Ymxp
YzoKICAgICB+SW1hZ2VTb3VyY2UoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>