Bug 213178

Summary: [GStreamer] ImageDecoder hits 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

Description Philippe Normand 2020-06-14 04:33:06 PDT
fast/images/animated-image-mp4{,-crash}.html crash in Debug bots, because we create a WeakPtr from a thread and access it from another one:

Thread 1 (Thread 0x7f51590ff700 (LWP 32346)):
#0  0x00007f51b4300b68 in WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:293
#1  0x00007f51c24564c2 in _Z15CRASH_WITH_INFOz () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713
#2  0x00007f51c6c78c61 in _ZNK3WTF14WeakPtrFactoryIN7WebCore21ImageDecoderGStreamerENS_12EmptyCounterEE18initializeIfNeededERKS2_ (this=0x7f51aacc77f8, object=warning: can't find linker symbol for virtual table for `WebCore::ImageDecoderGStreamer' value
warning:   found `_ZTVN7WebCore21ImageDecoderGStreamerE' instead
...) at DerivedSources/ForwardingHeaders/wtf/WeakPtr.h:158
#3  0x00007f51c6c77db8 in _ZNK3WTF14WeakPtrFactoryIN7WebCore21ImageDecoderGStreamerENS_12EmptyCounterEE13createWeakPtrIS2_EENS_7WeakPtrIT_S3_EERS7_ (this=0x7f51aacc77f8, object=warning: can't find linker symbol for virtual table for `WebCore::ImageDecoderGStreamer' value
warning:   found `_ZTVN7WebCore21ImageDecoderGStreamerE' instead
...) at DerivedSources/ForwardingHeaders/wtf/WeakPtr.h:164
#4  0x00007f51c6c77116 in _ZN3WTF11makeWeakPtrIN7WebCore21ImageDecoderGStreamerEEEDaRT_ (object=warning: can't find linker symbol for virtual table for `WebCore::ImageDecoderGStreamer' value
warning:   found `_ZTVN7WebCore21ImageDecoderGStreamerE' instead
...) at DerivedSources/ForwardingHeaders/wtf/WeakPtr.h:240
#5  0x00007f51c6c771de in _ZN7WebCore21ImageDecoderGStreamer12InnerDecoderC2ERS0_PKcl (this=0x7f5159399000, decoder=warning: can't find linker symbol for virtual table for `WebCore::ImageDecoderGStreamer' value
warning:   found `_ZTVN7WebCore21ImageDecoderGStreamerE' instead
..., data=0x7f51686eba00 "", size=1600) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:89
#6  0x00007f51c6c77068 in _ZN7WebCore21ImageDecoderGStreamer12InnerDecoder6createERS0_PKcl (decoder=warning: can't find linker symbol for virtual table for `WebCore::ImageDecoderGStreamer' value
warning:   found `_ZTVN7WebCore21ImageDecoderGStreamerE' instead
..., data=0x7f51686eba00 "", size=1600) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:84
#7  0x00007f51c6c74555 in WebCore::ImageDecoderGStreamer::<lambda()>::operator()(void) const (__closure=0x7f51593ec828) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:352
#8  0x00007f51c6c76cee in WTF::Detail::CallableWrapper<WebCore::ImageDecoderGStreamer::pushEncodedData(const WebCore::SharedBuffer&)::<lambda()>, void>::call(void) (this=0x7f51593ec820) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#9  0x00007f51c2459acb in _ZNK3WTF8FunctionIFvvEEclEv (this=0x7f51590fec30) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#10 0x00007f51b4338327 in _ZN3WTF6Thread10entryPointEPNS0_16NewThreadContextE (newThreadContext=0x7f51593cfa50) at ../../Source/WTF/wtf/Threading.cpp:167
#11 0x00007f51b43c1081 in WTF::wtfThreadEntryPoint(void*) (context=0x7f51593cfa50) at ../../Source/WTF/wtf/posix/ThreadingPOSIX.cpp:197
#12 0x00007f51ae81c5e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#13 0x00007f51ac4ad473 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Comment 1 Philippe Normand 2020-06-14 04:54:58 PDT
Created attachment 401854 [details]
Patch
Comment 2 EWS 2020-06-15 03:34:02 PDT
Committed r263031: <https://trac.webkit.org/changeset/263031>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401854 [details].
Comment 3 Radar WebKit Bug Importer 2020-06-15 03:35:14 PDT
<rdar://problem/64357040>