Bug 184066 - LayoutTest imported/w3c/web-platform-tests/IndexedDB/nested-cloning-small.html crashes
Summary: LayoutTest imported/w3c/web-platform-tests/IndexedDB/nested-cloning-small.htm...
Status: NEW
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:20 PDT by Fujii Hironori
Modified: 2018-03-28 15:34 PDT (History)
2 users (show)

See Also:


Attachments
nested-cloning-small-crash-log.txt (33.62 KB, text/plain)
2018-03-27 19:20 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:20:23 PDT
Created attachment 336636 [details]
nested-cloning-small-crash-log.txt

imported/w3c/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html
imported/w3c/web-platform-tests/IndexedDB/nested-cloning-large.html
imported/w3c/web-platform-tests/IndexedDB/nested-cloning-small.html

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

> Thread 1 (Thread 0x7f5f852fd700 (LWP 100781)):
> #0  0x00007f5fd8aeb5f3 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:271
> #1  0x00007f5fd8aeb604 in WTFCrashWithSecurityImplication () at ../../Source/WTF/wtf/Assertions.cpp:292
> #2  0x00007f5fe4ee6c93 in JSC::jsCast<WebCore::JSDOMGlobalObject*, JSC::JSGlobalObject> (from=0x7f5f843f0000) at DerivedSources/ForwardingHeaders/JavaScriptCore/JSCast.h:36
> #3  0x00007f5fe5d1e4d1 in (anonymous namespace)::CloneSerializer::dumpArrayBufferView (this=0x7f5f852fc240, obj=0x7f5f843e03c0, code=@0x7f5f852fba38: (anonymous namespace)::SerializationReturnCode::SuccessfullyCompleted) at ../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:788
> #4  0x00007f5fe5d1f83f in (anonymous namespace)::CloneSerializer::dumpIfTerminal (this=0x7f5f852fc240, value=..., code=@0x7f5f852fba38: (anonymous namespace)::SerializationReturnCode::SuccessfullyCompleted) at ../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:1010
> #5  0x00007f5fe5cf605c in (anonymous namespace)::CloneSerializer::serialize (this=0x7f5f852fc240, in=...) at ../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:1541
> #6  0x00007f5fe5d1d6d3 in (anonymous namespace)::CloneSerializer::serialize (exec=0x7f5f843f0058, value=..., messagePorts=..., arrayBuffers=..., wasmModules=..., blobURLs=..., out=..., context=(anonymous namespace)::SerializationContext::Default, sharedBuffers=...) at ../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:544
> #7  0x00007f5fe5cf802c in (anonymous namespace)::SerializedScriptValue::create (exec=..., value=..., throwExceptions=(anonymous namespace)::SerializationErrorMode::Throwing) at ../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:3229
> #8  0x00007f5fe59e04c1 in (anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::performPutOrAdd (this=0x5581f54556d0, callbackIdentifier=23, transactionIdentifier=..., objectStoreIdentifier=1, keyData=..., originalRecordValue=..., overwriteMode=(anonymous namespace)::(anonymous namespace)::ObjectStoreOverwriteMode::Overwrite) at ../../Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1020
> #9  0x00007f5fe5a12868 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=0x5581f54556d0, 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)) 0x7f5fe59df9da <(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
> #10 0x00007f5fe5a06952 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=0x5581f54556d0, 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)) 0x7f5fe59df9da <(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
> #11 0x00007f5fe59f9c50 in WTF::<lambda()>::operator()(void) (__closure=0x7f5fc75ac218) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:89
> #12 0x00007f5fe5a370e0 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=0x7f5fc75ac210) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
> #13 0x00007f5fe42bab98 in WTF::Function<void()>::operator()(void) const (this=0x7f5f852fc958) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #14 0x00007f5fe44f8028 in WTF::CrossThreadTask::performTask (this=0x7f5f852fc958) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:46
> #15 0x00007f5fe59e5567 in (anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask (this=0x5581f54556d0) at ../../Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp:1748
> #16 0x00007f5fe5a0e117 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=0x5581f54556d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const)) 0x7f5fe59e5480 <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask()>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:76
> #17 0x00007f5fe5a02652 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=0x5581f54556d0, function=(void ((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::*)((anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase * const)) 0x7f5fe59e5480 <(anonymous namespace)::(anonymous namespace)::UniqueIDBDatabase::executeNextDatabaseTask()>, args=...) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:82
> #18 0x00007f5fe59f5a7e in WTF::<lambda()>::operator()(void) (__closure=0x7f5fc75fd968) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:89
> #19 0x00007f5fe5a372c0 in WTF::Function<void()>::CallableWrapper<WTF::createCrossThreadTask(T&, void (T::*)(Parameters ...), const Arguments& ...) [with T = WebCore::IDBServer::UniqueIDBDatabase; Parameters = {}; Arguments = {}]::<lambda()> >::call(void) (this=0x7f5fc75fd960) at DerivedSources/ForwardingHeaders/wtf/Function.h:101
> #20 0x00007f5fe42bab98 in WTF::Function<void()>::operator()(void) const (this=0x7f5f852fcab0) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #21 0x00007f5fe44f8028 in WTF::CrossThreadTask::performTask (this=0x7f5f852fcab0) at DerivedSources/ForwardingHeaders/wtf/CrossThreadTask.h:46
> #22 0x00007f5fe780ab01 in WTF::CrossThreadTaskHandler::taskRunLoop (this=0x7f5fc75c3000) at ../../Source/WTF/wtf/CrossThreadTaskHandler.cpp:72
> #23 0x00007f5fe780a74f in WTF::CrossThreadTaskHandler::<lambda()>::operator()(void) const (__closure=0x7f5fc75fa1a8) at ../../Source/WTF/wtf/CrossThreadTaskHandler.cpp:36
> #24 0x00007f5fe780b96a in WTF::Function<void()>::CallableWrapper<WTF::CrossThreadTaskHandler::CrossThreadTaskHandler(char const*)::<lambda()> >::call(void) (this=0x7f5fc75fa1a0) at ../../Source/WTF/wtf/Function.h:101
> #25 0x00007f5fe42bab98 in WTF::Function<void()>::operator()(void) const (this=0x7f5f852fcb40) at DerivedSources/ForwardingHeaders/wtf/Function.h:56
> #26 0x00007f5fd8b1f0fd in WTF::Thread::entryPoint (newThreadContext=0x7f5fc75f7140) at ../../Source/WTF/wtf/Threading.cpp:129
> #27 0x00007f5fd8b68811 in WTF::wtfThreadEntryPoint (context=0x7f5fc75f7140) at ../../Source/WTF/wtf/ThreadingPthreads.cpp:222
> #28 0x00007f5fd55be7fc in start_thread (arg=0x7f5f852fd700) at pthread_create.c:465
> #29 0x00007f5fdcd49b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95