Skip to content

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

@alexgarbarev

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!

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