Bug 235678 - ASSERTION FAILED: Unsafe to ref/deref from different threads under WebKit::RemoteImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBuffer()
Summary: ASSERTION FAILED: Unsafe to ref/deref from different threads under WebKit::Re...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 235690 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-01-26 15:36 PST by Ryan Haddad
Modified: 2022-01-28 09:22 PST (History)
9 users (show)

See Also:


Attachments
crash log (84.16 KB, text/plain)
2022-01-26 15:36 PST, Ryan Haddad
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2022-01-26 15:36:53 PST
Created attachment 450079 [details]
crash log

fast/canvas/large-getImageData.html appears to be a flaky assertion failure on macOS debug bots:

ASSERTION FAILED: Unsafe to ref/deref from different threads
m_isOwnedByMainThread == isMainThread()
/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include/wtf/RefCounted.h(114) : void WTF::RefCountedBase::applyRefDerefThreadingCheck() const
1   0x13b6ec02c WTFCrash
2   0x119e4f770 WTF::RefCountedBase::applyRefDerefThreadingCheck() const
3   0x1164e64a0 WTF::RefCountedBase::derefBase() const
4   0x116326590 WTF::RefCounted<WebCore::NativeImage, std::__1::default_delete<WebCore::NativeImage> >::deref() const
5   0x117fb64a0 WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >::~Ref()
6   0x117faace4 WTF::Ref<WebCore::NativeImage, WTF::RawPtrTraits<WebCore::NativeImage> >::~Ref()
7   0x11a97199c WebCore::Pattern::~Pattern()
8   0x11a971a10 WebCore::Pattern::~Pattern()
9   0x119b93cb8 std::__1::default_delete<WebCore::Pattern>::operator()(WebCore::Pattern*) const
10  0x119b93c28 WTF::RefCounted<WebCore::Pattern, std::__1::default_delete<WebCore::Pattern> >::deref() const
11  0x11a919c54 WTF::DefaultRefDerefTraits<WebCore::Pattern>::derefIfNotNull(WebCore::Pattern*)
12  0x11a919c0c WTF::RefPtr<WebCore::Pattern, WTF::RawPtrTraits<WebCore::Pattern>, WTF::DefaultRefDerefTraits<WebCore::Pattern> >::~RefPtr()
13  0x11a8f9750 WTF::RefPtr<WebCore::Pattern, WTF::RawPtrTraits<WebCore::Pattern>, WTF::DefaultRefDerefTraits<WebCore::Pattern> >::~RefPtr()
14  0x11a8f9cc0 WTF::RefPtr<WebCore::Pattern, WTF::RawPtrTraits<WebCore::Pattern>, WTF::DefaultRefDerefTraits<WebCore::Pattern> >::operator=(WTF::RefPtr<WebCore::Pattern, WTF::RawPtrTraits<WebCore::Pattern>, WTF::DefaultRefDerefTraits<WebCore::Pattern> > const&)
15  0x11a8f9b94 WebCore::GraphicsContextState::operator=(WebCore::GraphicsContextState const&)
16  0x11a8fcc00 WebCore::GraphicsContext::restore()
17  0x11aa5ecb8 WebCore::GraphicsContextCG::restore()
18  0x101d0cc08 WebKit::RemoteImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBuffer()
19  0x101d0af7c WebKit::RemoteImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBuffer()
20  0x101d0afb0 WebKit::RemoteImageBuffer<WebKit::ImageBufferShareableMappedIOSurfaceBackend>::~RemoteImageBuffer()
21  0x101374c58 WTF::ThreadSafeRefCounted<WebCore::ImageBuffer, (WTF::DestructionThread)1>::deref() const::'lambda'()::operator()() const
22  0x101374b94 WTF::Detail::CallableWrapper<WTF::ThreadSafeRefCounted<WebCore::ImageBuffer, (WTF::DestructionThread)1>::deref() const::'lambda'(), void>::call()
23  0x13b7167dc WTF::Function<void ()>::operator()() const
24  0x13b7a76a4 WTF::RunLoop::performWork()
25  0x13b7ac470 WTF::RunLoop::performWork(void*)
26  0x1912f2ad4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
27  0x1912f2a20 __CFRunLoopDoSource0
28  0x1912f270c __CFRunLoopDoSources0
29  0x1912f1094 __CFRunLoopRun
30  0x1912f05e8 CFRunLoopRunSpecific
31  0x192099688 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]

https://results.webkit.org/?suite=layout-tests&test=fast%2Fcanvas%2Flarge-getImageData.html
Comment 1 Ryan Haddad 2022-01-26 15:37:20 PST
It looks like this test has been flaky since it was added with https://trac.webkit.org/changeset/287805/webkit
Comment 2 Radar WebKit Bug Importer 2022-01-26 15:37:33 PST
<rdar://problem/88099448>
Comment 3 Alexey Proskuryakov 2022-01-28 09:21:23 PST
*** Bug 235690 has been marked as a duplicate of this bug. ***