RESOLVED FIXED 209499
REGRESSION: ASSERTION FAILED: m_wrapper on storage/indexeddb/modern/abort-requests tests
https://bugs.webkit.org/show_bug.cgi?id=209499
Summary REGRESSION: ASSERTION FAILED: m_wrapper on storage/indexeddb/modern/abort-req...
Jason Lawrence
Reported 2020-03-24 14:31:56 PDT
Created attachment 394414 [details] abort-requests-cancelled-private-crash-log storage/indexeddb/modern/abort-requests-cancelled.html storage/indexeddb/modern/abort-requests-cancelled-private.html Description: These tests are flaky crashing on Catalina wk1. The crashes appear in the visible history on 03/12/2020. History: https://results.webkit.org/?flavor=wk1&version_name=Catalina&style=debug&suite=layout-tests&suite=layout-tests&test=storage%2Findexeddb%2Fmodern%2Fblocked-open-db-requests-private.html&test=storage%2Findexeddb%2Fodd-strings-private.html Crash logs attached; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x000000010a15687e WTFCrash + 14 (Assertions.cpp:309) 1 com.apple.WebCore 0x000000012319e64b WTFCrashWithInfo(int, char const*, char const*, int) + 27 2 com.apple.WebCore 0x00000001254d3cb8 WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext&) const + 616 (JSEventListener.h:123) 3 com.apple.WebCore 0x00000001254d2fdb WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 219 (JSEventListener.cpp:115) 4 com.apple.WebCore 0x0000000125b8e5cc WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>, WebCore::EventTarget::EventInvokePhase) + 956 (EventTarget.cpp:320) 5 com.apple.WebCore 0x0000000125b8a802 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) + 354 (EventTarget.cpp:257) 6 com.apple.WebCore 0x0000000125b75ef4 WebCore::EventContext::handleLocalEvents(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) const + 228 (EventContext.cpp:58) 7 com.apple.WebCore 0x0000000125b769eb WebCore::dispatchEventInDOM(WebCore::Event&, WebCore::EventPath const&) + 379 (EventDispatcher.cpp:101) 8 com.apple.WebCore 0x0000000125b76df2 void WebCore::dispatchEventWithType<WebCore::EventTarget>(WTF::Vector<WebCore::EventTarget*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::Event&) + 338 (EventDispatcher.cpp:186)
Attachments
abort-requests-cancelled-private-crash-log (144.62 KB, text/plain)
2020-03-24 14:31 PDT, Jason Lawrence
no flags
Patch (3.31 KB, patch)
2020-03-26 12:35 PDT, Chris Dumez
no flags
Radar WebKit Bug Importer
Comment 1 2020-03-24 14:32:20 PDT
Jason Lawrence
Comment 2 2020-03-24 14:40:11 PDT
I have marked these tests as crashing while this issue is investigated. https://trac.webkit.org/changeset/258939/webkit
Chris Dumez
Comment 4 2020-03-26 12:35:26 PDT
EWS
Comment 5 2020-03-26 13:25:20 PDT
Committed r259068: <https://trac.webkit.org/changeset/259068> All reviewed patches have been landed. Closing bug and clearing flags on attachment 394641 [details].
Sihui Liu
Comment 6 2020-03-27 15:38:12 PDT
Wonder whether or not we need this change for IDBDatabase and IDBDatabaseRequest, which are also not consulting ActiveDOMObject::hasPendingActivity()
Sihui Liu
Comment 7 2020-03-27 15:39:41 PDT
(In reply to Sihui Liu from comment #6) > Wonder whether or not we need this change for IDBDatabase and > IDBDatabaseRequest, which are also not consulting > ActiveDOMObject::hasPendingActivity() *IDBRequest*
Geoffrey Garen
Comment 8 2020-03-30 10:39:36 PDT
(In reply to Sihui Liu from comment #6) > Wonder whether or not we need this change for IDBDatabase and > IDBDatabaseRequest, which are also not consulting > ActiveDOMObject::hasPendingActivity() Yes, I believe we do. (Both should call through to IDBActiveDOMObject.)
Chris Dumez
Comment 9 2020-03-30 10:41:28 PDT
(In reply to Geoffrey Garen from comment #8) > (In reply to Sihui Liu from comment #6) > > Wonder whether or not we need this change for IDBDatabase and > > IDBDatabaseRequest, which are also not consulting > > ActiveDOMObject::hasPendingActivity() > > Yes, I believe we do. (Both should call through to IDBActiveDOMObject.) Every ActiveDOMObject::hasPendingActivity() override *should* check the base ActiveDOMObject::hasPendingActivity(). It may or may have a behavior change, depending on whether or not makePendingActivity() is used. Either way though, the safe thing to do is to always query the base ActiveDOMObject::hasPendingActivity().
Chris Dumez
Comment 10 2020-03-30 10:42:03 PDT
(In reply to Chris Dumez from comment #9) > (In reply to Geoffrey Garen from comment #8) > > (In reply to Sihui Liu from comment #6) > > > Wonder whether or not we need this change for IDBDatabase and > > > IDBDatabaseRequest, which are also not consulting > > > ActiveDOMObject::hasPendingActivity() > > > > Yes, I believe we do. (Both should call through to IDBActiveDOMObject.) > > Every ActiveDOMObject::hasPendingActivity() override *should* check the base > ActiveDOMObject::hasPendingActivity(). It may or may have a behavior change, > depending on whether or not makePendingActivity() is used. Either way > though, the safe thing to do is to always query the base > ActiveDOMObject::hasPendingActivity(). I think I will check ALL ActiveDOMObject::hasPendingActivity() overrides and fix them all up at once.
Chris Dumez
Comment 11 2020-03-30 13:13:12 PDT
*** Bug 209744 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.