Repository navigation
Open
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: productionIssues experienced in live production appsIssues experienced in live production appsc: crashStack traces logged to the consoleStack traces logged to the consolee: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specificallyslimpellerEngine binary size reduction. go/slimpellerEngine binary size reduction. go/slimpellerteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
Steps to reproduce
We enabled Impeller on our commercial app (Flutter 3.35.3) and users on these devices are now receiving segfaults caused by Impeller:
- SM-N975U1, Android 12
- SM-A805F, Android 11
- SM-G973U, Android 12
- SM-G973U, Android 11
- SM-N975U1, Android 12
- SM-N970U, Android 12
- SM-G973U1, Android 12
- MI 9, Android 10
Possible triggered by certain Lottie animations, but cannot be certain.
Example stacktraces:
OS Version: Android 12 (SP1A.210812.016.N975U1UEU8HXE1)
Report Version: 104
Exception Type: Unknown (SIGSEGV)
Application Specific Information:
Segfault
Thread 0 Crashed:
0 split_config.arm64_v8a.apk 0x7b9e870944 [inlined] impeller::RenderPass::GetRenderTargetSize (render_pass.cc:48)
1 split_config.arm64_v8a.apk 0x7b9e870944 impeller::Entity::Render (entity.cc:152)
2 split_config.arm64_v8a.apk 0x7b9e84291c impeller::Canvas::Restore (canvas.cc:1575)
3 split_config.arm64_v8a.apk 0x7b9e5adf78 flutter::DisplayList::Dispatch (display_list.cc:205)
4 split_config.arm64_v8a.apk 0x7b9e84935c impeller::DlDispatcherBase::drawDisplayList (dl_dispatcher.cc:838)
5 split_config.arm64_v8a.apk 0x7b9e5ad6ac [inlined] flutter::DrawDisplayListOp::dispatch (dl_op_records.h:989)
6 split_config.arm64_v8a.apk 0x7b9e5ad6ac flutter::DisplayList::DispatchOneOp (display_list.cc:219)
7 split_config.arm64_v8a.apk 0x7b9e5ad408 flutter::DisplayList::Dispatch (display_list.cc:185)
8 split_config.arm64_v8a.apk 0x7b9e84c268 impeller::RenderToTarget (dl_dispatcher.cc:1320)
9 split_config.arm64_v8a.apk 0x7b9e934f34 [inlined] flutter::GPUSurfaceVulkanImpeller::AcquireFrame::lambda::operator() (gpu_surface_vulkan_impeller.cc:118)
10 split_config.arm64_v8a.apk 0x7b9e934f34 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
11 split_config.arm64_v8a.apk 0x7b9e934f34 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:243)
12 split_config.arm64_v8a.apk 0x7b9e934f34 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
13 split_config.arm64_v8a.apk 0x7b9e934f34 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
14 split_config.arm64_v8a.apk 0x7b9e934f34 std::_fl::__function::__func<T>::operator() (function.h:319)
15 split_config.arm64_v8a.apk 0x7b9e7dddc0 [inlined] std::_fl::__function::__value_func<T>::operator()[abi:nn210000] (function.h:436)
16 split_config.arm64_v8a.apk 0x7b9e7dddc0 [inlined] std::_fl::function<T>::operator() (function.h:995)
17 split_config.arm64_v8a.apk 0x7b9e7dddc0 [inlined] flutter::SurfaceFrame::PerformEncode (surface_frame.cc:96)
18 split_config.arm64_v8a.apk 0x7b9e7dddc0 [inlined] flutter::SurfaceFrame::Encode (surface_frame.cc:59)
19 split_config.arm64_v8a.apk 0x7b9e7dddc0 flutter::SurfaceFrame::Submit (surface_frame.cc:66)
20 split_config.arm64_v8a.apk 0x7b9e8b7dc4 [inlined] flutter::Rasterizer::DrawToSurfaceUnsafe (rasterizer.cc:798)
21 split_config.arm64_v8a.apk 0x7b9e8b7dc4 flutter::Rasterizer::DrawToSurfacesUnsafe (rasterizer.cc:661)
22 split_config.arm64_v8a.apk 0x7b9e8b775c flutter::Rasterizer::DrawToSurfaces (rasterizer.cc:590)
23 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] flutter::Rasterizer::DoDraw (rasterizer.cc:494)
24 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] flutter::Rasterizer::Draw::lambda::operator() (rasterizer.cc:260)
25 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
26 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
27 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
28 split_config.arm64_v8a.apk 0x7b9e8b8ad8 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
29 split_config.arm64_v8a.apk 0x7b9e8b8ad8 std::_fl::__function::__func<T>::operator() (function.h:319)
30 split_config.arm64_v8a.apk 0x7b9e8b85f8 [inlined] std::_fl::__function::__value_func<T>::operator()[abi:nn210000] (function.h:436)
31 split_config.arm64_v8a.apk 0x7b9e8b85f8 [inlined] std::_fl::function<T>::operator() (function.h:995)
32 split_config.arm64_v8a.apk 0x7b9e8b85f8 [inlined] flutter::Pipeline<T>::Consume (pipeline.h:203)
33 split_config.arm64_v8a.apk 0x7b9e8b85f8 flutter::Rasterizer::Draw (rasterizer.cc:264)
34 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] flutter::Shell::OnAnimatorDraw::lambda::operator() (shell.cc:1349)
35 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] fml::internal::CopyableLambda<T>::operator()<T> (make_copyable.h:24)
36 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
37 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
38 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
39 split_config.arm64_v8a.apk 0x7b9e8c5480 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
40 split_config.arm64_v8a.apk 0x7b9e8c5480 std::_fl::__function::__func<T>::operator() (function.h:319)
41 split_config.arm64_v8a.apk 0x7b9e55df54 [inlined] std::_fl::function<T>::operator() (function.h:995)
42 split_config.arm64_v8a.apk 0x7b9e55df54 [inlined] fml::MessageLoopImpl::FlushTasks (message_loop_impl.cc:126)
43 split_config.arm64_v8a.apk 0x7b9e55df54 fml::MessageLoopImpl::RunExpiredTasksNow (message_loop_impl.cc:139)
44 split_config.arm64_v8a.apk 0x7b9e561c10 [inlined] fml::MessageLoopAndroid::OnEventFired (message_loop_android.cc:91)
45 split_config.arm64_v8a.apk 0x7b9e561c10 [inlined] fml::MessageLoopAndroid::MessageLoopAndroid::lambda::operator() (message_loop_android.cc:41)
46 split_config.arm64_v8a.apk 0x7b9e561c10 fml::MessageLoopAndroid::MessageLoopAndroid::lambda::__invoke (message_loop_android.cc:39)
47 libutils.so 0x7f4d8f5184 android::Looper::pollInner
48 libutils.so 0x7f4d8f4d84 android::Looper::pollOnce
49 libandroid.so 0x7c39c18510 ALooper_pollOnce
50 split_config.arm64_v8a.apk 0x7b9e561d20 fml::MessageLoopAndroid::Run (message_loop_android.cc:67)
51 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] fml::MessageLoopImpl::DoRun (message_loop_impl.cc:94)
52 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] fml::MessageLoop::Run (message_loop.cc:49)
53 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] fml::Thread::Thread::lambda::operator() (thread.cc:154)
54 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
55 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
56 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
57 split_config.arm64_v8a.apk 0x7b9e55ff44 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
58 split_config.arm64_v8a.apk 0x7b9e55ff44 std::_fl::__function::__func<T>::operator() (function.h:319)
59 split_config.arm64_v8a.apk 0x7b9e55fd80 [inlined] std::_fl::function<T>::operator() (function.h:995)
60 split_config.arm64_v8a.apk 0x7b9e55fd80 [inlined] fml::ThreadHandle::ThreadHandle::lambda::operator() (thread.cc:76)
61 split_config.arm64_v8a.apk 0x7b9e55fd80 fml::ThreadHandle::ThreadHandle::lambda::__invoke (thread.cc:73)
62 libc.so 0x7f4184de44 __pthread_start
63 libc.so 0x7f417ea454 __start_threadOS Version: Android 12 (SP1A.210812.016.N975U1UEU8HXE1)
Report Version: 104
Exception Type: Unknown (SIGSEGV)
Application Specific Information:
Segfault
Thread 0 Crashed:
0 split_config.arm64_v8a.apk 0x7769e04dac OUTLINED_FUNCTION_228
1 split_config.arm64_v8a.apk 0x7769b94a50 [inlined] std::_fl::shared_ptr<T>::operator->[abi:nn210000] (shared_ptr.h:635)
2 split_config.arm64_v8a.apk 0x7769b94a50 impeller::Canvas::AddRenderEntityToCurrentPass (canvas.cc:1800)
3 split_config.arm64_v8a.apk 0x7769b94360 impeller::Canvas::AddRenderEntityWithFiltersToCurrentPass (canvas.cc:1711)
4 split_config.arm64_v8a.apk 0x7769b96cb8 impeller::Canvas::DrawRect
5 split_config.arm64_v8a.apk 0x77698fef78 flutter::DisplayList::Dispatch (display_list.cc:205)
6 split_config.arm64_v8a.apk 0x7769b9a35c impeller::DlDispatcherBase::drawDisplayList (dl_dispatcher.cc:838)
7 split_config.arm64_v8a.apk 0x77698fe6ac [inlined] flutter::DrawDisplayListOp::dispatch (dl_op_records.h:989)
8 split_config.arm64_v8a.apk 0x77698fe6ac flutter::DisplayList::DispatchOneOp (display_list.cc:219)
9 split_config.arm64_v8a.apk 0x77698fe408 flutter::DisplayList::Dispatch (display_list.cc:185)
10 split_config.arm64_v8a.apk 0x7769b9d268 impeller::RenderToTarget (dl_dispatcher.cc:1320)
11 split_config.arm64_v8a.apk 0x7769c85f34 [inlined] flutter::GPUSurfaceVulkanImpeller::AcquireFrame::lambda::operator() (gpu_surface_vulkan_impeller.cc:118)
12 split_config.arm64_v8a.apk 0x7769c85f34 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
13 split_config.arm64_v8a.apk 0x7769c85f34 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:243)
14 split_config.arm64_v8a.apk 0x7769c85f34 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
15 split_config.arm64_v8a.apk 0x7769c85f34 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
16 split_config.arm64_v8a.apk 0x7769c85f34 std::_fl::__function::__func<T>::operator() (function.h:319)
17 split_config.arm64_v8a.apk 0x7769b2edc0 [inlined] std::_fl::__function::__value_func<T>::operator()[abi:nn210000] (function.h:436)
18 split_config.arm64_v8a.apk 0x7769b2edc0 [inlined] std::_fl::function<T>::operator() (function.h:995)
19 split_config.arm64_v8a.apk 0x7769b2edc0 [inlined] flutter::SurfaceFrame::PerformEncode (surface_frame.cc:96)
20 split_config.arm64_v8a.apk 0x7769b2edc0 [inlined] flutter::SurfaceFrame::Encode (surface_frame.cc:59)
21 split_config.arm64_v8a.apk 0x7769b2edc0 flutter::SurfaceFrame::Submit (surface_frame.cc:66)
22 split_config.arm64_v8a.apk 0x7769c08dc4 [inlined] flutter::Rasterizer::DrawToSurfaceUnsafe (rasterizer.cc:798)
23 split_config.arm64_v8a.apk 0x7769c08dc4 flutter::Rasterizer::DrawToSurfacesUnsafe (rasterizer.cc:661)
24 split_config.arm64_v8a.apk 0x7769c0875c flutter::Rasterizer::DrawToSurfaces (rasterizer.cc:590)
25 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] flutter::Rasterizer::DoDraw (rasterizer.cc:494)
26 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] flutter::Rasterizer::Draw::lambda::operator() (rasterizer.cc:260)
27 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
28 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
29 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
30 split_config.arm64_v8a.apk 0x7769c09ad8 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
31 split_config.arm64_v8a.apk 0x7769c09ad8 std::_fl::__function::__func<T>::operator() (function.h:319)
32 split_config.arm64_v8a.apk 0x7769c095f8 [inlined] std::_fl::__function::__value_func<T>::operator()[abi:nn210000] (function.h:436)
33 split_config.arm64_v8a.apk 0x7769c095f8 [inlined] std::_fl::function<T>::operator() (function.h:995)
34 split_config.arm64_v8a.apk 0x7769c095f8 [inlined] flutter::Pipeline<T>::Consume (pipeline.h:203)
35 split_config.arm64_v8a.apk 0x7769c095f8 flutter::Rasterizer::Draw (rasterizer.cc:264)
36 split_config.arm64_v8a.apk 0x7769c16480 [inlined] flutter::Shell::OnAnimatorDraw::lambda::operator() (shell.cc:1349)
37 split_config.arm64_v8a.apk 0x7769c16480 [inlined] fml::internal::CopyableLambda<T>::operator()<T> (make_copyable.h:24)
38 split_config.arm64_v8a.apk 0x7769c16480 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
39 split_config.arm64_v8a.apk 0x7769c16480 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
40 split_config.arm64_v8a.apk 0x7769c16480 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
41 split_config.arm64_v8a.apk 0x7769c16480 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
42 split_config.arm64_v8a.apk 0x7769c16480 std::_fl::__function::__func<T>::operator() (function.h:319)
43 split_config.arm64_v8a.apk 0x77698aef54 [inlined] std::_fl::function<T>::operator() (function.h:995)
44 split_config.arm64_v8a.apk 0x77698aef54 [inlined] fml::MessageLoopImpl::FlushTasks (message_loop_impl.cc:126)
45 split_config.arm64_v8a.apk 0x77698aef54 fml::MessageLoopImpl::RunExpiredTasksNow (message_loop_impl.cc:139)
46 split_config.arm64_v8a.apk 0x77698b2c10 [inlined] fml::MessageLoopAndroid::OnEventFired (message_loop_android.cc:91)
47 split_config.arm64_v8a.apk 0x77698b2c10 [inlined] fml::MessageLoopAndroid::MessageLoopAndroid::lambda::operator() (message_loop_android.cc:41)
48 split_config.arm64_v8a.apk 0x77698b2c10 fml::MessageLoopAndroid::MessageLoopAndroid::lambda::__invoke (message_loop_android.cc:39)
49 libutils.so 0x7b2b123184 android::Looper::pollInner
50 libutils.so 0x7b2b122d84 android::Looper::pollOnce
51 libandroid.so 0x77fd1e7510 ALooper_pollOnce
52 split_config.arm64_v8a.apk 0x77698b2d20 fml::MessageLoopAndroid::Run (message_loop_android.cc:67)
53 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] fml::MessageLoopImpl::DoRun (message_loop_impl.cc:94)
54 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] fml::MessageLoop::Run (message_loop.cc:49)
55 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] fml::Thread::Thread::lambda::operator() (thread.cc:154)
56 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] std::_fl::__invoke[abi:nn210000]<T> (invoke.h:179)
57 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call[abi:nn210000]<T> (invoke.h:251)
58 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] std::_fl::__invoke_r[abi:nn210000]<T> (invoke.h:273)
59 split_config.arm64_v8a.apk 0x77698b0f44 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:nn210000] (function.h:167)
60 split_config.arm64_v8a.apk 0x77698b0f44 std::_fl::__function::__func<T>::operator() (function.h:319)
61 split_config.arm64_v8a.apk 0x77698b0d80 [inlined] std::_fl::function<T>::operator() (function.h:995)
62 split_config.arm64_v8a.apk 0x77698b0d80 [inlined] fml::ThreadHandle::ThreadHandle::lambda::operator() (thread.cc:76)
63 split_config.arm64_v8a.apk 0x77698b0d80 fml::ThreadHandle::ThreadHandle::lambda::__invoke (thread.cc:73)
64 libc.so 0x7b11fbbe44 __pthread_start
65 libc.so 0x7b11f58454 __start_threadOS Version: Android 11 (RP1A.200720.012.G973USQS6GUJ1)
Report Version: 104
Exception Type: Unknown (SIGSEGV)
Application Specific Information:
Segfault
Thread 0 Crashed:
0 split_config.arm64_v8a.apk 0x6dff947e6c [inlined] impeller::RenderPass::GetRenderTargetSize (render_pass.cc:48)
1 split_config.arm64_v8a.apk 0x6dff947e6c impeller::Entity::Render (entity.cc:153)
2 split_config.arm64_v8a.apk 0x6dff91f53c impeller::Canvas::Restore (canvas.cc:1310)
3 split_config.arm64_v8a.apk 0x6dff695a4c flutter::DisplayList::Dispatch (display_list.cc:204)
4 split_config.arm64_v8a.apk 0x6dff925ad0 [inlined] flutter::DisplayList::Dispatch (display_list.h:275)
5 split_config.arm64_v8a.apk 0x6dff925ad0 impeller::DlDispatcherBase::drawDisplayList (dl_dispatcher.cc:851)
6 split_config.arm64_v8a.apk 0x6dff6952d4 [inlined] flutter::DrawDisplayListOp::dispatch (dl_op_records.h:986)
7 split_config.arm64_v8a.apk 0x6dff6952d4 flutter::DisplayList::DispatchOneOp (display_list.cc:218)
8 split_config.arm64_v8a.apk 0x6dff694ef0 flutter::DisplayList::Dispatch (display_list.cc:184)
9 split_config.arm64_v8a.apk 0x6dff6956b4 flutter::DisplayList::Dispatch
10 split_config.arm64_v8a.apk 0x6dff9282b8 [inlined] flutter::DisplayList::Dispatch (display_list.h:278)
11 split_config.arm64_v8a.apk 0x6dff9282b8 impeller::RenderToTarget (dl_dispatcher.cc:1335)
12 split_config.arm64_v8a.apk 0x6dffa09cbc [inlined] flutter::GPUSurfaceVulkanImpeller::AcquireFrame::lambda::operator()
13 split_config.arm64_v8a.apk 0x6dffa09cbc [inlined] std::_fl::__invoke[abi:v15000]<T> (invoke.h:403)
14 split_config.arm64_v8a.apk 0x6dffa09cbc [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:479)
15 split_config.arm64_v8a.apk 0x6dffa09cbc [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:v15000] (function.h:185)
16 split_config.arm64_v8a.apk 0x6dffa09cbc std::_fl::__function::__func<T>::operator() (function.h:359)
17 split_config.arm64_v8a.apk 0x6dff8c0c8c [inlined] std::_fl::__function::__value_func<T>::operator()[abi:v15000] (function.h:512)
18 split_config.arm64_v8a.apk 0x6dff8c0c8c [inlined] std::_fl::function<T>::operator() (function.h:1187)
19 split_config.arm64_v8a.apk 0x6dff8c0c8c [inlined] flutter::SurfaceFrame::PerformEncode (surface_frame.cc:95)
20 split_config.arm64_v8a.apk 0x6dff8c0c8c [inlined] flutter::SurfaceFrame::Encode (surface_frame.cc:58)
21 split_config.arm64_v8a.apk 0x6dff8c0c8c flutter::SurfaceFrame::Submit (surface_frame.cc:65)
22 split_config.arm64_v8a.apk 0x6dff98c3f8 [inlined] flutter::Rasterizer::DrawToSurfaceUnsafe (rasterizer.cc:795)
23 split_config.arm64_v8a.apk 0x6dff98c3f8 flutter::Rasterizer::DrawToSurfacesUnsafe (rasterizer.cc:658)
24 split_config.arm64_v8a.apk 0x6dff98bd8c flutter::Rasterizer::DrawToSurfaces (rasterizer.cc:587)
25 split_config.arm64_v8a.apk 0x6dff98d154 [inlined] flutter::Rasterizer::DoDraw (rasterizer.cc:491)
26 split_config.arm64_v8a.apk 0x6dff98d154 [inlined] flutter::Rasterizer::Draw::lambda::operator() (rasterizer.cc:259)
27 split_config.arm64_v8a.apk 0x6dff98d154 [inlined] std::_fl::__invoke[abi:v15000]<T> (invoke.h:403)
28 split_config.arm64_v8a.apk 0x6dff98d154 [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:488)
29 split_config.arm64_v8a.apk 0x6dff98d154 [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:v15000] (function.h:185)
30 split_config.arm64_v8a.apk 0x6dff98d154 std::_fl::__function::__func<T>::operator() (function.h:359)
31 split_config.arm64_v8a.apk 0x6dff98cc58 [inlined] std::_fl::__function::__value_func<T>::operator()[abi:v15000] (function.h:512)
32 split_config.arm64_v8a.apk 0x6dff98cc58 [inlined] std::_fl::function<T>::operator() (function.h:1187)
33 split_config.arm64_v8a.apk 0x6dff98cc58 [inlined] flutter::Pipeline<T>::Consume (pipeline.h:203)
34 split_config.arm64_v8a.apk 0x6dff98cc58 flutter::Rasterizer::Draw (rasterizer.cc:263)
35 split_config.arm64_v8a.apk 0x6dff9994fc [inlined] flutter::Shell::OnAnimatorDraw::lambda::operator() (shell.cc:1284)
36 split_config.arm64_v8a.apk 0x6dff9994fc [inlined] fml::internal::CopyableLambda<T>::operator()<T> (make_copyable.h:24)
37 split_config.arm64_v8a.apk 0x6dff9994fc [inlined] std::_fl::__invoke[abi:v15000]<T> (invoke.h:403)
38 split_config.arm64_v8a.apk 0x6dff9994fc [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:488)
39 split_config.arm64_v8a.apk 0x6dff9994fc [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:v15000] (function.h:185)
40 split_config.arm64_v8a.apk 0x6dff9994fc std::_fl::__function::__func<T>::operator() (function.h:359)
41 split_config.arm64_v8a.apk 0x6dff6457d8 [inlined] std::_fl::function<T>::operator() (function.h:1187)
42 split_config.arm64_v8a.apk 0x6dff6457d8 [inlined] fml::MessageLoopImpl::FlushTasks (message_loop_impl.cc:126)
43 split_config.arm64_v8a.apk 0x6dff6457d8 fml::MessageLoopImpl::RunExpiredTasksNow (message_loop_impl.cc:139)
44 split_config.arm64_v8a.apk 0x6dff6493f8 [inlined] fml::MessageLoopAndroid::OnEventFired (message_loop_android.cc:91)
45 split_config.arm64_v8a.apk 0x6dff6493f8 [inlined] fml::MessageLoopAndroid::MessageLoopAndroid::lambda::operator() (message_loop_android.cc:41)
46 split_config.arm64_v8a.apk 0x6dff6493f8 fml::MessageLoopAndroid::MessageLoopAndroid::lambda::__invoke (message_loop_android.cc:39)
47 libutils.so 0x7182d5c4c0 android::Looper::pollInner
48 libutils.so 0x7182d5c0d8 android::Looper::pollOnce
49 libandroid.so 0x6e860e8c80 ALooper_pollOnce
50 split_config.arm64_v8a.apk 0x6dff649504 fml::MessageLoopAndroid::Run (message_loop_android.cc:67)
51 split_config.arm64_v8a.apk 0x6dff64762c [inlined] fml::MessageLoopImpl::DoRun (message_loop_impl.cc:94)
52 split_config.arm64_v8a.apk 0x6dff64762c [inlined] fml::MessageLoop::Run (message_loop.cc:49)
53 split_config.arm64_v8a.apk 0x6dff64762c [inlined] fml::Thread::Thread::lambda::operator() (thread.cc:154)
54 split_config.arm64_v8a.apk 0x6dff64762c [inlined] std::_fl::__invoke[abi:v15000]<T> (invoke.h:403)
55 split_config.arm64_v8a.apk 0x6dff64762c [inlined] std::_fl::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:488)
56 split_config.arm64_v8a.apk 0x6dff64762c [inlined] std::_fl::__function::__alloc_func<T>::operator()[abi:v15000] (function.h:185)
57 split_config.arm64_v8a.apk 0x6dff64762c std::_fl::__function::__func<T>::operator() (function.h:359)
58 split_config.arm64_v8a.apk 0x6dff647460 [inlined] std::_fl::function<T>::operator() (function.h:1187)
59 split_config.arm64_v8a.apk 0x6dff647460 [inlined] fml::ThreadHandle::ThreadHandle::lambda::operator() (thread.cc:76)
60 split_config.arm64_v8a.apk 0x6dff647460 fml::ThreadHandle::ThreadHandle::lambda::__invoke (thread.cc:73)
61 libc.so 0x7184d4b234 __pthread_start
62 libc.so 0x7184ce5e64 __start_threadReacted by elkhalifte, Sabin Neupane and Timo Bähr
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: productionIssues experienced in live production appsIssues experienced in live production appsc: crashStack traces logged to the consoleStack traces logged to the consolee: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-androidAndroid applications specificallyAndroid applications specificallyslimpellerEngine binary size reduction. go/slimpellerEngine binary size reduction. go/slimpellerteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Type
Projects
- StatusShow more project fieldsNeeds Triage
Activity
darshankawar commentedon Sep 18, 2025
@stx Could be related to #171719 which has been fixed recently but isn't in latest stable yet but is available in latest master and beta. Can you check if you have similar code implementation in your app that might be causing the crash?
stx commentedon Sep 19, 2025
@darshankawar Thanks for sharing that issue. We don’t have that code implementation, but we do use Lottie, which performs extensive custom painting. I assume it does similar things to that code implementation, so it could be related. However, we don’t have the exact devices required to verify the fix.
I’m surprised that the fix you linked for a fatal crash regression doesn’t qualify for inclusion in the stable branch. Unfortunately, we lack the courage to update our commercial app to Flutter master, so we will continue to leave Impeller disabled indefinitely until stable catches up with the fixes.
Thank you for your help!
darshankawar commentedon Sep 19, 2025
Thanks for update @stx. The issue I linked may or may not be the same but I referred it to see if it relates to your case or not.
Can you provide us GPU / processor details of these devices ?
stx commentedon Sep 19, 2025
I'm not familiar, sorry. Just have these Sentry reports.
darshankawar commentedon Sep 19, 2025
I'll keep the issue open and label based on stacktrace, for team's attention.
9 remaining items
chinmaygarde commentedon Oct 6, 2025
@akshatAndMohit Thanks for the repro case. We are going to take a look into it. It looks like a problematic lottie file.
@stx seemed to report that the crash was "Possible triggered by certain Lottie animations, but cannot be certain." so we are currently assuming the two reporters are reporting the same issue.
@akshatAndMohit Can you also verify if the backtrace matches the original reporters issue? Thanks anyway for the helpful repro. case.
akshatAndMohit commentedon Oct 6, 2025
@chinmaygarde actually this Lottie working fine with Skia and with android Native but only causing problem with Impeller in Flutter
Youssef-Sholkamy commentedon Nov 27, 2025
Currently facing same issue on Samsung Galaxy S10 lite (SM-G770F) Android 13. After disabling Impeller and running the app on Skia, the issue went away. Some logs that might help with the debugging.
W/Adreno-GSL(24302): <gsl_ldd_control:553>: ioctl fd 93 code 0xc0300945 (IOCTL_KGSL_GPUOBJ_ALLOC) failed: errno 12 Out of memory
E/Adreno-GSL(24302): <gsl_memory_alloc_pure:2604>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
E/flutter (24302): [ERROR:flutter/impeller/renderer/backend/vulkan/allocator_vk.cc(361)] Break on 'ImpellerValidationBreak' to inspect point of failure: Unable to allocate Vulkan Image: ErrorOutOfDeviceMemory Type: Texture2DMultisample Mode: DeviceTransient Usage: { RenderTarget } [VK]Flags: {} [VK]Format: R8G8B8A8Unorm [VK]Usage: { ColorAttachment | InputAttachment } [VK]Mem. Flags: { DeviceLocal }
E/flutter (24302): [ERROR:flutter/impeller/renderer/render_target.cc(411)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not create multisample color texture.
E/flutter (24302): [ERROR:flutter/impeller/renderer/render_target.cc(26)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
E/flutter (24302): [ERROR:flutter/impeller/renderer/render_target.cc(26)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
F/libc (24302): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 24336 (1.raster), pid 24302 (le.ordering_app)
Build fingerprint: 'samsung/r5qnaxx/r5q:13/TP1A.220624.014/G770FXXS9HXA2:user/release-keys'
Revision: '9'
ABI: 'arm64'
Processor: '5'
Timestamp: 2025-11-27 17:26:35.801907312+0200
Process uptime: 202s
Cmdline: com.example.ordering_app
pid: 24302, tid: 24336, name: 1.raster >>> com.example.ordering_app <<<
uid: 10257
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
Cause: null pointer dereference
x0 0000000000000000 x1 0000000000000000 x2 0000000000000001 x3 0000000000000006
x4 0000000000000021 x5 0000000000000000 x6 00000076090c2000 x7 0000000004854616
x8 ed5dfe4d1cdc4331 x9 ed5dfe4d1cdc4331 x10 00000075351a1dc0 x11 00000075351a0860
x12 00000075351a0830 x13 000000000623b2f0 x14 000000000623b290 x15 00008c300fbf1a51
x16 00000074d137c3e0 x17 00000075deec2f48 x18 00000074ce53e000 x19 00000074cf060808
x20 00000074cf060b88 x21 0000000000000000 x22 00000074cf0605e0 x23 00000074cf0607e8
x24 0000000000000000 x25 00000074cf062000 x26 0000000000000000 x27 0000000000000000
x28 b40000753d54ae98 x29 00000074cf062000
lr 00000074d0e2679c sp 00000074cf060490 pc 00000074d0a638bc pst 0000000060000000
backtrace:
#00 pc 00000000019fd8bc /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#1 pc 0000000001dc0798 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#2 pc 0000000001dc0060 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#3 pc 0000000001dc1d64 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#4 pc 0000000001a60f28 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#5 pc 0000000001dc8804 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#6 pc 0000000001a61af4 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#7 pc 0000000001a60f28 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#8 pc 0000000001dc9b9c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#9 pc 0000000001ee4c10 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#10 pc 0000000001d2a07c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#11 pc 0000000001d29f5c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#12 pc 0000000001d29fe4 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#13 pc 0000000001e6c708 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#14 pc 0000000001e6c1c8 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#15 pc 0000000001e6b02c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#16 pc 0000000001e6ba2c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#17 pc 0000000001e6d838 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#18 pc 0000000001e6b49c /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#19 pc 0000000001e6b238 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#20 pc 0000000001e7a670 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#21 pc 00000000019fad48 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#22 pc 0000000001a00e74 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#23 pc 0000000000018028 /system/lib64/libutils.so (android::Looper::pollInner(int)+1064) (BuildId: 97f353c1a350efeb766e1e852854da85)
#24 pc 0000000000017b9c /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+116) (BuildId: 97f353c1a350efeb766e1e852854da85)
#25 pc 0000000000018598 /system/lib64/libandroid.so (ALooper_pollOnce+104) (BuildId: a5f6911a1c3c5eaaabc875c3a07fb701)
#26 pc 0000000001a00e00 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#27 pc 00000000019faca0 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#28 pc 00000000019feca4 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#29 pc 00000000019feb14 /data/app/~~oJvKjEBDGt87brtVa6AQ7A==/com.example.ordering_app-UhmnNjGra0ZdDZIuSaFPCg==/base.apk!libflutter.so (BuildId: b4d13a2f26651d3f0d0d347fc033c5514a003aaf)
#30 pc 00000000000f5298 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: 55a7515345951d438fd16e74b171760b)
#31 pc 000000000008ebdc /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 55a7515345951d438fd16e74b171760b)
dhc-liuhongtao commentedon Apr 8, 2026
In version 3.35.6, my app also experienced a large number of crashes. The key information from Google Firebase Crashlytics is as follows:
1.According to the event reporting information, the crash occurs either during app startup or during usage.
2.RAM available capacity is very low
3.Most of them are Qualcomm GPUs:
F-52B: Adreno 619 GPU
OPPO OPG02_jp_kdi: Adreno 619 GPU
OPPO CPH2309: Adreno 619 GPU
OPPO A55s 5G: Adreno 619 GPU
null pointer dereference: SIGSEGV 0x0000000000000028
#00 pc 0x981570 libflutter.so (BuildId: 131eeda3d8b650ac635d8e496936981e3f591338)
#1 pc 0x982ed0 libflutter.so (BuildId: 131eeda3d8b650ac635d8e496936981e3f591338)
#2 pc 0x7ffdc4 libflutter.so (BuildId: 131eeda3d8b650ac635d8e496936981e3f591338)
Thread:
#00 pc 0x98760 libc.so (BuildId: 61a049a7ad18156ebc52d8d483539df9)
#1 pc 0x5ffd1c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#2 pc 0x5ff4e4 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#3 pc 0x717b5784
#4 pc 0x7179c1a4
#5 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#6 pc 0x7179c770
#7 pc 0x7179d568
#8 pc 0x70493c2462
#9 pc 0x669300 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#10 pc 0x66a79c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#11 pc 0x70493c2462
#12 pc 0x70493d91c2
#13 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#14 pc 0x668384 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#15 pc 0x70493d91c2
#16 pc 0x70493dfd3c
#17 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#18 pc 0x6692a4 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#19 pc 0x70493dfd3c
#20 pc 0x70493dfcb8
#21 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#22 pc 0x6692a4 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#23 pc 0x662cc0 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#24 pc 0x70493dfcb8
#25 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#26 pc 0x6692a4 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#27 pc 0x66e1f0 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#28 pc 0x65f47c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#29 pc 0x6692a4 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#30 pc 0xc0d3bc libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#31 pc 0x2aaf94 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#32 pc 0x2a8f14 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#33 pc 0x2ca26c libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
#34 pc 0x614938 libart.so (BuildId: a1fcb66a9fb3fa9071e8a42dcf9cd5ea)
bibekpandainnopay commentedon Jul 7, 2026
Adding another data point for this issue class — same Adreno + Impeller/Vulkan
HardwareBufferallocation failure, but on a newer device (Adreno 720, Android 16) with a milder symptom: instead of a hard segfault, the engine recovers via a surface re-initialization, which shows up as a visible reload/flash on app launch before the app continues normally. Screen recording of the reload is attached below.Device
OpenGL ES 3.2 [email protected] (GIT@f8fe1c3431, I2d857631a6, 1764949614)(Date: 12/05/25)9161402dc0e134b3fb5adee5046b6e84b1a5e1c1Symptom
On launch, the app briefly flashes/reloads (the Flutter surface is re-created), then continues normally. It does not crash — the engine appears to fall back after the failed allocation. On older Motorola devices the same app launches with no reload.
Disabling Impeller completely resolves it. With this in
AndroidManifest.xml:the launch reload is gone and the app renders normally (OpenGL/Skia backend). Re-enabling Impeller (the default) brings the reload back. This points at the Vulkan/Impeller allocation path rather than anything app-side.
Screen recording
impeller_vulkan_issue.mp4
Logs
The failure is
gralloc4/ Adreno rejectingisSupportedfor format 59 (0x3b=RGBA_FP16/R16G16B16A16_FLOAT),usage 0x300:The
4 x 4allocation suggests this happens during an engine warm-up / probe, not a large surface.Notes
HardwareBufferformat Impeller requests), just on a newer Adreno where the engine survives the failure with a re-init rather than segfaulting. Sharing it as a "recovers instead of crashes" point on the failure gradient.format 59/isSupported(1, 1, 59, ...)signature (though webview-scoped): [webview_flutter] Flutter Web renders blank screen on specific Samsung devices (gralloc4 buffer allocation failures) #185026.ImpellerBackend=openglesis debug/profile-only and does not help release builds;EnableImpeller=falseis the only release-mode workaround.giovanninibarbosa commentedon Aug 26, 2026
Another data point, with an axis that I don't think is represented in this thread yet: Android 16 on MediaTek/Mali, not Adreno.
Production app, Flutter 3.44.4, Impeller + Vulkan. 353 events / 117 users in the last 30 days on the top crash group alone.
Why the Android 16 correlation looks like a gate, not exposure
os99.2% of the crashes are on Android 16. Normalized against our own base, Android 16 accounts for 41.5% of all Android error events in this project over the same window (6,015 of 14,511) and 41.8% of affected users. Uniform distribution would predict ~146 events; we observe 350 — about 2.4x, with near-total exclusivity.
Devices
device.familyChipsets read from the events: MediaTek MT6855 / MT6855G (Mali-G57 class). One confirmed model: moto g56 5G, Android 16, kernel 6.12.38, 8 GB RAM.
This is consistent with @chinmaygarde's earlier point that the crash is not GPU vendor specific — every other report here is Adreno/Qualcomm, and we see the same signature on Mali.
Where it happens
~76% at cold start or in the first user flow. Our onboarding flow renders a Lottie animation, which matches the Lottie trigger discussed above.
Signature
The crashed thread tail matches what's already reported:
Our crash reporter groups by top frame, so this one bug is split across 9 groups for us (~378 events / 30d). Two of the sibling groups have cleaner semantic tails and are worth noting, since both are on the depth/stencil side of the same path:
The second one is a
FML_CHECKin the engine rather than a segfault, which is consistent with the "depth attachment unexpectedly missing from the EntityPass render target" chain described in #176211.On register dumps
I saw the request for register dumps upstream. Our reports come from a crash reporter that doesn't surface them in the API we have access to; if a raw crash payload from one of these Android 16 / MT6855 events would be useful, I can try to pull one — let me know what format helps most.
Happy to provide additional breakdowns (specific OS builds, memory state at crash time, more device models) if any of it is useful.