Skip to content

[impeller] app crashes when drawing some raw vertices with custom shader or gradient shader #162969

Closed

Description

@alexgarbarev

Steps to reproduce

Use canvas.drawVertices with custom shader set as Paint()..shader = ....

  1. Use LinearGradient to experiance constant crash with Impeller (works with Skia)
  2. Use custom shader (.frag file), then some geometries works fine, but some will lead to crash.

Using demo repository, steps to reproduce are:

  • Click "Show gradient" to get crash because of LinearGradient shader usage
  • Click "Show custom shader" - notice no crash yet. Then click "Show Circles" to get the crash.

Expected results

The app should not crash, or it should show an exception with the meaningful message if that's a user issue (like incorrect/unsupported geometry)

Actual results

Flutter 3.27.4 (stable):
The app crashes when using either LinearGradient or custom shader.
The app doesn't crash and draws correctly when using ImageShader

Flutter 3.29.0-1.0.pre.312 (master)
Flutter 3.29.0-0.3.pre (beta).
The app crashes when using LinearGradient.
When using custom shader, the app doesn't crash, but also doesn't draw as expected. Instead it shows in console:

[ERROR:flutter/impeller/entity/contents/vertices_contents.cc(117)] Break on 'ImpellerValidationBreak' to inspect point of failure: Missing texture for VerticesSimpleBlendContents

The app doesn't crash and draws correctly when using ImageShader

--
All cases from above works fine using Skia.
All cases were tested on macos (m3max macbook) and android (samsung galaxy tab s9) - the behavior is the same.

Code sample

Code sample

I've created a GitHub repo to show the issue: https://github.com/alexgarbarev/flutter_shader_issues_demo

Screenshots or Video

Screenshots / Video demonstration

This is a demo of the crash:

Screen.Recording.2025-02-10.at.11.38.46.mov

This is expected behavior (recorded using Skia):

Screen.Recording.2025-02-10.at.11.40.01.mov

Logs

