-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/engine
#13300Closed
Copy link
Labels
a: desktopRunning on desktopRunning on desktopc: crashStack traces logged to the consoleStack traces logged to the consolecustomer: octopode: embedderUsers of the Embedder APIUsers of the Embedder APIengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-macBuilding on or for macOS specificallyBuilding on or for macOS specifically
Milestone
Description
The macOS embedder (https://github.com/google/flutter-desktop-embedding) pretty reliably crashes during window resizing.
None of the code in the stack trace is from the embedder, so it looks like this is a Flutter (or graphics driver, but that seems much less likely) bug.
STR:
- Clone the repo above and open macos/example/Example Embedder.xcodeproj.
- Build and run.
- Start resizing the window and just move the mouse around a bunch.
The stack trace looks like this (the end portion seems consistent in my testing so far):
* thread #8, name = 'io.flutter.gpu', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
* frame #0: 0x00000001080187dc AppleIntelKBLGraphicsGLDriver`void updateBindingTable<SGfx3dStateBindingTablePointers>(GenContext*, unsigned int, SGfx3dStateBindingTablePointers&) + 1233
frame #1: 0x0000000108015a5e AppleIntelKBLGraphicsGLDriver`GenContext::ProgramPipeline() + 18032
frame #2: 0x0000000108010a22 AppleIntelKBLGraphicsGLDriver`glrIntelRenderVertexArray + 412
frame #3: 0x00007fff3d4415e1 GLEngine`glDrawRangeElements_ACC_Exec + 448
frame #4: 0x00007fff3c808b31 libGL.dylib`glDrawRangeElements + 45
frame #5: 0x0000000101131d7e FlutterEmbedder`GrGLGpu::sendIndexedMeshToGpu(GrPrimitiveProcessor const&, GrPrimitiveType, GrBuffer const*, int, int, unsigned short, unsigned short, GrBuffer const*, int) + 254
frame #6: 0x0000000101131a28 FlutterEmbedder`GrMesh::sendToGpu(GrPrimitiveProcessor const&, GrMesh::SendToGpuImpl*) const + 248
frame #7: 0x0000000101131850 FlutterEmbedder`GrGLGpu::draw(GrPipeline const&, GrPrimitiveProcessor const&, GrMesh const*, GrPipeline::DynamicState const*, int) + 592
frame #8: 0x000000010105276d FlutterEmbedder`GrGpuRTCommandBuffer::draw(GrPipeline const&, GrPrimitiveProcessor const&, GrMesh const*, GrPipeline::DynamicState const*, int, SkRect const&) + 189
frame #9: 0x0000000101053d13 FlutterEmbedder`GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp(unsigned int, SkRect const&) + 115
frame #10: 0x0000000101070b00 FlutterEmbedder`GrRenderTargetOpList::onExecute(GrOpFlushState*) + 512
frame #11: 0x000000010104a947 FlutterEmbedder`GrDrawingManager::executeOpLists(int, int, GrOpFlushState*) + 567
frame #12: 0x000000010104a46b FlutterEmbedder`GrDrawingManager::internalFlush(GrSurfaceProxy*, GrResourceCache::FlushType, int, GrBackendSemaphore*) + 1755
frame #13: 0x000000010104aaa8 FlutterEmbedder`GrDrawingManager::prepareSurfaceForExternalIO(GrSurfaceProxy*, int, GrBackendSemaphore*) + 152
frame #14: 0x000000010106dcd7 FlutterEmbedder`GrRenderTargetContext::prepareForExternalIO(int, GrBackendSemaphore*) + 359
frame #15: 0x000000010143f0ed FlutterEmbedder`shell::GPUSurfaceGL::PresentSurface(SkCanvas*) + 493
frame #16: 0x0000000100e23f0a FlutterEmbedder`shell::SurfaceFrame::Submit() + 106
frame #17: 0x0000000100e13f4b FlutterEmbedder`shell::Rasterizer::DrawToSurface(flow::LayerTree&) + 203
frame #18: 0x0000000100e14256 FlutterEmbedder`shell::Rasterizer::DoDraw(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >) + 54
frame #19: 0x0000000100e14de7 FlutterEmbedder`std::__1::__function::__func<std::__1::__bind<void (shell::Rasterizer::*)(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >), shell::Rasterizer*, std::__1::placeholders::__ph<1> const&>, std::__1::allocator<std::__1::__bind<void (shell::Rasterizer::*)(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >), shell::Rasterizer*, std::__1::placeholders::__ph<1> const&> >, void (std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >)>::operator()(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >&&) + 71
frame #20: 0x0000000100e1444f FlutterEmbedder`flutter::Pipeline<flow::LayerTree>::Consume(std::__1::function<void (std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >)>) + 399
frame #21: 0x0000000100e140aa FlutterEmbedder`shell::Rasterizer::Draw(fxl::RefPtr<flutter::Pipeline<flow::LayerTree> >) + 218
frame #22: 0x0000000100e222b6 FlutterEmbedder`std::__1::__function::__func<shell::Shell::OnAnimatorDraw(shell::Animator const&, fxl::RefPtr<flutter::Pipeline<flow::LayerTree> >)::$_22, std::__1::allocator<shell::Shell::OnAnimatorDraw(shell::Animator const&, fxl::RefPtr<flutter::Pipeline<flow::LayerTree> >)::$_22>, void ()>::operator()() + 70
frame #23: 0x0000000100d82843 FlutterEmbedder`fml::MessageLoopImpl::RunExpiredTasks() + 1587
frame #24: 0x0000000100d871cc FlutterEmbedder`fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 44
frame #25: 0x00007fff32eba064 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
frame #26: 0x00007fff32eb9cd7 CoreFoundation`__CFRunLoopDoTimer + 1095
frame #27: 0x00007fff32eb97da CoreFoundation`__CFRunLoopDoTimers + 346
frame #28: 0x00007fff32eb0dab CoreFoundation`__CFRunLoopRun + 2427
frame #29: 0x00007fff32eb01a3 CoreFoundation`CFRunLoopRunSpecific + 483
frame #30: 0x0000000100d8741d FlutterEmbedder`fml::MessageLoopDarwin::Run() + 93
frame #31: 0x0000000100d82ba5 FlutterEmbedder`fml::MessageLoopImpl::DoRun() + 53
frame #32: 0x0000000100d86999 FlutterEmbedder`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*) + 265
frame #33: 0x00000001027e6665 libsystem_pthread.dylib`_pthread_body + 340
frame #34: 0x00000001027e6511 libsystem_pthread.dylib`_pthread_start + 377
frame #35: 0x00000001027e5bfd libsystem_pthread.dylib`thread_start + 13
alardizabal, jbg, aler, jonahwilliams, radzish and 3 more
Metadata
Metadata
Assignees
Labels
a: desktopRunning on desktopRunning on desktopc: crashStack traces logged to the consoleStack traces logged to the consolecustomer: octopode: embedderUsers of the Embedder APIUsers of the Embedder APIengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-macBuilding on or for macOS specificallyBuilding on or for macOS specifically