Flutter在调用Present时在光栅化线程中调度了太多的fences,导致崩溃,

qc6wkl3g  于 6个月前  发布在  Flutter
关注(0)|答案(1)|浏览(47)

重现步骤

间歇性出现。

预期结果

渲染一帧画面。

实际结果

崩溃。以下是堆栈跟踪。

0x80006df14ef4	(libc.so - abort.cc:16)	__llvm_libc::__abort_impl__
0x80006df06520	(libc.so - zx_panic_libc.cc:32)	__zx_panic
0x534899ec	(<_> - handle_close_many.cc:29)	fidl::HLCPPOutgoingBody::~HLCPPOutgoingBody()
0x5388a2d8	(<_> - fidl.cc:0)	fuchsia::ui::composition::Flatland_Proxy::Present(fuchsia::ui::composition::PresentArgs)
0x534541f8	(<_> - flatland_connection.cc:73)	<name omitted>
0x53453a48	(<_> - flatland_connection.cc:143)	<name omitted>
0x53454054	(<_> - function.h:531)	fit::internal::target<auto fit::bind_member<void, flutter_runner::FlatlandConnection, fuchsia::ui::composition::OnNextFrameBeginValues>(flutter_runner::FlatlandConnection*, void (flutter_runner::FlatlandConnection::*)(fuchsia::ui::composition::OnNextFrameBeginValues))::'lambda'(fuchsia::ui::composition::OnNextFrameBeginValues), false, false, std::__2::allocator<std::byte>, void, fuchsia::ui::composition::OnNextFrameBeginValues>::invoke(void*, fuchsia::ui::composition::OnNextFrameBeginValues)
0x5388a08c	(<_> - function.h:522)	fuchsia::ui::composition::Flatland_Proxy::Dispatch_(fidl::HLCPPIncomingMessage)
0x53486328	(<_> - proxy_controller.cc:103)	<name omitted>
0x53485d00	(<_> - message_reader.cc:235)	fidl::internal::MessageReader::CallHandler(async_dispatcher*, async_wait*, int, zx_packet_signal const*)
0x534a3fb8	(<_> - loop.c:0)	async_loop_dispatch_wait
0x534a48e4	(<_> - loop.c:343)	async_loop_run
0x534ab4b8	(<_> - loop_wrapper.cc:21)	fml::MessageLoopFuchsia::Run()
0x534a7224	(<_> - message_loop_impl.cc:94)	fml::MessageLoop::Run()
0x534a9694	(<_> - thread.cc:154)	<name omitted>
0x534a93d4	(<_> - function.h:856)	fml::ThreadHandle::ThreadHandle(std::__2::function<void ()>&&)::$_0::__invoke(void*)
0x80006df1ab74	(libc.so - pthread_create.c:57)	start_pthread
0x80006df58164	(libc.so - thread.cc:100)	thread_trampoline(unsigned long, unsigned long)

代码示例

截图或视频

日志

Flutter Doctor输出

相关问题