Tencent / Hippy

Hippy is designed to easily build cross-platform dynamic apps. 👏
https://hippyjs.org
Apache License 2.0
7.97k stars 943 forks source link

3.3.* TaitankLayoutNode 偶现崩溃,无法稳定复现 #4033

Open Star-Chao opened 3 weeks ago

Star-Chao commented 3 weeks ago

Crashed: Hippy Dom 0x11d7164b0 Thread 0 APP 0x4065f38 std::1::less<std::1::basic_string<char, std::1::char_traits, std::1::allocator>>::operator()[abi:v160006](std::1::basic_string<char, std::1::char_traits, std::1::allocator> const&, std::1::basic_string<char, std::1::char_traits, std::1::allocator> const&) const + 1682 (string:1682) 1 APP 0x4065ec4 std::1::tree_const_iterator<std::1::__value_type<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::__tree_node<std::1::value_type<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, void>, long> std::1::tree<std::1::value_type<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::map_value_compare<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, std::1::__value_type<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::less<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>>, true>, std::1::allocator<std::1::value_type<std::1::basic_string<char, std::__1::char_traits, std::1::allocator>, taitank::DisplayType>>>::find<std::1::basic_string<char, std::__1::char_traits, std::1::allocator>>(std::1::basic_string<char, std::__1::char_traits, std::1::allocator> const&) const + 2569 (tree:2569) 2 APP 0x4065ec4 std::1::tree_const_iterator<std::1::value_type<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::tree_node<std::1::value_type<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, void>, long> std::1::tree<std::1::__value_type<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::map_value_compare<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, std::1::value_type<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>, std::1::less<std::1::basic_string<char, std::__1::char_traits, std::1::allocator>>, true>, std::1::allocator<std::1::value_type<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, taitank::DisplayType>>>::find<std::1::basic_string<char, std::1::char_traits, std::1::allocator>>(std::1::basic_string<char, std::1::char_traits, std::1::allocator> const&) const + 2569 (tree:2569) 3 APP 0x4060fec hippy::dom::TaitankLayoutNode::Parser(std::1::unordered_map<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>, std::1::shared_ptr, std::1::hash<std::1::basic_string<char, std::1::char_traits, std::1::allocator>>, std::1::equal_to<std::1::basic_string<char, std::1::char_traits, std::1::allocator>>, std::1::allocator<std::1::pair<std::1::basic_string<char, std::1::char_traits, std::1::allocator> const, std::1::shared_ptr>>> const&, std::1::vector<std::1::basic_string<char, std::1::char_traits, std::1::allocator>, std::1::allocator<std::__1::basic_string<char, std::1::char_traits, std::1::allocator>>> const&) + 967 (tree:967) 4 APP 0x3f32b70 hippy::dom::DomNode::ParseLayoutStyleInfo() + 439 (vector:439) 5 APP 0x402f61c hippy::dom::RootNode::UpdateAnimation(std::1::vector<std::1::shared_ptr, std::1::allocator<std::1::shared_ptr>>&&) + 305 (root_node.cc:305) 6 APP 0x3f2ae94 hippy::dom::DomManager::UpdateAnimation(std::1::weak_ptr const&, std::1::vector<std::1::shared_ptr, std::1::allocator<std::1::shared_ptr>>&&) + 156 (shared_ptr.h:156) 7 APP 0x3ef0de8 hippy::dom::AnimationManager::UpdateAnimations() + 408 (animation_manager.cc:408) 8 APP 0x3ef2a80 std::1::function::func<hippy::dom::AnimationManager::AddActiveAnimation(std::1::shared_ptr const&)::$_1::operator()(std::__1::shared_ptr const&) const::'lambda'(), std::1::allocator<hippy::dom::AnimationManager::AddActiveAnimation(std::1::shared_ptr const&)::$_1::operator()(std::1::shared_ptr const&) const::'lambda'()>, void ()>::operator()() + 156 (shared_ptr.h:156) 9 APP 0x40339d4 hippy::dom::Scene::Build() const + 101 (wrap_iter.h:101) 10 APP 0x3f98eec std::1::packaged_task<void ()>::operator()() + 2083 (future:2083) 11 APP 0x40c3518 footstone::runner::Worker::RunTask() + 114 (worker.cc:114) 12 APP 0x40c4504 std::1::function::__func<footstone::runner::Worker::Start(bool)::$_1, std::1::allocator<footstone::runner::Worker::Start(bool)::$_1>, void ()>::operator()() + 125 (worker.cc:125) 13 APP 0x400aaf8 footstone::runner::OnTimerCb(CFRunLoopTimer, footstone::runner::LooperDriver) + 37 (looper_driver.cc:37) 14 CoreFoundation 0xab554 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 28 15 CoreFoundation 0xab284 CFRunLoopDoTimer + 864 16 CoreFoundation 0xaaab8 CFRunLoopDoTimers + 248 17 CoreFoundation 0xa5a08 __CFRunLoopRun + 1844 18 CoreFoundation 0xa4fb4 CFRunLoopRunSpecific + 436 19 APP 0x400ac6c footstone::runner::LooperDriver::Start() + 73 (looper_driver.cc:73) 20 APP 0x40c45b4 void* std::1::thread_proxy[abi:v160006]<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::__1::default_delete<std::1::__thread_struct>>, footstone::runner::Worker::Start(bool)::$_2>>(void*) + 301 (thread:301) 21 libsystem_pthread.dylib 0xb2c0 + 128 22 libsystem_pthread.dylib 0xb220 _pthread_start + 44 23 libsystem_pthread.dylib 0xecdc thread_start + 4

wtj900 commented 1 week ago

目前看上报的情况的都是在后台崩溃的