Thanks for your reply. Could you explain what can cause objects in snapshot 
but are not available with code cache?
在2020年11月23日星期一 UTC+8 下午4:36:18<[email protected]> 写道:

> Generally, pretty much all of V8 (aside from initialization) assumes that 
> the snapshot is deserialized and the objects in it are available. This 
> includes the code cache serializer/deserializer. Otherwise, things are 
> gonna go wrong -- here, for example, you're probably seeing a null string 
> map (since the string map is in the snapshot).
>
> On Mon, Nov 23, 2020 at 6:49 AM 王梓童 <[email protected]> wrote:
>
>> I try to use both snapshot and codecache to reduce page load time. All 
>> going well when I use snapshot or codecache alone. However, when I create 
>> codecache for index.js with an engine without snapshot first, then create 
>> snapshot for startup.js, then create an engine loading index.js with both 
>> snapshot and codecache, crash occurs. Here is stacktrace:
>>
>> [image: Pasted Graphic.png]
>>
>> com.facebook.react.JavaScript (61)#0 0x000000010c7f9a16 in bool 
>> v8::internal::IsInRange<v8::internal::InstanceType, 
>> v8::internal::InstanceType>(v8::internal::InstanceType, 
>> v8::internal::InstanceType, v8::internal::InstanceType) [inlined] at 
>> /Volumes/EXTREME SSD/Documents/depot_tools/v8/v8/src/utils/utils.h:69
>>
>> #1 0x000000010c7f9a16 in 
>> v8::internal::InstanceTypeChecker::IsString(v8::internal::InstanceType) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/objects/instance-type-inl.h:33
>>
>> #2 0x000000010c7f9a16 in 
>> v8::internal::HeapObject::IsString(v8::internal::Isolate*) const [inlined] 
>> at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/objects/instance-type-inl.h:64
>>
>> #3 0x000000010c7f9a12 in 
>> v8::internal::HeapObject::IsThinString(v8::internal::Isolate*) const 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/objects/objects-inl.h:205
>>
>> #4 0x000000010c7f9a12 in v8::internal::HeapObject::IsThinString() const 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/objects/objects-inl.h:204
>>
>> #5 0x000000010c7f9a12 in 
>> v8::internal::Deserializer::GetBackReferencedObject(v8::internal::SnapshotSpace)
>>  
>> at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:364
>>
>> #6 0x000000010c7f89b8 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)8, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:813
>>
>> #7 0x000000010c7f899a in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:579
>>
>> #8 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #9 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #10 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #11 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #12 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #13 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #14 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #15 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #16 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #17 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #18 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #19 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #20 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #21 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #22 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #23 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #24 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #25 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #26 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #27 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #28 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #29 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #30 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #31 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #32 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #33 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #34 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #35 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #36 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #37 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #38 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #39 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #40 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #41 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #42 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #43 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #44 0x000000010c7faa8d in 
>> v8::internal::Deserializer::ReadObject(v8::internal::SnapshotSpace) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:394
>>
>> #45 0x000000010c7f89d4 in v8::internal::FullMaybeObjectSlot 
>> v8::internal::Deserializer::ReadDataCase<v8::internal::FullMaybeObjectSlot, 
>> (v8::internal::SerializerDeserializer::Bytecode)0, 
>> (v8::internal::SnapshotSpace)6>(v8::internal::Isolate*, 
>> v8::internal::FullMaybeObjectSlot, unsigned long, unsigned char, bool) 
>> [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:810
>>
>> #46 0x000000010c7f89ba in bool 
>> v8::internal::Deserializer::ReadData<v8::internal::FullMaybeObjectSlot>(v8::internal::FullMaybeObjectSlot,
>>  
>> v8::internal::FullMaybeObjectSlot, v8::internal::SnapshotSpace, unsigned 
>> long) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/deserializer.cc:576
>>
>> #47 0x000000010c7fc244 in 
>> v8::internal::RootVisitor::VisitRootPointer(v8::internal::Root, char 
>> const*, v8::internal::FullObjectSlot) [inlined] at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/objects/visitors.h:73
>>
>> #48 0x000000010c7fc22c in 
>> v8::internal::ObjectDeserializer::Deserialize(v8::internal::Isolate*) at 
>> /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/object-deserializer.cc:45
>>
>> #49 0x000000010c7fc070 in 
>> v8::internal::ObjectDeserializer::DeserializeSharedFunctionInfo(v8::internal::Isolate*,
>>  
>> v8::internal::SerializedCodeData const*, 
>> v8::internal::Handle<v8::internal::String>) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/object-deserializer.cc:29
>>
>> #50 0x000000010c7f6e70 in 
>> v8::internal::CodeSerializer::Deserialize(v8::internal::Isolate*, 
>> v8::internal::ScriptData*, v8::internal::Handle<v8::internal::String>, 
>> v8::ScriptOriginOptions) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/snapshot/code-serializer.cc:289
>>
>> #51 0x000000010c42971a in 
>> v8::internal::Compiler::GetSharedFunctionInfoForScript(v8::internal::Isolate*,
>>  
>> v8::internal::Handle<v8::internal::String>, 
>> v8::internal::Compiler::ScriptDetails const&, v8::ScriptOriginOptions, 
>> v8::Extension*, v8::internal::ScriptData*, 
>> v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason, 
>> v8::internal::NativesFlag) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/codegen/compiler.cc:2024
>>
>> #52 0x000000010c398b1a in 
>> v8::ScriptCompiler::CompileUnboundInternal(v8::Isolate*, 
>> v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, 
>> v8::ScriptCompiler::NoCacheReason) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/api/api.cc:2435
>>
>> #53 0x000000010c39909f in 
>> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, 
>> v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, 
>> v8::ScriptCompiler::NoCacheReason) at /Volumes/EXTREME 
>> SSD/Documents/depot_tools/v8/v8/src/api/api.cc:2466
>>
>> #54 0x000000010c36ed77 in 
>> facebook::V8Runtime::ExecuteScript(v8::Isolate*, v8::Local<v8::String> 
>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> > const&) at 
>> /Users/wangzitong/Documents/v8executor/src/v8runtime/V8Runtime.mm:317
>>
>> #55 0x000000010c371131 in 
>> facebook::V8Runtime::evaluateJavaScript(std::__1::shared_ptr<facebook::jsi::Buffer
>>  
>> const> const&, std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> > const&) at 
>> /Users/wangzitong/Documents/v8executor/src/v8runtime/V8Runtime.mm:746
>>
>> #56 0x000000010a762f72 in 
>> facebook::react::JSIExecutor::loadApplicationScript(std::__1::unique_ptr<facebook::react::JSBigString
>>  
>> const, std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >) at 
>> /Users/wangzitong/Documents/imeituan/Pods/React-jsiexecutor/src/jsireact/JSIExecutor.cpp:126
>>
>> #57 0x000000010a73a3f9 in 
>> facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0::operator()(facebook::react::JSExecutor*) 
>> at 
>> /Users/wangzitong/Documents/imeituan/Pods/React-cxxreact/src/NativeToJsBridge.cpp:119
>>
>> #58 0x000000010a73a2a2 in 
>> decltype(std::__1::forward<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> 
>> >)::$_0&>(fp)(std::__1::forward<facebook::react::JSExecutor*>(fp0))) 
>> std::__1::__invoke<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0&, 
>> facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0&, facebook::react::JSExecutor*&&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:3545
>>
>> #59 0x000000010a73a242 in void 
>> std::__1::__invoke_void_return_wrapper<void>::__call<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0&, 
>> facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0&, facebook::react::JSExecutor*&&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:348
>>
>> #60 0x000000010a73a1f2 in 
>> std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0, 
>> std::__1::allocator<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0>, void 
>> (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) 
>> at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1546
>>
>> #61 0x000000010a738cb3 in 
>> std::__1::__function::__func<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0, 
>> std::__1::allocator<facebook::react::NativeToJsBridge::loadApplication(std::__1::unique_ptr<facebook::react::RAMBundleRegistry,
>>  
>> std::__1::default_delete<facebook::react::RAMBundleRegistry> >, 
>> std::__1::unique_ptr<facebook::react::JSBigString const, 
>> std::__1::default_delete<facebook::react::JSBigString const> >, 
>> std::__1::basic_string<char, std::__1::char_traits<char>, 
>> std::__1::allocator<char> >)::$_0>, void 
>> (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) 
>> at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1720
>>
>> #62 0x000000010a74601d in std::__1::__function::__value_func<void 
>> (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) 
>> const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1873
>>
>> #63 0x000000010a745fa0 in std::__1::function<void 
>> (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) 
>> const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2548
>>
>> #64 0x000000010a745f68 in 
>> facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7::operator()() const at 
>> /Users/wangzitong/Documents/imeituan/Pods/React-cxxreact/src/NativeToJsBridge.cpp:269
>>
>> #65 0x000000010a745edd in 
>> decltype(std::__1::forward<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7&>(fp)()) 
>> std::__1::__invoke<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:3545
>>
>> #66 0x000000010a745e8d in void 
>> std::__1::__invoke_void_return_wrapper<void>::__call<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:348
>>
>> #67 0x000000010a745e5d in 
>> std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7, 
>> std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7>, void ()>::operator()() at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1546
>>
>> #68 0x000000010a7449be in 
>> std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7, 
>> std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void
>>  
>> (facebook::react::JSExecutor*)>)::$_7>, void ()>::operator()() at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1720
>>
>> #69 0x000000010a5c6755 in std::__1::__function::__value_func<void 
>> ()>::operator()() const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1873
>>
>> #70 0x000000010a5c5e15 in std::__1::function<void ()>::operator()() 
>> const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2548
>>
>> #71 0x000000010a5c5b88 in 
>> facebook::react::tryAndReturnError(std::__1::function<void ()> const&) at 
>> /Users/wangzitong/Documents/imeituan/Pods/React/React/CxxModule/RCTCxxUtils.mm:72
>>
>> #72 0x000000010a61ccd1 in 
>> facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> 
>> const&) at 
>> /Users/wangzitong/Documents/imeituan/Pods/React/React/CxxBridge/RCTMessageThread.mm:59
>>
>> #73 0x000000010a621d43 in 
>> facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void 
>> ()>&&)::$_1::operator()() const at 
>> /Users/wangzitong/Documents/imeituan/Pods/React/React/CxxBridge/RCTMessageThread.mm:72
>>
>> #74 0x000000010a621ccd in 
>> decltype(std::__1::forward<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1&>(fp)()) 
>> std::__1::__invoke<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:3545
>>
>> #75 0x000000010a621c7d in void 
>> std::__1::__invoke_void_return_wrapper<void>::__call<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1&) at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base:348
>>
>> #76 0x000000010a621c4d in 
>> std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1, 
>> std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1>, void ()>::operator()() at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1546
>>
>> #77 0x000000010a6207ae in 
>> std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1, 
>> std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void
>>  
>> ()>&&)::$_1>, void ()>::operator()() at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1720
>>
>> #78 0x000000010a5c6755 in std::__1::__function::__value_func<void 
>> ()>::operator()() const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:1873
>>
>> #79 0x000000010a5c5e15 in std::__1::function<void ()>::operator()() 
>> const at 
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2548
>>
>> #80 0x000000010a61c92c in invocation function for block in 
>> facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) at 
>> /Users/wangzitong/Documents/imeituan/Pods/React/React/CxxBridge/RCTMessageThread.mm:39
>>
>> #81 0x00007fff203a85db in __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ ()
>>
>> #82 0x00007fff203a79ef in __CFRunLoopDoBlocks ()
>>
>> #83 0x00007fff203a2a6d in __CFRunLoopRun ()
>>
>> #84 0x00007fff203a1b9e in CFRunLoopRunSpecific ()
>>
>> #85 0x000000010a596071 in +[RCTCxxBridge runRunLoop] at 
>> /Users/wangzitong/Documents/imeituan/Pods/React/React/CxxBridge/RCTCxxBridge.mm:272
>>
>> #86 0x00007fff2086f521 in __NSThread__start__ ()
>>
>> #87 0x00007fff5dcdc109 in _pthread_start ()
>>
>> #88 0x00007fff5dcd7b8b in thread_start ()
>>
>>
>> And I have digged out some facts:
>>
>> 1. If codecache is created with an engine that is already attached with a 
>> snapshot, not an empty engine, no crash.
>>
>> 2. If I annotate some code below in startup.js, no crash.
>>
>> function shouldUseNative() {
>>     var test3 = {};
>>     'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
>>       test3[letter] = letter;
>>     });
>>     if (Object.keys(test3).join('') !== 'abcdefghijklmnopqrst') {
>>       return false;
>>     }
>>     return true;
>> }
>> shouldUseNative();
>>
>>
>> V8 version:*7.8.279.23*
>>
>> Can someone know what causes the crash? Thanks.
>>
>> -- 
>> -- 
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-dev/CABaRidUYgN-6ovpJgoHraMtGWx_Nf226UgaN5SZ%2B97ohQsTnUw%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/v8-dev/CABaRidUYgN-6ovpJgoHraMtGWx_Nf226UgaN5SZ%2B97ohQsTnUw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/c3f4668d-cf4c-48a7-abb0-eb4809ec1678n%40googlegroups.com.

Reply via email to