imported/blink/storage/indexeddb/blob-delete-objectstore-db.html is a flaky timeout Most recent timeout: <https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20(Tests)/builds/15230. Flakiness dashboard: <https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=imported%2Fblink%2Fstorage%2Findexeddb%2Fblob-delete-objectstore-db.html> --- /Volumes/Data/slave/yosemite-release-tests-wk2/build/layout-test-results/imported/blink/storage/indexeddb/blob-delete-objectstore-db-expected.txt +++ /Volumes/Data/slave/yosemite-release-tests-wk2/build/layout-test-results/imported/blink/storage/indexeddb/blob-delete-objectstore-db-actual.txt @@ -1,30 +1,2 @@ -Test that deleting an object store and a database containing blobs doesn't crash. +FAIL: Timed out waiting for notifyDone to be called -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - -dbname = "blob-delete-objectstore-db.html" -indexedDB.deleteDatabase(dbname) -indexedDB.open(dbname, 1) -store0 = db.createObjectStore('store0') -store1 = db.createObjectStore('store1') -store0.put(blobA, key) -db.close() - -reopen(): -request = indexedDB.open(dbname, 2) - -deleteObjectStore(): -db.deleteObjectStore('store0') - -didDeleteObjectStore(): -trans = db.transaction('store1', 'readwrite') -store1 = trans.objectStore('store1') -store1.put(blobB, key) -db.close() -request = indexedDB.deleteDatabase(dbname) -Database deleted. -PASS successfullyParsed is true - -TEST COMPLETE -
Per the flakiness dashboard, this was the first timeout @ r201541, but I'm not sure the change is directly related. https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20(Tests)/builds/14945
This has been mostly fine for QUITE awhile on the Mac ports where it's expected to be fine. The LONE exception is a crash on Yosemite debug wk2 a few builds ago. Trying to get the stack trace from the results dashboard is not working.
NM, here: https://build.webkit.org/results/Apple Yosemite Debug WK2 (Tests)/r202806 (13221)/imported/blink/storage/indexeddb/blob-delete-objectstore-db-crash-log.txt Thread 2 Crashed:: IndexedDatabase Server 0 com.apple.JavaScriptCore 0x000000011258acd7 WTFCrash + 39 1 com.apple.WebCore 0x0000000116d0be4c WebCore::TimerBase::stop() + 76 2 com.apple.WebCore 0x0000000116d0bda9 WebCore::TimerBase::~TimerBase() + 41 3 com.apple.WebCore 0x0000000114906a91 WebCore::Timer::~Timer() + 65 4 com.apple.WebCore 0x0000000114906a25 WebCore::Timer::~Timer() + 21 5 com.apple.WebCore 0x0000000116d2f51e WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase() + 1038 6 com.apple.WebCore 0x0000000116d2fa45 WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase() + 21 7 com.apple.WebCore 0x00000001156bf039 WTF::ThreadSafeRefCounted<WebCore::IDBServer::UniqueIDBDatabase>::deref() + 73 8 com.apple.WebCore 0x00000001156befe0 WTF::Ref<WebCore::IDBServer::UniqueIDBDatabase>::~Ref() + 48 9 com.apple.WebCore 0x00000001156bbda5 WTF::Ref<WebCore::IDBServer::UniqueIDBDatabase>::~Ref() + 21 10 com.apple.WebCore 0x0000000116d3ba84 WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask() + 660 11 com.apple.WebCore 0x0000000116d71243 void WTF::callMemberFunctionForCrossThreadTaskImpl<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::__1::tuple<> >(WebCore::IDBServer::UniqueIDBDatabase*, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::__1::tuple<>&&, std::__1::integer_sequence<unsigned long>) + 131 12 com.apple.WebCore 0x0000000116d71199 void WTF::callMemberFunctionForCrossThreadTask<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::__1::tuple<>, std::__1::integer_sequence<unsigned long> >(WebCore::IDBServer::UniqueIDBDatabase*, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::__1::tuple<>&&) + 73 13 com.apple.WebCore 0x0000000116d71140 WTF::CrossThreadTask WTF::createCrossThreadTask<WebCore::IDBServer::UniqueIDBDatabase>(WebCore::IDBServer::UniqueIDBDatabase&, void (WebCore::IDBServer::UniqueIDBDatabase::*)())::'lambda'()::operator()() + 80 14 com.apple.WebCore 0x0000000116d710bc WTF::Function<void ()>::CallableWrapper<WTF::CrossThreadTask WTF::createCrossThreadTask<WebCore::IDBServer::UniqueIDBDatabase>(WebCore::IDBServer::UniqueIDBDatabase&, void (WebCore::IDBServer::UniqueIDBDatabase::*)())::'lambda'()>::call() + 28 15 com.apple.WebCore 0x0000000114920e23 WTF::Function<void ()>::operator()() const + 99 16 com.apple.WebCore 0x000000011564e535 WTF::CrossThreadTask::performTask() + 21 17 com.apple.WebCore 0x00000001156b9e7e WebCore::IDBServer::IDBServer::databaseRunLoop() + 174 18 com.apple.WebCore 0x00000001156b7934 WebCore::IDBServer::IDBServer::databaseThreadEntry(void*) + 84 19 com.apple.JavaScriptCore 0x00000001125f3c39 WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const + 25 20 com.apple.JavaScriptCore 0x00000001125f3c0d void std::__1::__invoke_void_return_wrapper<void>::__call<WTF::createThread(void (*)(void*), void*, char const*)::$_0&>(WTF::createThread(void (*)(void*), void*, char const*)::$_0&&&) + 45 21 com.apple.JavaScriptCore 0x00000001125f3bac std::__1::__function::__func<WTF::createThread(void (*)(void*), void*, char const*)::$_0, std::__1::allocator<WTF::createThread(void (*)(void*), void*, char const*)::$_0>, void ()>::operator()() + 44 22 com.apple.JavaScriptCore 0x0000000111c2b48a std::__1::function<void ()>::operator()() const + 26 23 com.apple.JavaScriptCore 0x00000001125f280e WTF::threadEntryPoint(void*) + 158 24 com.apple.JavaScriptCore 0x00000001125f42b1 WTF::wtfThreadEntryPoint(void*) + 289 25 libsystem_pthread.dylib 0x00007fff87cbb05a _pthread_body + 131 26 libsystem_pthread.dylib 0x00007fff87cbafd7 _pthread_start + 176 27 libsystem_pthread.dylib 0x00007fff87cb83ed thread_start + 13 The assert is *probably*: ASSERT(canAccessThreadLocalDataForThread(m_thread)); Which sucks, but is also likely a different issue than the flakiness previously seen here.
This is not reproducing any longer.
Filed https://bugs.webkit.org/show_bug.cgi?id=159677 for the UniqueIDBDatabase being torn down on the wrong thread. Closing this bug.