Bug 214191

Summary: [GStreamer] ImageDecoder hits more Debug ASSERTs
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: PlatformAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: calvaris, cgarcia, ews-watchlist, gustavo, menard, vjaquez, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Philippe Normand 2020-07-10 10:38:56 PDT
fast/images/animated-png-loop-count.html
http/tests/images/jpeg-partial-load.html
http/tests/images/png-partial-load.html


#0  WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:295
295	    *(int *)(uintptr_t)0xbbadbeef = 0;


Thread 1 (Thread 0x7f3a5583a2c0 (LWP 22343)):
#0  0x00007f3a5e679362 in WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295
#1  0x00007f3a6c9d7e22 in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713
#2  0x00007f3a705e5ba5 in WebCore::ImageSource::~ImageSource() (this=0x7f39f46d8c80, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/ImageSource.cpp:70
#3  0x00007f3a70541c61 in WTF::ThreadSafeRefCounted<WebCore::ImageSource, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c801de0) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#4  0x00007f3a70541cb5 in WTF::ThreadSafeRefCounted<WebCore::ImageSource, (WTF::DestructionThread)0>::deref() const (this=0x7f39f46d8c80) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#5  0x00007f3a705407d8 in WTF::Ref<WebCore::ImageSource, WTF::DumbPtrTraits<WebCore::ImageSource> >::~Ref() (this=0x7f39f46e2778, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#6  0x00007f3a7053861e in WebCore::BitmapImage::~BitmapImage() (this=0x7f39f46e2750, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:60
#7  0x00007f3a70538646 in WebCore::BitmapImage::~BitmapImage() (this=0x7f39f46e2750, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:66
#8  0x00007f3a6ca6ef4c in std::default_delete<WebCore::Image>::operator()(WebCore::Image*) const (this=0x7ffd6c801e97, __ptr=0x7f39f46e2750) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#9  0x00007f3a6ca69bec in WTF::RefCounted<WebCore::Image, std::default_delete<WebCore::Image> >::deref() const (this=0x7f39f46e2758) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#10 0x00007f3a7068a646 in WTF::derefIfNotNull<WebCore::BitmapImage>(WebCore::BitmapImage*) (ptr=0x7f39f46e2750) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#11 0x00007f3a7068a3d4 in WTF::RefPtr<WebCore::BitmapImage, WTF::DumbPtrTraits<WebCore::BitmapImage> >::operator=(decltype(nullptr)) (this=0x7f3a142ed348) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:156
#12 0x00007f3a70689669 in WebCore::ImageGStreamer::~ImageGStreamer() (this=0x7f3a142ed340, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp:110
#13 0x00007f3a712ac392 in std::default_delete<WebCore::ImageGStreamer>::operator()(WebCore::ImageGStreamer*) const (this=0x7ffd6c801f67, __ptr=0x7f3a142ed340) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#14 0x00007f3a712ac160 in WTF::RefCounted<WebCore::ImageGStreamer, std::default_delete<WebCore::ImageGStreamer> >::deref() const (this=0x7f3a142ed340) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#15 0x00007f3a712abc1c in WTF::derefIfNotNull<WebCore::ImageGStreamer>(WebCore::ImageGStreamer*) (ptr=0x7f3a142ed340) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#16 0x00007f3a712aafa2 in WTF::RefPtr<WebCore::ImageGStreamer, WTF::DumbPtrTraits<WebCore::ImageGStreamer> >::~RefPtr() (this=0x7f39f46d9378, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#17 0x00007f3a712ac5ca in WebCore::ImageDecoderGStreamerSample::~ImageDecoderGStreamerSample() (this=0x7f39f46d9310, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:41
#18 0x00007f3a712ac5f2 in WebCore::ImageDecoderGStreamerSample::~ImageDecoderGStreamerSample() (this=0x7f39f46d9310, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:41
#19 0x00007f3a6f0538aa in WTF::ThreadSafeRefCounted<WebCore::MediaSample, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802040) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#20 0x00007f3a6f0538f1 in WTF::ThreadSafeRefCounted<WebCore::MediaSample, (WTF::DestructionThread)0>::deref() const (this=0x7f39f46d9318) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#21 0x00007f3a6f04c32f in WTF::derefIfNotNull<WebCore::MediaSample>(WebCore::MediaSample*) (ptr=0x7f39f46d9310) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#22 0x00007f3a6f0456a2 in WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> >::~RefPtr() (this=0x7f39f46d61a8, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#23 0x00007f3a6f042f0e in std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >::~pair() (this=0x7f39f46d6188, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/stl_pair.h:208
#24 0x00007f3a6f060b06 in std::allocator_traits<WTF::FastAllocator<std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > > >::_S_destroy<WTF::FastAllocator<std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >(WTF::FastAllocator<std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >&, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >*, ...) (__p=0x7f39f46d6188) at /usr/include/c++/9.3.0/bits/alloc_traits.h:266
#25 0x00007f3a6f05e1f7 in std::allocator_traits<WTF::FastAllocator<std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > > >::destroy<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >(WTF::FastAllocator<std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >&, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >*) (__a=..., __p=0x7f39f46d6188) at /usr/include/c++/9.3.0/bits/alloc_traits.h:364
#26 0x00007f3a6f05b839 in std::_Rb_tree<std::pair<WTF::MediaTime, WTF::MediaTime>, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >, std::_Select1st<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >*) (this=0x7f3a54ed76a8, __p=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:642
#27 0x00007f3a6f057c3b in std::_Rb_tree<std::pair<WTF::MediaTime, WTF::MediaTime>, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >, std::_Select1st<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >*) (this=0x7f3a54ed76a8, __p=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:650
#28 0x00007f3a6f04d08c in std::_Rb_tree<std::pair<WTF::MediaTime, WTF::MediaTime>, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >, std::_Select1st<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >*) (this=0x7f3a54ed76a8, __x=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:1915
#29 0x00007f3a6f04d069 in std::_Rb_tree<std::pair<WTF::MediaTime, WTF::MediaTime>, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >, std::_Select1st<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::_M_erase(std::_Rb_tree_node<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >*) (this=0x7f3a54ed76a8, __x=0x7f39f46d6120) at /usr/include/c++/9.3.0/bits/stl_tree.h:1913
#30 0x00007f3a6f046014 in std::_Rb_tree<std::pair<WTF::MediaTime, WTF::MediaTime>, std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > >, std::_Select1st<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::~_Rb_tree() (this=0x7f3a54ed76a8, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/stl_tree.h:995
#31 0x00007f3a6f04306e in std::map<std::pair<WTF::MediaTime, WTF::MediaTime>, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> >, std::less<std::pair<WTF::MediaTime, WTF::MediaTime> >, WTF::FastAllocator<std::pair<std::pair<WTF::MediaTime, WTF::MediaTime> const, WTF::RefPtr<WebCore::MediaSample, WTF::DumbPtrTraits<WebCore::MediaSample> > > > >::~map() (this=0x7f3a54ed76a8, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/stl_map.h:300
#32 0x00007f3a6f043152 in WebCore::DecodeOrderSampleMap::~DecodeOrderSampleMap() (this=0x7f3a54ed76a8, __in_chrg=<optimized out>) at ../../Source/WebCore/Modules/mediasource/SampleMap.h:73
#33 0x00007f3a6f043196 in WebCore::SampleMap::~SampleMap() (this=0x7f3a54ed76a8, __in_chrg=<optimized out>) at ../../Source/WebCore/Modules/mediasource/SampleMap.h:110
#34 0x00007f3a712ac556 in WebCore::ImageDecoderGStreamer::~ImageDecoderGStreamer() (this=0x7f3a54ed7690, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:44
#35 0x00007f3a712ac58e in WebCore::ImageDecoderGStreamer::~ImageDecoderGStreamer() (this=0x7f3a54ed7690, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:44
#36 0x00007f3a705f2d4c in WTF::ThreadSafeRefCounted<WebCore::ImageDecoder, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802360) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#37 0x00007f3a705f2d93 in WTF::ThreadSafeRefCounted<WebCore::ImageDecoder, (WTF::DestructionThread)0>::deref() const (this=0x7f3a54ed7698) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#38 0x00007f3a705f1cf1 in WTF::derefIfNotNull<WebCore::ImageDecoder>(WebCore::ImageDecoder*) (ptr=0x7f3a54ed7690) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#39 0x00007f3a705ee1ec in WTF::RefPtr<WebCore::ImageDecoder, WTF::DumbPtrTraits<WebCore::ImageDecoder> >::~RefPtr() (this=0x7f3a0c582a20, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#40 0x00007f3a705e5c31 in WebCore::ImageSource::~ImageSource() (this=0x7f3a0c582a00, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/ImageSource.cpp:67
#41 0x00007f3a70541c61 in WTF::ThreadSafeRefCounted<WebCore::ImageSource, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802440) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#42 0x00007f3a70541cb5 in WTF::ThreadSafeRefCounted<WebCore::ImageSource, (WTF::DestructionThread)0>::deref() const (this=0x7f3a0c582a00) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#43 0x00007f3a705407d8 in WTF::Ref<WebCore::ImageSource, WTF::DumbPtrTraits<WebCore::ImageSource> >::~Ref() (this=0x7f3a0c57f928, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#44 0x00007f3a7053861e in WebCore::BitmapImage::~BitmapImage() (this=0x7f3a0c57f900, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:60
#45 0x00007f3a70538646 in WebCore::BitmapImage::~BitmapImage() (this=0x7f3a0c57f900, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:66
#46 0x00007f3a6ca6ef4c in std::default_delete<WebCore::Image>::operator()(WebCore::Image*) const (this=0x7ffd6c8024f7, __ptr=0x7f3a0c57f900) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#47 0x00007f3a6ca69bec in WTF::RefCounted<WebCore::Image, std::default_delete<WebCore::Image> >::deref() const (this=0x7f3a0c57f908) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#48 0x00007f3a6ca6bb32 in WTF::derefIfNotNull<WebCore::Image>(WebCore::Image*) (ptr=0x7f3a0c57f900) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#49 0x00007f3a6d4de9a4 in WTF::RefPtr<WebCore::Image, WTF::DumbPtrTraits<WebCore::Image> >::operator=(decltype(nullptr)) (this=0x7f3a54ee1fe0) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:156
#50 0x00007f3a701b27e6 in WebCore::CachedImage::clearImage() (this=0x7f3a54ee1c00) at ../../Source/WebCore/loader/cache/CachedImage.cpp:464
#51 0x00007f3a701addf2 in WebCore::CachedImage::~CachedImage() (this=0x7f3a54ee1c00, __in_chrg=<optimized out>) at ../../Source/WebCore/loader/cache/CachedImage.cpp:95
#52 0x00007f3a701ade74 in WebCore::CachedImage::~CachedImage() (this=0x7f3a54ee1c00, __in_chrg=<optimized out>) at ../../Source/WebCore/loader/cache/CachedImage.cpp:96
#53 0x00007f3a701c9fdd in WebCore::CachedResource::deleteIfPossible() (this=0x7f3a54ee1c00) at ../../Source/WebCore/loader/cache/CachedResource.cpp:651
#54 0x00007f3a701cadea in WebCore::CachedResource::unregisterHandle(WebCore::CachedResourceHandleBase*) (this=0x7f3a54ee1c00, h=0x7f3a0c58d018) at ../../Source/WebCore/loader/cache/CachedResource.cpp:832
#55 0x00007f3a701cb3d4 in WebCore::CachedResourceHandleBase::~CachedResourceHandleBase() (this=0x7f3a0c58d018, __in_chrg=<optimized out>) at ../../Source/WebCore/loader/cache/CachedResourceHandle.cpp:55
#56 0x00007f3a6dd07408 in WebCore::CachedResourceHandle<WebCore::CachedResource>::~CachedResourceHandle() (this=0x7f3a0c58d018, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/WebCore/CachedResourceHandle.h:61
#57 0x00007f3a7011195c in WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> >::~KeyValuePair() (this=0x7f3a0c58d010, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/KeyValuePair.h:33
#58 0x00007f3a701df92c in WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> > >, WTF::StringHash, WTF::HashMap<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource>, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WebCore::CachedResourceHandle<WebCore::CachedResource> > >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::deallocateTable(WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> >*) (table=0x7f3a0c58d010) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1224
#59 0x00007f3a701dbcfb in WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource> > >, WTF::StringHash, WTF::HashMap<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource>, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WebCore::CachedResourceHandle<WebCore::CachedResource> > >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::~HashTable() (this=0x7f3a54eb6e08, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:412
#60 0x00007f3a701d9c4c in WTF::HashMap<WTF::String, WebCore::CachedResourceHandle<WebCore::CachedResource>, WTF::StringHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WebCore::CachedResourceHandle<WebCore::CachedResource> > >::~HashMap() (this=0x7f3a54eb6e08, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/HashMap.h:35
#61 0x00007f3a701cb9c6 in WebCore::CachedResourceLoader::~CachedResourceLoader() (this=0x7f3a54eb6dd0, __in_chrg=<optimized out>) at ../../Source/WebCore/loader/cache/CachedResourceLoader.cpp:167
#62 0x00007f3a6f829998 in std::default_delete<WebCore::CachedResourceLoader>::operator()(WebCore::CachedResourceLoader*) const (this=0x7ffd6c802777, __ptr=0x7f3a54eb6dd0) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#63 0x00007f3a6f817dfc in WTF::RefCounted<WebCore::CachedResourceLoader, std::default_delete<WebCore::CachedResourceLoader> >::deref() const (this=0x7f3a54eb6dd0) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#64 0x00007f3a6f8073dc in WTF::Ref<WebCore::CachedResourceLoader, WTF::DumbPtrTraits<WebCore::CachedResourceLoader> >::~Ref() (this=0x7f3a14306518, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#65 0x00007f3a6f7d3237 in WebCore::Document::~Document() (this=0x7f3a143062f8, __in_chrg=<optimized out>) at ../../Source/WebCore/dom/Document.cpp:635
#66 0x00007f3a6fb8b6f5 in WebCore::HTMLDocument::~HTMLDocument() (this=0x7f3a143062f8, __in_chrg=<optimized out>) at ../../Source/WebCore/html/HTMLDocument.h:29
#67 0x00007f3a6fb8b74c in WebCore::HTMLDocument::~HTMLDocument() (this=0x7f3a143062f8, __in_chrg=<optimized out>) at ../../Source/WebCore/html/HTMLDocument.h:29
#68 0x00007f3a6f800749 in WebCore::Document::decrementReferencingNodeCount() (this=0x7f3a143062f8) at ../../Source/WebCore/dom/Document.h:390
#69 0x00007f3a6f928554 in WebCore::Node::~Node() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/dom/Node.cpp:374
#70 0x00007f3a6f78a93b in WebCore::ContainerNode::~ContainerNode() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/dom/ContainerNode.cpp:275
#71 0x00007f3a6f86d4d1 in WebCore::Element::~Element() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/dom/Element.cpp:200
#72 0x00007f3a6f9b3274 in WebCore::StyledElement::~StyledElement() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/dom/StyledElement.cpp:68
#73 0x00007f3a6f367052 in WebCore::HTMLElement::~HTMLElement() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/html/HTMLElement.h:40
#74 0x00007f3a6fc925e4 in WebCore::HTMLSpanElement::~HTMLSpanElement() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/html/HTMLSpanElement.h:32
#75 0x00007f3a6fc92600 in WebCore::HTMLSpanElement::~HTMLSpanElement() (this=0x7f3a14148e80, __in_chrg=<optimized out>) at ../../Source/WebCore/html/HTMLSpanElement.h:32
#76 0x00007f3a6f93116d in WebCore::Node::removedLastRef() (this=0x7f3a14148e80) at ../../Source/WebCore/dom/Node.cpp:2566
#77 0x00007f3a6d4a4449 in WebCore::Node::deref() const (this=0x7f3a14148e80) at DerivedSources/ForwardingHeaders/WebCore/Node.h:711
#78 0x00007f3a6f92a642 in WebCore::Node::derefEventTarget() (this=0x7f3a14148e80) at ../../Source/WebCore/dom/Node.cpp:834
#79 0x00007f3a6dc28877 in WebCore::EventTarget::deref() (this=0x7f3a14148e80) at DerivedSources/ForwardingHeaders/WebCore/EventTarget.h:60
#80 0x00007f3a6e35e692 in WTF::Ref<WebCore::EventTarget, WTF::DumbPtrTraits<WebCore::EventTarget> >::~Ref() (this=0x7f3a0c1c42e8, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#81 0x00007f3a6e35d2a4 in WebCore::JSDOMWrapper<WebCore::EventTarget>::~JSDOMWrapper() (this=0x7f3a0c1c42d0, __in_chrg=<optimized out>) at ../../Source/WebCore/bindings/js/JSDOMWrapper.h:72
#82 0x00007f3a6e35d2c0 in WebCore::JSEventTarget::~JSEventTarget() (this=0x7f3a0c1c42d0, __in_chrg=<optimized out>) at DerivedSources/WebCore/JSEventTarget.h:30
#83 0x00007f3a6e355dea in WebCore::JSEventTarget::destroy(JSC::JSCell*) (cell=0x7f3a0c1c42d0) at DerivedSources/WebCore/JSEventTarget.cpp:262
#84 0x00007f3a5e1703c1 in JSC::JSDestructibleObjectDestroyFunc::operator()(JSC::VM&, JSC::JSCell*) const (this=0x7ffd6c802db7, cell=0x7f3a0c1c42d0) at ../../Source/JavaScriptCore/runtime/JSDestructibleObjectHeapCellType.cpp:38
#85 0x00007f3a5e17ba13 in JSC::MarkedBlock::Handle::specializedSweep<false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&)::{lambda(void*)#1}::operator()(void*) const (this=0x7ffd6c802bd0, cell=0x7f3a0c1c42d0) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:260
#86 0x00007f3a5e17bf11 in JSC::MarkedBlock::Handle::specializedSweep<false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&) (this=0x7f39f468a840, freeList=0x0, emptyMode=JSC::MarkedBlock::Handle::IsEmpty, sweepMode=JSC::MarkedBlock::Handle::SweepOnly, destructionMode=JSC::MarkedBlock::Handle::BlockHasDestructors, scribbleMode=JSC::MarkedBlock::Handle::Scribble, newlyAllocatedMode=JSC::MarkedBlock::Handle::DoesNotHaveNewlyAllocated, marksMode=JSC::MarkedBlock::Handle::MarksStale, destroyFunc=...) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:294
#87 0x00007f3a5e17552a in JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType<JSC::JSDestructibleObjectDestroyFunc>(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&) (this=0x7f39f468a840, freeList=0x0, destroyFunc=...) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:530
#88 0x00007f3a5e16a556 in JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) (this=0x7f3a54ef92f0, handle=..., freeList=0x0) at ../../Source/JavaScriptCore/runtime/JSDestructibleObjectHeapCellType.cpp:53
#89 0x00007f3a5dc79815 in JSC::Subspace::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) (this=0x7f3a0c52c000, block=..., freeList=0x0) at ../../Source/JavaScriptCore/heap/Subspace.cpp:60
#90 0x00007f3a5dc5e694 in JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) (this=0x7f39f468a840, freeList=0x0) at ../../Source/JavaScriptCore/heap/MarkedBlock.cpp:415
#91 0x00007f3a5dc2bd64 in JSC::IncrementalSweeper::sweepNextBlock(JSC::VM&) (this=0x7f3a54ef4288, vm=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:88
#92 0x00007f3a5dc2bc2b in JSC::IncrementalSweeper::doSweep(JSC::VM&, WTF::MonotonicTime) (this=0x7f3a54ef4288, vm=..., sweepBeginTime=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:58
#93 0x00007f3a5dc2bbf0 in JSC::IncrementalSweeper::doWork(JSC::VM&) (this=0x7f3a54ef4288, vm=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:53
#94 0x00007f3a5e21b256 in JSC::JSRunLoopTimer::timerDidFire() (this=0x7f3a54ef4288) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:299
#95 0x00007f3a5e21a5f9 in JSC::JSRunLoopTimer::Manager::timerDidFire() (this=0x7f3a54efa340) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:152
#96 0x00007f3a5e21a22c in JSC::JSRunLoopTimer::Manager::timerDidFireCallback() (this=0x7f3a54efa340) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:92
#97 0x00007f3a5e2286f4 in WTF::RunLoop::Timer<JSC::JSRunLoopTimer::Manager>::fired() (this=0x7f3a54ef7340) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:177
#98 0x00007f3a5e7341eb in WTF::RunLoop::TimerBase::<lambda(gpointer)>::operator()(gpointer) const (__closure=0x0, userData=0x7f3a54ef7340) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:179
#99 0x00007f3a5e73422b in WTF::RunLoop::TimerBase::<lambda(gpointer)>::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:183
#100 0x00007f3a5e73380c in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x564bfed38d00, callback=0x7f3a5e73420e <WTF::RunLoop::TimerBase::<lambda(gpointer)>::_FUN(gpointer)>, userData=0x7f3a54ef7340) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#101 0x00007f3a5e73383c in WTF::<lambda(GSource*, GSourceFunc, gpointer)>::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#102 0x00007f3a57a7ac3e in g_main_dispatch (context=0x564bfed5fc80) at ../glib/gmain.c:3309
#103 0x00007f3a57a7ac3e in g_main_context_dispatch (context=context@entry=0x564bfed5fc80) at ../glib/gmain.c:3974
#104 0x00007f3a57a7aff0 in g_main_context_iterate (context=0x564bfed5fc80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
#105 0x00007f3a57a7b2e3 in g_main_loop_run (loop=0x564bfed8db90) at ../glib/gmain.c:4241
#106 0x00007f3a5e733dbc in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#107 0x00007f3a6df20975 in WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/Shared/AuxiliaryProcessMain.h:68
#108 0x00007f3a6df1ec29 in WebKit::WebProcessMain(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:66
#109 0x0000564bfd06ada8 in main(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:45
Comment 1 Philippe Normand 2020-07-10 10:54:29 PDT
TestExpectations updated in r264231.
Comment 2 Philippe Normand 2020-07-19 07:01:28 PDT
Created attachment 404667 [details]
Patch
Comment 3 Xabier Rodríguez Calvar 2020-07-19 22:24:51 PDT
Comment on attachment 404667 [details]
Patch

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

> Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:260
> +        GST_DEBUG("EOS on decoder %p", this);

Nit, you can leave this out of the scope.

> Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:372
> +    while (!m_eos) {

Shouldn't be this access protected by the m_sampleMutex? It looks it is set in other places protected.
Comment 4 Philippe Normand 2020-07-20 01:40:53 PDT
Created attachment 404701 [details]
Patch
Comment 5 EWS 2020-07-20 03:26:15 PDT
Committed r264595: <https://trac.webkit.org/changeset/264595>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404701 [details].
Comment 6 Radar WebKit Bug Importer 2020-07-20 03:27:15 PDT
<rdar://problem/65816373>