[Webkit-unassigned] [Bug 128621] IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 11 14:17:25 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=128621





--- Comment #2 from Brady Eidson <beidson at apple.com>  2014-02-11 14:14:41 PST ---
After plugging that, there's a problem where IDBTransactionBackend::abort removes the transactionbackend from the databasebackend, then calls its own onAbort callback, which calls the database shutdown code, which calls back into the transaction to abort its commit request, which then tries to remove itself from the databasebackend *again* trigging an assert.

#0    0x000000010db3502a in WTFCrash at /Volumes/Data/git/OpenSource/Source/WTF/wtf/Assertions.cpp:333
#1    0x0000000110660f8f in WebCore::IDBDatabaseBackend::transactionFinished(WebCore::IDBTransactionBackend*) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp:331
#2    0x000000010fbf4d5c in WebCore::IDBTransactionBackend::commit()::$_3::operator()(bool) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp:259
#3    0x000000010fbf4bc3 in bool&& std::__1::forward<bool>(std::__1::remove_reference<bool>::type&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:344
#4    0x000000010fbf4b93 in std::__1::__function::__func<WebCore::IDBTransactionBackend::commit()::$_3, std::__1::allocator<WebCore::IDBTransactionBackend::commit()::$_3>, void (bool)>::operator()(bool&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/functional:1059
#5    0x000000010b6d03d1 in std::__1::function<void (bool)>::operator()(bool) const at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/functional:1435
#6    0x000000010bd4b33a in WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3::operator()() const at /Volumes/Data/git/OpenSource/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:220
#7    0x000000010bd4b30c in decltype(std::__1::forward<WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3&>(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3&>(WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/__functional_base:344
#8    0x000000010bd4b2fb in std::__1::__function::__func<WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3, std::__1::allocator<WebKit::WebIDBServerConnection::commitTransaction(long long, std::__1::function<void (bool)>)::$_3>, void ()>::operator()() at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/functional:1059
#9    0x000000010b66d46a in std::__1::function<void ()>::operator()() const at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/../lib/c++/v1/functional:1435
#10    0x000000010bd73df5 in WebKit::AsyncRequest::requestAborted() at /Volumes/Data/git/OpenSource/Source/WebKit2/Shared/AsyncRequest.cpp:60
#11    0x000000010bd24ee8 in WebKit::WebIDBServerConnection::close() at /Volumes/Data/git/OpenSource/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:152
#12    0x00000001106624fc in WebCore::IDBDatabaseBackend::close(WTF::PassRefPtr<WebCore::IDBDatabaseCallbacks>) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp:613
#13    0x000000010ffb4147 in WebCore::IDBDatabase::closeConnection() at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp:291
#14    0x000000010ffb4074 in WebCore::IDBDatabase::transactionFinished(WebCore::IDBTransaction*) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp:112
#15    0x00000001100f416b in WebCore::IDBTransaction::onAbort(WTF::PassRefPtr<WebCore::IDBDatabaseError>) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:310
#16    0x000000010ffb4307 in WebCore::IDBDatabase::onAbort(long long, WTF::PassRefPtr<WebCore::IDBDatabaseError>) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp:118
#17    0x000000010eea351f in WebCore::IDBDatabaseCallbacksImpl::onAbort(long long, WTF::PassRefPtr<WebCore::IDBDatabaseError>) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:71
#18    0x000000010fbed615 in WebCore::IDBTransactionBackend::abort(WTF::PassRefPtr<WebCore::IDBDatabaseError>) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp:162
#19    0x000000010fbed1b6 in WebCore::IDBTransactionBackend::abort() at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp:114
#20    0x00000001106601b9 in WebCore::IDBDatabaseBackend::abort(long long) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBDatabaseBackend.cpp:212
#21    0x00000001100f399f in WebCore::IDBTransaction::abort(int&) at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:222
#22    0x00000001100f4a27 in WebCore::IDBTransaction::stop() at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:411
#23    0x00000001100f4a4c in _ZThn88_N7WebCore14IDBTransaction4stopEv at /Volumes/Data/git/OpenSource/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:412

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list