RESOLVED FIXED 158639
[Yosemite Release WK2] imported/blink/storage/indexeddb/blob-delete-objectstore-db.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=158639
Summary [Yosemite Release WK2] imported/blink/storage/indexeddb/blob-delete-objectsto...
Ryan Haddad
Reported 2016-06-10 16:24:41 PDT
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 -
Attachments
Ryan Haddad
Comment 1 2016-06-10 16:29:02 PDT
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
Brady Eidson
Comment 2 2016-07-04 14:47:40 PDT
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.
Brady Eidson
Comment 3 2016-07-04 14:51:23 PDT
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.
Brady Eidson
Comment 4 2016-07-12 10:06:07 PDT
This is not reproducing any longer.
Brady Eidson
Comment 5 2016-07-12 10:07:27 PDT
Filed https://bugs.webkit.org/show_bug.cgi?id=159677 for the UniqueIDBDatabase being torn down on the wrong thread. Closing this bug.
Note You need to log in before you can comment on or make changes to this bug.