Bug 184065 - LayoutTest imported/w3c/web-platform-tests/IndexedDB/keypath-exceptions.htm crashes
Summary: LayoutTest imported/w3c/web-platform-tests/IndexedDB/keypath-exceptions.htm c...
Status: RESOLVED DUPLICATE of bug 228169
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-27 19:17 PDT by Fujii Hironori
Modified: 2021-07-22 10:32 PDT (History)
3 users (show)

See Also:


Attachments
keypath-exceptions-crash-log.txt (33.36 KB, text/plain)
2018-03-27 19:17 PDT, Fujii Hironori
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2018-03-27 19:17:02 PDT
Created attachment 336634 [details]
keypath-exceptions-crash-log.txt

LayoutTest imported/w3c/web-platform-tests/IndexedDB/keypath-exceptions.htm crashes

This test is marked Skip in LayoutTests/TestExpectations. So I think this crash is cross platform.
I tested with GTK port, debug build, trunk@229994.

> Thread 1 (Thread 0x7f2e177fe700 (LWP 100031)):
> #0  0x00007f2e770db5f3 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:271
> #1  0x00007f2e83f45df7 in (anonymous namespace)::serializedTypeForKeyType (type=(anonymous namespace)::(anonymous namespace)::Invalid) at ../../Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp:181
> #2  0x00007f2e83f45eb1 in (anonymous namespace)::encodeKey (data=..., key=...) at ../../Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp:236
> #3  0x00007f2e83f46121 in (anonymous namespace)::encodeKey (data=..., key=...) at ../../Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp:273
> #4  0x00007f2e83f4619f in (anonymous namespace)::serializeIDBKeyData (key=...) at ../../Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp:288
> #5  0x00007f2e83f9ebf5 in (anonymous namespace)::(anonymous namespace)::SQLiteIDBBackingStore::uncheckedPutIndexRecord (this=0x7f2e080a0e70, objectStoreID=1, indexID=1, keyValue=..., indexKey=..., recordID=1) at ../../Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:1285
> #6  0x00007f2e83f9e9e6 in (anonymous namespace)::(anonymous namespace)::SQLiteIDBBackingStore::uncheckedPutIndexKey (this=0x7f2e080a0e70, info=..., key=..., indexKey=..., recordID=1) at ../../Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:1271
> #7  0x00007f2e83fa1fd1 in (anonymous namespace)::(anonymous namespace)::SQLiteIDBBackingStore::updateAllIndexesForAddRecord (this=0x7f2e080a0e70, info=..., key=..., value=..., recordID=1) at ../../Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:1677
> #8  0x00007f2e83fa29df in (anonymous namespace)::(anonymous namespace)::SQLiteIDBBackingStore::addRecord (this=0x7f2e080a0e70, transactionIdentifier=..., objectStoreInfo=..., keyData=..., value=...) at ../../Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:1741
> #9  0x00007f2e83fd0940 in (anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::performPutOrAdd (this=0x55dd4abb86d0, callbackIdentifier=18, transactionIdentifier=..., objectStoreIdentifier=1, keyData=..., originalRecordValue=..., overwriteMode=(anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode::Overwrite) at ../../Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1042
> #10 0x00007f2e84002868 in WTF::callMemberFunctionForCrossThreadTaskImpl<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(unsigned long, WebCore::IDBResourceIdentifier const&, unsigned long, WebCore::IDBKeyData const&, WebCore::IDBValue const&, WebCore::IndexedDB::ObjectStoreOverwriteMode), std::tuple<unsigned long, WebCore::IDBResourceIdentifier, unsigned long, WebCore::IDBKeyData, WebCore::IDBValue, WebCore::IndexedDB::ObjectStoreOverwriteMode>, 0, 1, 2, 3, 4, 5> (object=0x55dd4abb86d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const, unsigned long, const (anonymous namespace)::IDBResourceIdentifier &, unsigned long, const (anonymous namespace)::IDBKeyData &, const (anonymous namespace)::IDBValue &, (anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode)) 0x7f2e83fcf9da <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::performPutOrAdd(uint64_t, (anonymous namespace)::IDBResourceIdentifier const&, uint64_t, (anonymous namespace)::IDBKeyData const&, (anonymous namespace)::IDBValue const&, (anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode)>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:76
> #11 0x00007f2e83ff6952 in WTF::callMemberFunctionForCrossThreadTask<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(unsigned long, WebCore::IDBResourceIdentifier const&, unsigned long, WebCore::IDBKeyData const&, WebCore::IDBValue const&, WebCore::IndexedDB::ObjectStoreOverwriteMode), std::tuple<unsigned long, WebCore::IDBResourceIdentifier, unsigned long, WebCore::IDBKeyData, WebCore::IDBValue, WebCore::IndexedDB::ObjectStoreOverwriteMode> > (object=0x55dd4abb86d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const, unsigned long, const (anonymous namespace)::IDBResourceIdentifier &, unsigned long, const (anonymous namespace)::IDBKeyData &, const (anonymous namespace)::IDBValue &, (anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode)) 0x7f2e83fcf9da <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::performPutOrAdd(uint64_t, (anonymous namespace)::IDBResourceIdentifier const&, uint64_t, (anonymous namespace)::IDBKeyData const&, (anonymous namespace)::IDBValue const&, (anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode)>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:82
> #12 0x00007f2e83fe9c50 in WTF::<lambda()>::operator()(void) (__closure=0x7f2e65b970b8) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:89
> #13 0x00007f2e840270e0 in WTF::Function<void()>::CallableWrapper<WTF::createCrossThreadTask(T&, void (T::*)(Parameters ...), const Arguments& ...) [with T = WebCore::IDBServer::UniqueIDBDatabase; Parameters = {long unsigned int, const WebCore::IDBResourceIdentifier&, long unsigned int, const WebCore::IDBKeyData&, const WebCore::IDBValue&, WebCore::IndexedDB::ObjectStoreOverwriteMode}; Arguments = {long unsigned int, WebCore::IDBResourceIdentifier, long unsigned int, WebCore::IDBKeyData, WebCore::IDBValue, WebCore::IndexedDB::ObjectStoreOverwriteMode}]::<lambda()> >::call(void) (this=0x7f2e65b970b0) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
> #14 0x00007f2e828aab98 in WTF::Function<void()>::operator()(void) const (this=0x7f2e177fd958) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #15 0x00007f2e82ae8028 in WTF::CrossThreadTask::performTask (this=0x7f2e177fd958) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:46
> #16 0x00007f2e83fd5567 in (anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask (this=0x55dd4abb86d0) at ../../Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1748
> #17 0x00007f2e83ffe117 in WTF::callMemberFunctionForCrossThreadTaskImpl<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::tuple<> >((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase *, void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const), std::tuple<> &&, std::index_sequence) (object=0x55dd4abb86d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const)) 0x7f2e83fd5480 <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask()>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:76
> #18 0x00007f2e83ff2652 in WTF::callMemberFunctionForCrossThreadTask<WebCore::IDBServer::UniqueIDBDatabase, void (WebCore::IDBServer::UniqueIDBDatabase::*)(), std::tuple<> >((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase *, void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const), std::tuple<> &&) (object=0x55dd4abb86d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const)) 0x7f2e83fd5480 <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask()>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:82
> #19 0x00007f2e83fe5a7e in WTF::<lambda()>::operator()(void) (__closure=0x7f2e65bfd968) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:89
> #20 0x00007f2e840272c0 in WTF::Function<void()>::CallableWrapper<WTF::createCrossThreadTask(T&, void (T::*)(Parameters ...), const Arguments& ...) [with T = WebCore::IDBServer::UniqueIDBDatabase; Parameters = {}; Arguments = {}]::<lambda()> >::call(void) (this=0x7f2e65bfd960) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
> #21 0x00007f2e828aab98 in WTF::Function<void()>::operator()(void) const (this=0x7f2e177fdab0) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #22 0x00007f2e82ae8028 in WTF::CrossThreadTask::performTask (this=0x7f2e177fdab0) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:46
> #23 0x00007f2e85dfab01 in WTF::CrossThreadTaskHandler::taskRunLoop (this=0x7f2e65bc2000) at ../../Source/WTF/wtf/CrossThreadTaskHandler.cpp:72
> #24 0x00007f2e85dfa74f in WTF::CrossThreadTaskHandler::<lambda()>::operator()(void) const (__closure=0x7f2e65bfa1a8) at ../../Source/WTF/wtf/CrossThreadTaskHandler.cpp:36
> #25 0x00007f2e85dfb96a in WTF::Function<void()>::CallableWrapper<WTF::CrossThreadTaskHandler::CrossThreadTaskHandler(char const*)::<lambda()> >::call(void) (this=0x7f2e65bfa1a0) at ../../Source/WTF/wtf/Function.h:101
> #26 0x00007f2e828aab98 in WTF::Function<void()>::operator()(void) const (this=0x7f2e177fdb40) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #27 0x00007f2e7710f0fd in WTF::Thread::entryPoint (newThreadContext=0x7f2e65bf7140) at ../../Source/WTF/wtf/Threading.cpp:129
> #28 0x00007f2e77158811 in WTF::wtfThreadEntryPoint (context=0x7f2e65bf7140) at ../../Source/WTF/wtf/ThreadingPthreads.cpp:222
> #29 0x00007f2e73bae7fc in start_thread (arg=0x7f2e177fe700) at pthread_create.c:465
> #30 0x00007f2e7b339b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Comment 1 Sihui Liu 2021-07-22 10:32:44 PDT

*** This bug has been marked as a duplicate of bug 228169 ***