[Webkit-unassigned] [Bug 223913] New: Occasional debug assert in GenericTaskQueue::~GenericTaskQueue
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Mar 29 23:07:26 PDT 2021
https://bugs.webkit.org/show_bug.cgi?id=223913
Bug ID: 223913
Summary: Occasional debug assert in
GenericTaskQueue::~GenericTaskQueue
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Media
Assignee: webkit-unassigned at lists.webkit.org
Reporter: rniwa at webkit.org
CC: cdumez at apple.com, jer.noble at apple.com
e.g.
frame #0: JavaScriptCore`WTFCrash+14
frame #1: WebCore`WTFCrashWithInfo(int, char const*, char const*, int)+27
frame #2: WebCore`WTF::WeakPtrFactory<WebCore::TaskDispatcher<WebCore::Timer>, WTF::EmptyCounter>::initializeIfNeeded(WebCore::TaskDispatcher<WebCore::Timer> const&) const+161
frame #3: WebCore`WTF::WeakPtr<WebCore::TaskDispatcher<WebCore::Timer>, WTF::EmptyCounter> WTF::WeakPtrFactory<WebCore::TaskDispatcher<WebCore::Timer>, WTF::EmptyCounter>::createWeakPtr<WebCore::TaskDispatcher<WebCore::Timer> >(WebCore::TaskDispatcher<WebCore::Timer>&) const+48
frame #4: WebCore`auto WTF::makeWeakPtr<WebCore::TaskDispatcher<WebCore::Timer> >(WebCore::TaskDispatcher<WebCore::Timer>&)+52
frame #5: WebCore`WebCore::TaskDispatcher<WebCore::Timer>::postTask(WTF::Function<void ()>&&)+96
frame #6: WebCore`WebCore::GenericTaskQueue<WebCore::Timer>::~GenericTaskQueue()+109
frame #7: WebCore`WebCore::GenericTaskQueue<WebCore::Timer>::~GenericTaskQueue()+21
frame #8: WebCore`-[WebCoreAVFLoaderDelegate .cxx_destruct]+33
WeakPtrFactory::initializeIfNeeded asserts that if WeakPtrFactory was created on the main thread or if it was not, initializeIfNeeded should also be called on the main thread or not. However, this is not necessary the case for TaskDispatcher<Timer>, which uses a lock to synchronize two threads. In this particular case, it’s safe to avoid doing any work since WeakPtr was never allocated, meaning we had never scheduled a task on this TaskDispatcher<Timer>. Alternatively, we can eagerly initialize the WeakPtrFactory in TaskDispatcher<Timer>.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210330/116c344b/attachment.htm>
More information about the webkit-unassigned
mailing list