Logs
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               flutter_texture_issue [74521]
Path:                  /Users/USER/*/flutter_texture_issue.app/Contents/MacOS/flutter_texture_issue
Identifier:            com.example.flutterTextureIssue
Version:               1.0.0 (1)
Code Type:             ARM-64 (Native)
Parent Process:        dart [74333]
Responsible:           studio [45938]
User ID:               501

Date/Time:             2025-02-10 11:32:12.9233 +0600
OS Version:            macOS 15.3 (24D60)
Report Version:        12
Anonymous UUID:        14D81E5C-8D3C-8C95-1FFB-F40CC5EFC806

Sleep/Wake UUID:       80035D84-ABAB-453F-A2C2-0A357B48B7EC

Time Awake Since Boot: 440000 seconds
Time Since Wake:       439914 seconds

System Integrity Protection: enabled

Crashed Thread:        3  io.flutter.raster

Exception Type:        EXC_BAD_ACCESS (SIGBUS)
Exception Codes:       KERN_PROTECTION_FAILURE at 0x0000600002f6e9a0
Exception Codes:       0x0000000000000002, 0x0000600002f6e9a0

Termination Reason:    Namespace SIGNAL, Code 10 Bus error: 10
Terminating Process:   exc handler [74521]

VM Region Info: 0x600002f6e9a0 is in 0x600000000000-0x600020000000;  bytes after start: 49736096  bytes before end: 487134815
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      commpage (reserved)        1000000000-7000000000   [384.0G] ---/--- SM=NUL  reserved VM address space (unallocated)
      GAP OF 0x5f9000000000 BYTES
--->  MALLOC_NANO              600000000000-600020000000 [512.0M] rw-/rwx SM=PRV  
      owned unmapped memory        unmapped-unmapped     [  944K] rw-/rw- SM=PRV  owned physical footprint (unmapped)

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x18ed86f54 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x18ed99604 mach_msg2_internal + 80
2   libsystem_kernel.dylib        	       0x18ed8faf8 mach_msg_overwrite + 480
3   libsystem_kernel.dylib        	       0x18ed8729c mach_msg + 24
4   CoreFoundation                	       0x18eeb0a4c __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x18eeaf2ac __CFRunLoopRun + 1212
6   CoreFoundation                	       0x18eeae734 CFRunLoopRunSpecific + 588
7   HIToolbox                     	       0x19a41d530 RunCurrentEventLoopInMode + 292
8   HIToolbox                     	       0x19a423348 ReceiveNextEventCommon + 676
9   HIToolbox                     	       0x19a423508 _BlockUntilNextEventMatchingListInModeWithFilter + 76
10  AppKit                        	       0x192a26848 _DPSNextEvent + 660
11  AppKit                        	       0x19338cc24 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
12  AppKit                        	       0x192a19874 -[NSApplication run] + 480
13  AppKit                        	       0x1929f0068 NSApplicationMain + 888
14  flutter_texture_issue.debug.dylib	       0x1025dff74 static NSApplicationDelegate.main() + 40
15  flutter_texture_issue.debug.dylib	       0x1025dff3c static AppDelegate.$main() + 44
16  flutter_texture_issue.debug.dylib	       0x1025dffdc __debug_main_executable_dylib_entry_point + 28 (AppDelegate.swift:5)
17  dyld                          	       0x18ea48274 start + 2840

Thread 1:
0   libsystem_pthread.dylib       	       0x18edc30e8 start_wqthread + 0

Thread 2:: io.flutter.ui
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   FlutterMacOS                  	       0x10633f680 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112
3   FlutterMacOS                  	       0x10655d520 dart::SafepointHandler::LevelHandler::WaitUntilThreadsReachedSafepointLevel() + 124
4   FlutterMacOS                  	       0x10655c990 dart::SafepointHandler::SafepointThreads(dart::Thread*, dart::SafepointLevel) + 436
5   FlutterMacOS                  	       0x10655c7a8 dart::SafepointOperationScope::SafepointOperationScope(dart::Thread*, dart::SafepointLevel) + 108
6   FlutterMacOS                  	       0x106548780 dart::Heap::NotifyIdle(long long) + 108
7   FlutterMacOS                  	       0x1063b340c dart::IdleTimeHandler::NotifyIdle(long long) + 80
8   FlutterMacOS                  	       0x1067a34ec Dart_NotifyIdle + 248
9   FlutterMacOS                  	       0x1062f6a78 flutter::RuntimeController::NotifyIdle(fml::TimeDelta) + 236
10  FlutterMacOS                  	       0x106212e24 std::_fl::__function::__func<flutter::Animator::RequestFrame(bool)::$_0, std::_fl::allocator<flutter::Animator::RequestFrame(bool)::$_0>, void ()>::operator()() + 192
11  FlutterMacOS                  	       0x105b04ee4 fml::MessageLoopImpl::FlushTasks(fml::FlushType) + 252
12  FlutterMacOS                  	       0x105b0e270 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 52
13  CoreFoundation                	       0x18eeca394 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
14  CoreFoundation                	       0x18eeca038 __CFRunLoopDoTimer + 1012
15  CoreFoundation                	       0x18eec9b48 __CFRunLoopDoTimers + 356
16  CoreFoundation                	       0x18eeaf530 __CFRunLoopRun + 1856
17  CoreFoundation                	       0x18eeae734 CFRunLoopRunSpecific + 588
18  FlutterMacOS                  	       0x105b0e50c fml::MessageLoopDarwin::Run() + 188
19  FlutterMacOS                  	       0x105b04ce0 fml::MessageLoopImpl::DoRun() + 60
20  FlutterMacOS                  	       0x105b0c6dc std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 200
21  FlutterMacOS                  	       0x105b0c194 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 56
22  libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
23  libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 3 Crashed:: io.flutter.raster
0   ???                           	    0x600002f6e9a0 ???
1   FlutterMacOS                  	       0x1061d9c0c impeller::VerticesSimpleBlendContents::Render(impeller::ContentContext const&, impeller::Entity const&, impeller::RenderPass&) const + 1536
2   FlutterMacOS                  	       0x1061daf30 impeller::Entity::Render(impeller::ContentContext const&, impeller::RenderPass&) const + 144
3   FlutterMacOS                  	       0x10615a694 impeller::Canvas::AddRenderEntityToCurrentPass(impeller::Entity&, bool) + 2272
4   FlutterMacOS                  	       0x10615b600 impeller::Canvas::DrawVertices(std::_fl::shared_ptr<impeller::VerticesGeometry> const&, impeller::BlendMode, impeller::Paint const&) + 2148
5   FlutterMacOS                  	       0x106165b10 impeller::CanvasDlDispatcher::drawVertices(std::_fl::shared_ptr<flutter::DlVertices> const&, flutter::DlBlendMode) + 228
6   FlutterMacOS                  	       0x105bae19c flutter::DisplayList::Dispatch(flutter::DlOpReceiver&, SkRect const&) const + 200
7   FlutterMacOS                  	       0x106165614 impeller::DlDispatcherBase::drawDisplayList(sk_sp<flutter::DisplayList>, float) + 568
8   FlutterMacOS                  	       0x105bae9d4 flutter::DrawDisplayListOp::dispatch(flutter::DlOpReceiver&) const + 80
9   FlutterMacOS                  	       0x105bae19c flutter::DisplayList::Dispatch(flutter::DlOpReceiver&, SkRect const&) const + 200
10  FlutterMacOS                  	       0x106165614 impeller::DlDispatcherBase::drawDisplayList(sk_sp<flutter::DisplayList>, float) + 568
11  FlutterMacOS                  	       0x105bae9d4 flutter::DrawDisplayListOp::dispatch(flutter::DlOpReceiver&) const + 80
12  FlutterMacOS                  	       0x105bae19c flutter::DisplayList::Dispatch(flutter::DlOpReceiver&, SkRect const&) const + 200
13  FlutterMacOS                  	       0x105bae0ac flutter::DisplayList::Dispatch(flutter::DlOpReceiver&, SkIRect const&) const + 48
14  FlutterMacOS                  	       0x10616746c impeller::RenderToOnscreen(impeller::ContentContext&, impeller::RenderTarget, sk_sp<flutter::DisplayList> const&, SkIRect, bool) + 544
15  FlutterMacOS                  	       0x10632c53c flutter::EmbedderExternalView::Render(flutter::EmbedderRenderTarget const&, bool) + 296
16  FlutterMacOS                  	       0x10632e340 flutter::EmbedderExternalViewEmbedder::SubmitFlutterView(long long, GrDirectContext*, std::_fl::shared_ptr<impeller::AiksContext> const&, std::_fl::unique_ptr<flutter::SurfaceFrame, std::_fl::default_delete<flutter::SurfaceFrame>>) + 2980
17  FlutterMacOS                  	       0x10621fed8 flutter::Rasterizer::DrawToSurfaceUnsafe(long long, flutter::LayerTree&, float, std::_fl::optional<fml::TimePoint>) + 1140
18  FlutterMacOS                  	       0x10621f5dc flutter::Rasterizer::DrawToSurfacesUnsafe(flutter::FrameTimingsRecorder&, std::_fl::vector<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>, std::_fl::allocator<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>>>) + 600
19  FlutterMacOS                  	       0x10621d904 flutter::Rasterizer::DrawToSurfaces(flutter::FrameTimingsRecorder&, std::_fl::vector<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>, std::_fl::allocator<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>>>) + 176
20  FlutterMacOS                  	       0x10621e99c flutter::Rasterizer::DoDraw(std::_fl::unique_ptr<flutter::FrameTimingsRecorder, std::_fl::default_delete<flutter::FrameTimingsRecorder>>, std::_fl::vector<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>, std::_fl::allocator<std::_fl::unique_ptr<flutter::LayerTreeTask, std::_fl::default_delete<flutter::LayerTreeTask>>>>) + 192
21  FlutterMacOS                  	       0x1062225e0 std::_fl::__function::__func<flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem>> const&)::$_0, std::_fl::allocator<flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem>> const&)::$_0>, void (std::_fl::unique_ptr<flutter::FrameItem, std::_fl::default_delete<flutter::FrameItem>>)>::operator()(std::_fl::unique_ptr<flutter::FrameItem, std::_fl::default_delete<flutter::FrameItem>>&&) + 100
22  FlutterMacOS                  	       0x10621dfcc flutter::Pipeline<flutter::FrameItem>::Consume(std::_fl::function<void (std::_fl::unique_ptr<flutter::FrameItem, std::_fl::default_delete<flutter::FrameItem>>)> const&) + 276
23  FlutterMacOS                  	       0x10621dbec flutter::Rasterizer::Draw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem>> const&) + 148
24  FlutterMacOS                  	       0x106240c38 std::_fl::__function::__func<fml::internal::CopyableLambda<flutter::Shell::OnAnimatorDraw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem>>)::$_0>, std::_fl::allocator<fml::internal::CopyableLambda<flutter::Shell::OnAnimatorDraw(std::_fl::shared_ptr<flutter::Pipeline<flutter::FrameItem>>)::$_0>>, void ()>::operator()() + 112
25  FlutterMacOS                  	       0x105b04ee4 fml::MessageLoopImpl::FlushTasks(fml::FlushType) + 252
26  FlutterMacOS                  	       0x105b0e270 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 52
27  CoreFoundation                	       0x18eeca394 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
28  CoreFoundation                	       0x18eeca038 __CFRunLoopDoTimer + 1012
29  CoreFoundation                	       0x18eec9b48 __CFRunLoopDoTimers + 356
30  CoreFoundation                	       0x18eeaf530 __CFRunLoopRun + 1856
31  CoreFoundation                	       0x18eeae734 CFRunLoopRunSpecific + 588
32  FlutterMacOS                  	       0x105b0e50c fml::MessageLoopDarwin::Run() + 188
33  FlutterMacOS                  	       0x105b04ce0 fml::MessageLoopImpl::DoRun() + 60
34  FlutterMacOS                  	       0x105b0c6dc std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 200
35  FlutterMacOS                  	       0x105b0c194 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 56
36  libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
37  libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 4:: io.flutter.io
0   libsystem_kernel.dylib        	       0x18ed86f54 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x18ed99604 mach_msg2_internal + 80
2   libsystem_kernel.dylib        	       0x18ed8faf8 mach_msg_overwrite + 480
3   libsystem_kernel.dylib        	       0x18ed8729c mach_msg + 24
4   CoreFoundation                	       0x18eeb0a4c __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x18eeaf2ac __CFRunLoopRun + 1212
6   CoreFoundation                	       0x18eeae734 CFRunLoopRunSpecific + 588
7   FlutterMacOS                  	       0x105b0e50c fml::MessageLoopDarwin::Run() + 188
8   FlutterMacOS                  	       0x105b04ce0 fml::MessageLoopImpl::DoRun() + 60
9   FlutterMacOS                  	       0x105b0c6dc std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 200
10  FlutterMacOS                  	       0x105b0c194 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 56
11  libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
12  libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 5:: io.worker.1
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc8894 _pthread_cond_wait + 1204
2   FlutterMacOS                  	       0x105acd2b8 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 44
3   FlutterMacOS                  	       0x105aff6ec fml::ConcurrentMessageLoop::WorkerMain() + 148
4   FlutterMacOS                  	       0x105b003b8 void* std::_fl::__thread_proxy[abi:v15000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 176
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 6:: io.worker.2
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc8894 _pthread_cond_wait + 1204
2   FlutterMacOS                  	       0x105acd2b8 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 44
3   FlutterMacOS                  	       0x105aff6ec fml::ConcurrentMessageLoop::WorkerMain() + 148
4   FlutterMacOS                  	       0x105b003b8 void* std::_fl::__thread_proxy[abi:v15000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 176
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 7:: io.worker.3
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc8894 _pthread_cond_wait + 1204
2   FlutterMacOS                  	       0x105acd2b8 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 44
3   FlutterMacOS                  	       0x105aff6ec fml::ConcurrentMessageLoop::WorkerMain() + 148
4   FlutterMacOS                  	       0x105b003b8 void* std::_fl::__thread_proxy[abi:v15000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 176
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 8:: io.worker.4
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc8894 _pthread_cond_wait + 1204
2   FlutterMacOS                  	       0x105acd2b8 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 44
3   FlutterMacOS                  	       0x105aff6ec fml::ConcurrentMessageLoop::WorkerMain() + 148
4   FlutterMacOS                  	       0x105b003b8 void* std::_fl::__thread_proxy[abi:v15000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 176
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 9:: dart:io EventHandler
0   libsystem_kernel.dylib        	       0x18ed8d01c kevent + 8
1   FlutterMacOS                  	       0x1062b6b94 dart::bin::EventHandlerImplementation::EventHandlerEntry(unsigned long) + 300
2   FlutterMacOS                  	       0x1062de430 dart::bin::ThreadStart(void*) + 88
3   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
4   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 10:: Dart Profiler ThreadInterrupter
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   FlutterMacOS                  	       0x10633f680 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112
3   FlutterMacOS                  	       0x10651707c dart::ThreadInterrupter::ThreadMain(unsigned long) + 368
4   FlutterMacOS                  	       0x1064968a4 dart::ThreadStart(void*) + 204
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 11:: Dart Profiler SampleBlockProcessor
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   FlutterMacOS                  	       0x10633f680 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112
3   FlutterMacOS                  	       0x10649c35c dart::SampleBlockProcessor::ThreadMain(unsigned long) + 292
4   FlutterMacOS                  	       0x1064968a4 dart::ThreadStart(void*) + 204
5   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
6   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 12:
0   libsystem_pthread.dylib       	       0x18edc30e8 start_wqthread + 0

Thread 13:
0   libsystem_pthread.dylib       	       0x18edc30e8 start_wqthread + 0

Thread 14:
0   libsystem_pthread.dylib       	       0x18edc30e8 start_wqthread + 0

Thread 15:: DartWorker
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   FlutterMacOS                  	       0x10633f680 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112
3   FlutterMacOS                  	       0x1063b36ac dart::MutatorThreadPool::OnEnterIdleLocked(dart::MutexLocker*, dart::ThreadPool::Worker*) + 168
4   FlutterMacOS                  	       0x1065181e0 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) + 140
5   FlutterMacOS                  	       0x1065184e8 dart::ThreadPool::Worker::Main(unsigned long) + 136
6   FlutterMacOS                  	       0x1064968a4 dart::ThreadStart(void*) + 204
7   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
8   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 16:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	       0x18ed86f54 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x18ed99604 mach_msg2_internal + 80
2   libsystem_kernel.dylib        	       0x18ed8faf8 mach_msg_overwrite + 480
3   libsystem_kernel.dylib        	       0x18ed8729c mach_msg + 24
4   CoreFoundation                	       0x18eeb0a4c __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x18eeaf2ac __CFRunLoopRun + 1212
6   CoreFoundation                	       0x18eeae734 CFRunLoopRunSpecific + 588
7   AppKit                        	       0x192b4b278 _NSEventThread + 148
8   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
9   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 17:: DartWorker
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   FlutterMacOS                  	       0x10633f680 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112
3   FlutterMacOS                  	       0x106518360 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) + 524
4   FlutterMacOS                  	       0x1065184e8 dart::ThreadPool::Worker::Main(unsigned long) + 136
5   FlutterMacOS                  	       0x1064968a4 dart::ThreadStart(void*) + 204
6   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
7   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 18:: DartWorker
0   FlutterMacOS                  	       0x1063b2080 dart::VMHandles::AllocateHandle(dart::Zone*) + 76
1   FlutterMacOS                  	       0x1063428e0 dart::Object::HandleImpl(dart::Zone*, dart::ObjectPtr, long) + 44
2   FlutterMacOS                  	       0x10641a220 dart::Class::IsSubtypeOf(dart::Class const&, dart::TypeArguments const&, dart::Nullability, dart::AbstractType const&, dart::Heap::Space, dart::FunctionTypeMapping*) + 992
3   FlutterMacOS                  	       0x10641a3cc dart::Class::IsSubtypeOf(dart::Class const&, dart::TypeArguments const&, dart::Nullability, dart::AbstractType const&, dart::Heap::Space, dart::FunctionTypeMapping*) + 1420
4   FlutterMacOS                  	       0x10666f400 dart::CompileType::Union(dart::CompileType*) + 372
5   FlutterMacOS                  	       0x10666f194 dart::FlowGraphTypePropagator::VisitCheckClass(dart::CheckClassInstr*) + 276
6   FlutterMacOS                  	       0x10666e510 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 452
7   FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
8   FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
9   FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
10  FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
11  FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
12  FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
13  FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
14  FlutterMacOS                  	       0x10666e484 dart::FlowGraphTypePropagator::PropagateRecursive(dart::BlockEntryInstr*) + 312
15  FlutterMacOS                  	       0x10666dce4 dart::FlowGraphTypePropagator::Propagate() + 64
16  FlutterMacOS                  	       0x10666dc70 dart::FlowGraphTypePropagator::Propagate(dart::FlowGraph*) + 84
17  FlutterMacOS                  	       0x1066876cc dart::CompilerPass_TypePropagation::DoBody(dart::CompilerPassState*) const + 36
18  FlutterMacOS                  	       0x106686324 dart::CompilerPass::Run(dart::CompilerPassState*) const + 316
19  FlutterMacOS                  	       0x106686740 dart::CompilerPass::RunPipeline(dart::CompilerPass::PipelineMode, dart::CompilerPassState*, bool) + 148
20  FlutterMacOS                  	       0x10652d5c8 dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*) + 1580
21  FlutterMacOS                  	       0x10652dde0 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long) + 900
22  FlutterMacOS                  	       0x10652e44c dart::Compiler::CompileOptimizedFunction(dart::Thread*, dart::Function const&, long) + 292
23  FlutterMacOS                  	       0x10652eadc dart::BackgroundCompiler::Run() + 236
24  FlutterMacOS                  	       0x106518270 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) + 284
25  FlutterMacOS                  	       0x1065184e8 dart::ThreadPool::Worker::Main(unsigned long) + 136
26  FlutterMacOS                  	       0x1064968a4 dart::ThreadStart(void*) + 204
27  libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
28  libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8

Thread 19:: CVDisplayLink
0   libsystem_kernel.dylib        	       0x18ed8a6ec __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x18edc88c0 _pthread_cond_wait + 1248
2   CoreVideo                     	       0x19822c3a4 CVDisplayLink::waitUntil(unsigned long long) + 316
3   CoreVideo                     	       0x19822b47c CVDisplayLink::runIOThread() + 504
4   libsystem_pthread.dylib       	       0x18edc82e4 _pthread_start + 136
5   libsystem_pthread.dylib       	       0x18edc30fc thread_start + 8


Thread 3 crashed with ARM Thread State (64-bit):
    x0: 0x0000000128028000   x1: 0x0000000000000002   x2: 0x0000000000000002   x3: 0x000000010803c8b0
    x4: 0x00000001080bee40   x5: 0x000000016df24190   x6: 0x0000600003e1d3f8   x7: 0x000000016df23df8
    x8: 0x0000600002f6e9a0   x9: 0x0000000000000001  x10: 0x0000000000016308  x11: 0x0000100000000003
   x12: 0x0000000133b579a0  x13: 0x0000000133b57b70  x14: 0x0200000114035109  x15: 0x0000000114035108
   x16: 0x0000000114035108  x17: 0x0000000113f84160  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x0000000128028000  x21: 0x0000000000000002  x22: 0x0000000122535af0  x23: 0x0000600003e1d3f8
   x24: 0x0000600001dd0440  x25: 0x000000016df24250  x26: 0x0000600001d58da0  x27: 0x0000000000000001
   x28: 0x000000016df24250   fp: 0x000000016df23f90   lr: 0x0000000106203b18
    sp: 0x000000016df23e40   pc: 0x0000600002f6e9a0 cpsr: 0x60001800
   far: 0x0000600002f6e9a0  esr: 0x8200000f (Instruction Abort) Permission fault

Binary Images:
       0x1025a8000 -        0x1025abfff com.example.flutterTextureIssue (1.0.0) <23a0644f-3bdf-3a8b-b818-fda8c80a9fc4> /Users/USER/*/flutter_texture_issue.app/Contents/MacOS/flutter_texture_issue
       0x1025dc000 -        0x1025e3fff flutter_texture_issue.debug.dylib (*) <3c60e7b4-1bdb-3077-b3c3-237b50c07aaf> /Users/USER/*/flutter_texture_issue.app/Contents/MacOS/flutter_texture_issue.debug.dylib
       0x105a8c000 -        0x108003fff io.flutter.flutter-macos (1.0) <4c4c44a6-5555-3144-a186-d066f42d53eb> /Users/USER/*/flutter_texture_issue.app/Contents/Frameworks/FlutterMacOS.framework/Versions/A/FlutterMacOS
       0x1056c0000 -        0x1056cbfff libobjc-trampolines.dylib (*) <3d687e9b-e092-3632-bc1d-74b19d492de0> /usr/lib/libobjc-trampolines.dylib
       0x1056e0000 -        0x1056e3fff io.flutter.flutter.app (1.0) <85498bd2-9be8-3c8f-95c5-61c2bc771a94> /Users/USER/*/flutter_texture_issue.app/Contents/Frameworks/App.framework/Versions/A/App
       0x1138a4000 -        0x11400bfff com.apple.AGXMetalG15X-M1 (324.6) <c21f5272-9e81-3e96-82c4-ebae9938031f> /System/Library/Extensions/AGXMetalG15X_M1.bundle/Contents/MacOS/AGXMetalG15X_M1
       0x18ed86000 -        0x18edc0ff7 libsystem_kernel.dylib (*) <eee9d0d3-dffc-37cb-9ced-b27cd0286d8c> /usr/lib/system/libsystem_kernel.dylib
       0x18ee33000 -        0x18f327fff com.apple.CoreFoundation (6.9) <190e6a36-fcaa-3ea3-94bb-7009c44653da> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
       0x19a312000 -        0x19a619fff com.apple.HIToolbox (2.1.1) <950f1236-acaf-379d-819f-6c6b0b5deabd> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
       0x1929eb000 -        0x193e27fff com.apple.AppKit (6.9) <b88a44c1-d617-33dc-90ed-b6ab417c428e> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x18ea42000 -        0x18eac3f3f dyld (*) <398a133c-9bcb-317f-a064-a40d3cea3c0f> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
       0x18edc1000 -        0x18edcdfff libsystem_pthread.dylib (*) <642faf7a-874e-37e6-8aba-2b0cc09a3025> /usr/lib/system/libsystem_pthread.dylib
       0x18ebcf000 -        0x18ec10fff libsystem_malloc.dylib (*) <1480b446-99f7-3757-9d4e-5ba3014a2726> /usr/lib/system/libsystem_malloc.dylib
       0x198229000 -        0x198289fff com.apple.CoreVideo (1.8) <0fcfe924-013c-3974-9fdf-58f9a8d71845> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.6G resident=0K(0%) swapped_out_or_unallocated=1.6G(100%)
Writable regions: Total=2.4G written=948K(0%) resident=948K(0%) swapped_out=0K(0%) unallocated=2.4G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        2 
Activity Tracing                   256K        1 
CG image                            96K        4 
ColorSync                          560K       27 
CoreAnimation                      944K       58 
CoreGraphics                        48K        3 
CoreUI image data                 1040K        8 
Foundation                          16K        1 
Kernel Alloc Once                   32K        1 
MALLOC                             2.3G       80 
MALLOC guard page                  288K       18 
STACK GUARD                       56.3M       20 
Stack                             25.6M       22 
VM_ALLOCATE                      116.1M      277 
__AUTH                            5120K      653 
__AUTH_CONST                      69.3M      893 
__CTF                               824        1 
__DATA                            24.2M      878 
__DATA_CONST                      24.1M      905 
__DATA_DIRTY                      2748K      333 
__FONT_DATA                        2352        1 
__INFO_FILTER                         8        1 
__LINKEDIT                       619.9M        7 
__OBJC_RW                         2374K        1 
__TEXT                             1.0G      927 
__TPRO_CONST                       272K        2 
mapped file                      247.7M       26 
owned unmapped memory              944K        1 
page table in kernel               948K        1 
shared memory                     1392K       14 
===========                     =======  ======= 
TOTAL                              4.5G     5166 

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.27.4, on macOS 15.3 24D60 darwin-arm64, locale en-US)
    • Flutter version 3.27.4 on channel stable at /Users/alex/Development/lib/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d8a9f9a52e (9 days ago), 2025-01-31 16:07:18 -0500
    • Engine revision 82bd5b7209
    • Dart version 3.6.2
    • DevTools version 2.40.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/alex/Library/Android/sdk
    • Platform android-35, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 21.0.4+-12422083-b607.1)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16C5032a
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Chromium.app/Contents/MacOS/Chromium

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.4+-12422083-b607.1)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.96.4)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 15.3 24D60 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 15.3 24D60 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Chromium 118.0.5941.0

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Activity

  1. maheshj01 commented on Feb 11, 2025

    @maheshj01
    Member

    I've not been able to reproduce the crash on the latest master or stable 3.27.4 with or without impeller targeting macOS. Am I missing something?

    Screen.Recording.2025-02-10.at.23.10.02.mov
    flutter doctor -v
    [✓] Flutter (Channel master, 3.29.0-1.0.pre.329, on macOS 15.1.1 24B2091 darwin-arm64, locale
        en-US) [4.3s]
        • Flutter version 3.29.0-1.0.pre.329 on channel master at
          /Users/mahesh/Development/flutter_master
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 9438fd4471 (5 hours ago), 2025-02-10 14:43:25 -0800
        • Engine revision 9438fd4471
        • Dart version 3.8.0 (build 3.8.0-70.0.dev)
        • DevTools version 2.43.0
        • If those were intentional, you can disregard the above warnings; however it is recommended to
          use "git" directly to perform update checks and upgrades.
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [2.9s]
        • Android SDK at /Users/mahesh/Library/Android/sdk
        • Platform android-35, build-tools 34.0.0
        • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
        • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
          This is the JDK bundled with the latest Android Studio installation on this machine.
          To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
        • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 16.0) [1,542ms]
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 16A242d
        • CocoaPods version 1.16.2
    
    [✓] Chrome - develop for the web [147ms]
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2024.1) [146ms]
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    
    [✓] IntelliJ IDEA Community Edition (version 2021.2.1) [145ms]
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin version 61.2.4
        • Dart plugin version 212.5080.8
    
    [✓] VS Code (version 1.96.2) [18ms]
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.102.0
    
    [✓] Connected device (3 available) [6.8s]
        • Iphone 13 (mobile) • 6DE09AA3-2245-457B-AF8D-8FCB01009014 • ios            •
          com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
        • macOS (desktop)    • macos                                • darwin-arm64   • macOS 15.1.1
          24B2091 darwin-arm64
        • Chrome (web)       • chrome                               • web-javascript • Google Chrome
          131.0.6778.265
    
    [✓] Network resources [414ms]
        • All expected network resources are available.
    
    • No issues found!
    
    [✓] Flutter (Channel stable, 3.27.4, on macOS 15.1.1 24B2091 darwin-arm64, locale en-US)
        • Flutter version 3.27.4 on channel stable at /Users/mahesh/Development/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision d8a9f9a52e (10 days ago), 2025-01-31 16:07:18 -0500
        • Engine revision 82bd5b7209
        • Dart version 3.6.2
        • DevTools version 2.40.3
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
        • Android SDK at /Users/mahesh/Library/Android/sdk
        • Platform android-35, build-tools 34.0.0
        • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
        • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 16.0)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 16A242d
        • CocoaPods version 1.16.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2024.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    
    [✓] IntelliJ IDEA Community Edition (version 2021.2.1)
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin version 61.2.4
        • Dart plugin version 212.5080.8
    
    [✓] VS Code (version 1.96.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.102.0
    
    [✓] Connected device (4 available)
        • Iphone 13 (mobile)              • 6DE09AA3-2245-457B-AF8D-8FCB01009014 • ios            •
          com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
        • macOS (desktop)                 • macos                                • darwin-arm64   •
          macOS 15.1.1 24B2091 darwin-arm64
        • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         •
          macOS 15.1.1 24B2091 darwin-arm64
        • Chrome (web)                    • chrome                               • web-javascript •
          Google Chrome 131.0.6778.265
    
    [✓] Network resources
        • All expected network resources are available.
    
    • No issues found!
    
  2. added
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Feb 11, 2025
  3. alexgarbarev commented on Feb 11, 2025

    @alexgarbarev
    Author

    @maheshj01 based on your video It looks like it's been recorded using Skia. (I'm judging based on how "color" looks like).
    Skia:
    Image

    Impeller 3.27.4:
    Image

    Impeller 3.24.5
    Image

    Could you please double check with command flutter run -d macos --enable-impeller

  4. removed
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Feb 11, 2025
  5. maheshj01 commented on Feb 11, 2025

    @maheshj01
    Member

    Ah I see, Thanks for the details @alexgarbarev, I was running without the --enable-impeller Assuming impeller was enabled by default but thats only for Android and IOS.

    Reproducible on latest stable and the master channel. With Impeller enabled the app crashes (Android, IOS, MacOS) and runs fine on Skia

    sample_app.zip

    crash logs macos
    Building macOS application...                                           
    ✓ Built build/macos/Build/Products/Debug/sample_app.app
    [IMPORTANT:flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm(50)] Using the Impeller rendering backend (Metal).
    2025-02-11 17:09:21.383 sample_app[15529:379628] +[IMKClient subclass]: chose IMKClient_Modern
    2025-02-11 17:09:21.383 sample_app[15529:379628] +[IMKInputSession subclass]: chose IMKInputSession_Modern
    Syncing files to device macOS...                                    31ms
    
    Flutter run key commands.
    r Hot reload. 🔥🔥🔥
    R Hot restart.
    h List all available interactive commands.
    d Detach (terminate "flutter run" but leave application running).
    c Clear the screen
    q Quit (terminate the application on the device).
    
    A Dart VM Service on macOS is available at: http://127.0.0.1:61453/dWmfkDi6Q-c=/
    The Flutter DevTools debugger and profiler on macOS is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:61453/dWmfkDi6Q-c=/
    [ERROR:flutter/impeller/entity/contents/vertices_contents.cc(117)] Break on 'ImpellerValidationBreak' to inspect point of failure: Missing texture for VerticesSimpleBlendContents
    [ERROR:flutter/impeller/entity/contents/vertices_contents.cc(117)] Break on 'ImpellerValidationBreak' to inspect point of failure: Missing texture for VerticesSimpleBlendContents
    [ERROR:flutter/impeller/entity/contents/vertices_contents.cc(117)] Break on 'ImpellerValidationBreak' to inspect point of failure: Missing texture for VerticesSimpleBlendContents
    
    crash logs (Android)
    mahesh@MacBook-Pro-9 sample_app % flutterm run --enable-impeller      
    Could not load custom device from config index 0: Expected enabled to be a boolean.
    Launching lib/main.dart on Pixel 7 in debug mode...
    Running Gradle task 'assembleDebug'...                             28.3s
    ✓ Built build/app/outputs/flutter-apk/app-debug.apk
    Installing build/app/outputs/flutter-apk/app-debug.apk...           4.1s
    I/flutter ( 8910): [IMPORTANT:flutter/shell/platform/android/android_context_vk_impeller.cc(60)] Using the Impeller rendering backend (Vulkan).
    Syncing files to device Pixel 7...                                  46ms
    
    Flutter run key commands.
    r Hot reload. 🔥🔥🔥
    R Hot restart.
    h List all available interactive commands.
    d Detach (terminate "flutter run" but leave application running).
    c Clear the screen
    q Quit (terminate the application on the device).
    
    A Dart VM Service on Pixel 7 is available at: http://127.0.0.1:62399/EbNKhBxsSGc=/
    The Flutter DevTools debugger and profiler on Pixel 7 is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:62399/EbNKhBxsSGc=/
    D/ProfileInstaller( 8910): Installing profile for com.example.sample_app
    D/CompatChangeReporter( 8910): Compat change id reported: 306666082; UID 10395; state: ENABLED
    I/WindowExtensionsImpl( 8910): Initializing Window Extensions, vendor API level=7, activity embedding enabled=true
    I/mple.sample_app( 8910): Compiler allocated 5281KB to compile void android.view.ViewRootImpl.performTraversals()
    D/WindowLayoutComponentImpl( 8910): Register WindowLayoutInfoListener on Context=com.example.sample_app.MainActivity@941eae1, of which baseContext=android.app.ContextImpl@56b34a7
    I/mple.sample_app( 8910): Compiler allocated 5453KB to compile void android.view.ViewRootImpl.performTraversals()
    I/mple.sample_app( 8910): Background concurrent mark compact GC freed 9572KB AllocSpace bytes, 3(60KB) LOS objects, 90% free, 2485KB/26MB, paused 148us,6.502ms total 48.484ms
    
    ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
    The following assertion was thrown during layout:
    A RenderFlex overflowed by 194 pixels on the right.
    
    The relevant error-causing widget was:
      AppBar AppBar:file:///Users/mahesh/Development/Triage/sample_app/lib/main.dart:53:25
    
    To inspect this widget in Flutter DevTools, visit:
    http://127.0.0.1:9101/#/inspector?uri=http%3A%2F%2F127.0.0.1%3A62399%2FEbNKhBxsSGc%3D%2F&inspectorRef=inspector-0
    
    The overflowing RenderFlex has an orientation of Axis.horizontal.
    The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and
    black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
    Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the
    RenderFlex to fit within the available space instead of being sized to their natural size.
    This is considered an error condition because it indicates that there is content that cannot be
    seen. If the content is legitimately bigger than the available space, consider clipping it with a
    ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex,
    like a ListView.
    The specific RenderFlex in question is: RenderFlex#a9cb8 relayoutBoundary=up13 OVERFLOWING:
      creator: Row ← Padding ← IconTheme ← Builder ← IconButtonTheme ← LayoutId-[<_ToolbarSlot.trailing>]
        ← CustomMultiChildLayout ← NavigationToolbar ← DefaultTextStyle ← IconTheme ← Builder ←
        CustomSingleChildLayout ← ⋯
      parentData: offset=Offset(0.0, 0.0) (can use size)
      constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=56.0)
      size: Size(411.4, 48.0)
      direction: horizontal
      mainAxisAlignment: start
      mainAxisSize: min
      crossAxisAlignment: center
      textDirection: ltr
      verticalDirection: down
      spacing: 0.0
    ◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
    ════════════════════════════════════════════════════════════════════════════════════════════════════
    
    I/Choreographer( 8910): Skipped 35 frames!  The application may be doing too much work on its main thread.
    F/libc    ( 8910): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x91000519d344fd28 in tid 9043 (1.raster), pid 8910 (mple.sample_app)
    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'google/panther/panther:15/AP4A.250105.002/12701944:user/release-keys'
    Revision: 'MP1.0'
    ABI: 'arm64'
    Timestamp: 2025-02-11 17:27:38.073315119-0500
    Process uptime: 115s
    Cmdline: com.example.sample_app
    pid: 8910, tid: 9043, name: 1.raster  >>> com.example.sample_app <<<
    uid: 10395
    tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x91000519d344fd28
        x0  000000787bb51400  x1  0000000000000002  x2  0000000000000001  x3  00000074be78bfb8
        x4  00000074be800d78  x5  00000075432cf940  x6  b4000076146e2188  x7  7f7f7f7f7f7f7f7f
        x8  91000519d344fd08  x9  000000787bb51400  x10 0004030700010404  x11 0000000000000049
        x12 00000075432cf3c0  x13 0000005ff96a12e0  x14 00000000000f70e0  x15 0000005fffafcf20
        x16 0000000000000001  x17 000000787bb5d940  x18 0000007468b98000  x19 b400007704948070
        x20 00000074be78bfb8  x21 b4000076146e2188  x22 0000000000000001  x23 00000075432cf940
        x24 b4000076146e2188  x25 0000000000000000  x26 00000075432d1a80  x27 00000075432cfb68
        x28 00000075432cfb68  x29 00000075432d1a80
        lr  00000074be2afb1c  sp  00000075432cf900  pc  00000074be3198fc  pst 0000000080001000
    35 total frames
    backtrace:
          #00 pc 00000000021178fc  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #01 pc 00000000020adb18  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #02 pc 00000000020d8320  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #03 pc 00000000020d8a5c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #04 pc 00000000020a1d78  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #05 pc 00000000020a217c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #06 pc 00000000020a798c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #07 pc 0000000001d5a414  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #08 pc 00000000020a7540  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #09 pc 0000000001d5b08c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #10 pc 0000000001d5a414  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #11 pc 0000000001d5a8ac  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #12 pc 00000000020a8884  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #13 pc 00000000021acc7c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #14 pc 0000000002023d8c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #15 pc 0000000002023c6c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #16 pc 0000000002023cf4  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #17 pc 0000000002137230  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #18 pc 0000000002136ce4  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #19 pc 0000000002135b80  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #20 pc 0000000002136554  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #21 pc 000000000213811c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #22 pc 0000000002135ff0  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #23 pc 0000000002135d88  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #24 pc 00000000021444b0  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #25 pc 0000000001cf4378  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #26 pc 0000000001cf9f1c  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #27 pc 000000000000e630  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+944) (BuildId: 2f8bb5bc3b48550b07f13c4192330901)
          #28 pc 000000000001cfe4  /system/lib64/libandroid.so (ALooper_pollOnce+100) (BuildId: 6f00ce8bbd567f91ffdc5c92aa7a3604)
          #29 pc 0000000001cf9ea4  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #30 pc 0000000001cf42c4  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #31 pc 0000000001cf8188  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #32 pc 0000000001cf8020  /data/app/~~Yo2UR-4QdwIx2qmkbksIHw==/com.example.sample_app-smtPkda3hnMfjOn7l03nZw==/lib/arm64/libflutter.so (BuildId: 6bd6db43a71f0617e1abac7b454eed3e0e509135)
          #33 pc 000000000006f884  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+132) (BuildId: 86c1cf5355663d1bf73d5263da254ebc)
          #34 pc 0000000000060e60  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 86c1cf5355663d1bf73d5263da254ebc)
    Lost connection to device.
    flutter doctor -v
    [✓] Flutter (Channel master, 3.29.0-1.0.pre.272, on macOS 15.1.1 24B2091
        darwin-arm64, locale en-US) [4.4s]
        • Flutter version 3.29.0-1.0.pre.272 on channel master at
          /Users/mahesh/Development/flutter_master
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 243413f11b (2 days ago), 2025-02-05 22:55:44 +0100
        • Engine revision 243413f11b
        • Dart version 3.8.0 (build 3.8.0-70.0.dev)
        • DevTools version 2.43.0
    
    [✓] Android toolchain - develop for Android devices (Android SDK version
        34.0.0) [3.3s]
        • Android SDK at /Users/mahesh/Library/Android/sdk
        • Platform android-35, build-tools 34.0.0
        • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
        • Java binary at: /Applications/Android
          Studio.app/Contents/jbr/Contents/Home/bin/java
          This is the JDK bundled with the latest Android Studio installation on
          this machine.
          To manually set the JDK path, use: `flutter config
          --jdk-dir=“path/to/jdk”`.
        • Java version OpenJDK Runtime Environment (build
          17.0.11+0-17.0.11b1207.24-11852314)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 16.0) [1,893ms]
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 16A242d
        • CocoaPods version 1.16.2
    
    [✓] Chrome - develop for the web [136ms]
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2024.1) [135ms]
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          :hammer: https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build
          17.0.11+0-17.0.11b1207.24-11852314)
    
    [✓] IntelliJ IDEA Community Edition (version 2021.2.1) [133ms]
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin version 61.2.4
        • Dart plugin version 212.5080.8
    
    [✓] VS Code (version 1.96.2) [18ms]
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.102.0
    
    [✓] Connected device (3 available) [7.3s]
        • sdk gphone16k arm64 (mobile) • emulator-5554 • android-arm64  • Android
          15 (API 35) (emulator)
        • macOS (desktop)              • macos         • darwin-arm64   • macOS
          15.1.1 24B2091 darwin-arm64
        • Chrome (web)                 • chrome        • web-javascript • Google
          Chrome 131.0.6778.265
    
    [✓] Network resources [429ms]
        • All expected network resources are available.
    
    • No issues found!
    
    [✓]Flutter (Channel stable, 3.27.4, on macOS 15.1.1 24B2091 darwin-arm64,
        locale en-US)
        • Flutter version 3.27.4 on channel stable at
          /Users/mahesh/Development/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision d8a9f9a52e (7 days ago), 2025-01-31 16:07:18 -0500
        • Engine revision 82bd5b7209
        • Dart version 3.6.2
        • DevTools version 2.40.3
        • If those were intentional, you can disregard the above warnings;
          however it is recommended to use “git” directly to perform update
          checks and upgrades.
    
    [✓] Android toolchain - develop for Android devices (Android SDK version
        34.0.0)
        • Android SDK at /Users/mahesh/Library/Android/sdk
        • Platform android-35, build-tools 34.0.0
        • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
        • Java binary at: /Applications/Android
          Studio.app/Contents/jbr/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build
          17.0.11+0-17.0.11b1207.24-11852314)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 16.0)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Build 16A242d
        • CocoaPods version 1.16.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2024.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          :hammer: https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build
          17.0.11+0-17.0.11b1207.24-11852314)
    
    [✓] IntelliJ IDEA Community Edition (version 2021.2.1)
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin version 61.2.4
        • Dart plugin version 212.5080.8
    
    [✓] VS Code (version 1.96.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.102.0
    
    [✓] Connected device (4 available)
        • sdk gphone16k arm64 (mobile)    • emulator-5554         • android-arm64
          • Android 15 (API 35) (emulator)
        • macOS (desktop)                 • macos                 • darwin-arm64
          • macOS 15.1.1 24B2091 darwin-arm64
        • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin
          • macOS 15.1.1 24B2091 darwin-arm64
        • Chrome (web)                    • chrome                •
          web-javascript • Google Chrome 131.0.6778.265
    
    [✓] Network resources
        • All expected network resources are available.
    
    • No issues found!
    
  6. added
    c: crashStack traces logged to the console
    e: impellerImpeller rendering backend issues and features requests
    engineflutter/engine related. See also e: labels.
    has reproducible stepsThe issue has been confirmed reproducible and is ready to work on
    and removed
    in triagePresently being triaged by the triage team
    on Feb 11, 2025
  7. jason-simmons commented on Feb 12, 2025

    @jason-simmons
    Member

    Looked at the example of a drawVertices using a LinearGradient.

    The begin and end parameters of the LinearGradient result in begin and end points that have the same horizontal coordinate. So Paint::CreateContents calls Contents::SetColorSourceSize with an empty size.

    The lazy texture function in Canvas::DrawVertices is then unable to create a snapshot based on the empty size. DrawVertices then crashes when trying to get the texture from the null snapshot.

    This works if I patch Paint::CreateContents to skip the SetColorSourceSize call if the size is empty.

  8. added
    P1High-priority issues at the top of the work list
    on Feb 12, 2025
  9. jason-simmons commented on Feb 12, 2025

    @jason-simmons
    Member

    The "Show custom shader"/"Show circles" issue is similar.

    In that case the src_contents in Canvas::DrawVertices does not have a color source size. So DrawVertices uses the texture coordinate coverage as the size of the snapshot.

    The example app's makeCircleVertices specifies all of the texture coordinates as (0, 0) or (0, 25). So the texture coordinate coverage rectangle has no width, and the lazy texture function can not create a snapshot for that empty size.

  10. alexgarbarev commented on Feb 13, 2025

    @alexgarbarev
    Author

    Thank you @jason-simmons for quick response, investigation and fix!
    Yes, texture coordinates might not be right here.

    Some background: I'm doing a drawing app, where user can draw custom shapes with a stylus, and sometimes that input generates empty width segments (for example when input points are much closer than line width).
    I used ImageShader before, and it worked fine, but in 3.27 it becomes broken - aliased (see screenshot from above). But it looks like that aliasing issue was fixed 3.29!

    Out of curiosity, my question is: does it makes much difference (in performance and efficiency) if I generate image with ImageShader manually (for each scale/pixel ratio to guarantee 1.5 physical pixels width for aa smoothing), or if I specify GradientShader or own custom shader?
    I thought initially that custom shader is applied to geometry directly (so I could just change scale/pixel ratio uniforms when user changes zoom, without texture re-generation), but based on your comments it seems to me that it used to generate a texture that then would be applied to geometry.

  11. added
    r: fixedIssue is closed as already fixed in a newer version
    on Feb 13, 2025
  12. github-actions commented on Feb 27, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  13. locked as resolved and limited conversation to collaborators on Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work listc: crashStack traces logged to the consolee: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.found in release: 3.28Found to occur in 3.28found in release: 3.29Found to occur in 3.29has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions