Encountered with LayoutTest storage/websql/multiple-transactions-on-different-handles.html on El Capitan and Sierra Debug WK1 https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r208857%20(9825)/results.html ASSERTION FAILED: isMainThread() /Volumes/Data/slave/elcapitan-debug/build/Source/WebCore/dom/Node.h(706) : void WebCore::Node::ref() 1 0x102b50440 WTFCrash 2 0x107f636b5 WebCore::Node::ref() 3 0x1086bc455 WebCore::Document::refScriptExecutionContext() 4 0x1086bc57c non-virtual thunk to WebCore::Document::refScriptExecutionContext() 5 0x1083a4e89 WebCore::ScriptExecutionContext::ref() 6 0x1085d06d3 WTF::Ref<WebCore::ScriptExecutionContext>::Ref(WebCore::ScriptExecutionContext&) 7 0x1085cabfd WTF::Ref<WebCore::ScriptExecutionContext>::Ref(WebCore::ScriptExecutionContext&) 8 0x1085cae1f WTF::Ref<WebCore::ScriptExecutionContext>::copyRef() const 9 0x1085c3d74 WebCore::Database::~Database() 10 0x1085c3f65 WebCore::Database::~Database() 11 0x1085d41d9 WTF::ThreadSafeRefCounted<WebCore::Database>::deref() const 12 0x1085e0864 void WTF::derefIfNotNull<WebCore::Database>(WebCore::Database*) 13 0x1085e0823 WTF::RefPtr<WebCore::Database>::~RefPtr() 14 0x1085dcee5 WTF::RefPtr<WebCore::Database>::~RefPtr() 15 0x1085e3cb4 WTF::HashTable<WTF::RefPtr<WebCore::Database>, WTF::RefPtr<WebCore::Database>, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> > >::deallocateTable(WTF::RefPtr<WebCore::Database>*, unsigned int) ERROR: Unable to turn on incremental auto-vacuum (0 not an error) /Volumes/Data/slave/elcapitan-debug/build/Source/WebCore/Modules/webdatabase/Database.cpp(355) : ExceptionOr<void> WebCore::Database::performOpenAndVerify(bool) 16 0x1085e3a8e WTF::HashTable<WTF::RefPtr<WebCore::Database>, WTF::RefPtr<WebCore::Database>, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> > >::~HashTable() 17 0x1085e3a45 WTF::HashTable<WTF::RefPtr<WebCore::Database>, WTF::RefPtr<WebCore::Database>, WTF::IdentityExtractor, WTF::PtrHash<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> > >::~HashTable() 18 0x1085e3a25 WTF::HashSet<WTF::RefPtr<WebCore::Database>, WTF::PtrHash<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> > >::~HashSet() 19 0x1085e32a5 WTF::HashSet<WTF::RefPtr<WebCore::Database>, WTF::PtrHash<WTF::RefPtr<WebCore::Database> >, WTF::HashTraits<WTF::RefPtr<WebCore::Database> > >::~HashSet() 20 0x1085e2407 WebCore::DatabaseThread::databaseThread() 21 0x1085e1f4d WebCore::DatabaseThread::databaseThreadStart(void*) 22 0x102bc9c49 WTF::createThread(void (*)(void*), void*, char const*)::$_0::operator()() const 23 0x102bc9c1d 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&&&) 24 0x102bc9bbc 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()() 25 0x1020c19ea std::__1::function<void ()>::operator()() const 26 0x102bc881e WTF::threadEntryPoint(void*) 27 0x102bca2c1 WTF::wtfThreadEntryPoint(void*) 28 0x7fff92d4599d _pthread_body 29 0x7fff92d4591a _pthread_body 30 0x7fff92d43351 thread_start
<rdar://problem/29319497>
Created attachment 295085 [details] Crash log
Likely a regression from Darin's http://trac.webkit.org/changeset/208672. Before that commit, we were not ref'ing the scriptExecutionContext in the non-main thread.
Created attachment 295099 [details] Patch
Comment on attachment 295099 [details] Patch Clearing flags on attachment: 295099 Committed r208869: <http://trac.webkit.org/changeset/208869>
All reviewed patches have been landed. Closing bug.