Windows Flutter apps crash silently on some machines after 3.27.4
Steps to reproduce
Create a new Flutter app:
1-
flutter create test_app
Build the Windows executable:
2-
cd test_app
3-
flutter build windows
Run the generated executable on multiple Windows machines:
Machines with Flutter version 3.27.4 and below → app works normally.
Machines with Flutter 3.29.0 and above → app may crash immediately on some computers without showing a window or error.
Expected results
The app should open and display the counter UI on all machines, as it does on version 3.27.4 and below.
Actual results
On Flutter 3.29.4:
On some Windows machines, the app crashes silently on launch (nothing appears).
No error logs are shown.
This happens even with the default counter app generated by flutter create.
Code sample
Code sample
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple)),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(widget.title)),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text('You have pushed the button this many times:'),
Text('$_counter', style: Theme.of(context).textTheme.headlineMedium),
],
),
),
floatingActionButton: FloatingActionButton(onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add)),
);
}
}
Screenshots or Video
Video demonstration
Logs
Logs
I used Process Monitor (Procmon) to capture detailed logs on Windows during app launch. The logs show the differences in behavior between Flutter 3.27.4 (working) and 3.29.0+ (failing on some machines). I've attached the .PML files to help with further analysis.Flutter 3.27.4 (working):
Flutter 3.29.3 (crashing on some machines):
Flutter Doctor output
Doctor output
❯ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.3, on Microsoft Windows [versÆo 10.0.26100.4061], locale pt-BR)
[✓] Windows Version (Windows 11 or higher, 24H2, 2009)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
[✓] Chrome - develop for the web
[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.13.5)
[✓] Android Studio (version 2024.3)
[✓] VS Code (version 1.100.2)
[✓] Connected device (3 available)
[✓] Network resources
• No issues found!
[3_27_4.zip](https://github.com/user-attachments/files/20358327/3_27_4.zip)
[3_29_3.zip](https://github.com/user-attachments/files/20358328/3_29_3.zip)
Same , 3.32 also crashing
Hi @krll-kov, @eduardohr-muniz, can we get some details about the devices that you are experiencing the crashes on?
- What graphics card are they using?
- Does the crash reproduce with flutter run -d windows? Or does it only occur when the app is built for release?
So the computers are from the company's clients. So I don't have an environment with Flutter and Dart installed on their machines to test: flutter run -d windows
What I can tell you is that both the build with --release or --debug don't work.
We have a significant percentage of clients with the same problem, which prevents us from updating Flutter to 3.29.0 or higher.
Nome do Dispositivo DESKTOP-D1TMT6L Processador Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz 3.20 GHz RAM instalada 4,00 GB (utilizável: 3,87 GB) Placa de vídeo Intel(R) HD Graphics (64 MB) ID do dispositivo 63E64EF3-361D-4E33-8D08-AA741288575D ID do Produto 00327-60000-00000-AA263 Tipo de sistema Sistema operacional de 64 bits, processador baseado em x64 Caneta e toque Nenhuma entrada à caneta ou por toque disponível para este vídeo Edição Windows 10 Home Single Language Versão 2009 Instalado em 01/04/2025 Build SO 19045.5854
Device Name DESKTOP-D1TMT6L Processor Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz 3.20 GHz Installed RAM 4.00 GB (useable: 3.87 GB) Graphics card Intel(R) HD Graphics (64MB) Device ID 63E64EF3-361D-4E33-8D08-AA741288575D Product ID 00327-60000-00000-AA263 Type of system 64-bit operating system, x64-based processor Pen and touch No pen or touch input available for this video Edition Windows 10 Home Single Language Version 2009 Installed in 04/01/2025 Build OS 19045.5854
I have the same problem here.
I have the same problem 3.32 here, I thought the problem was on the client's machine, after viewing the issue I downgraded to 3.27.4 and it actually worked
Hi @krll-kov, @eduardohr-muniz, can we get some details about the devices that you are experiencing the crashes on?
- What graphics card are they using?
- Does the crash reproduce with flutter run -d windows? Or does it only occur when the app is built for release?
Same as @eduardohr-muniz , this is not my pc, but one of the app users, so i can not install flutter there to check that, but here are system details
GPU is Geforce 9400gt
Hi all, can you check if running a dart hello world app works as expected on the devices in question? This seems related to https://github.com/flutter/flutter/issues/165272
Looking at Procmon recording - there is a CreateProcess starting WerFault.exe at the very end of the recording. This looks indeed like crash. WER should be able to generate a minidump for you to look at so that we could narrow it down. Could you ask your users to configure WER to collect crash dumps for you? You can see details here. DumpType should be at least 1. Once you have the dump take a look at it in WinDBG and get some details (for current thread kb, for all threads ~*kb, finally !analyze -v). That should give some info.
@danagbemava-nc i tried to build .exe of Dart project and it launches without crash
(compiled with dart compile exe bin/main.dart -o hello_world.exe on my pc, then moved to users' pc )
import 'dart:io';
import 'package:hello_world/hello_world.dart' as hello_world;
void main(List<String> arguments) {
print('Hello world: ${hello_world.calculate()}!');
// Keep window open
print('Press Enter to exit...');
stdin.readLineSync();
}
name: hello_world
description: A sample command-line application.
version: 1.0.0
# repository: https://github.com/my_org/my_repo
environment:
sdk: ^3.8.0
# Add regular dependencies here.
dependencies:
# path: ^1.8.0
dev_dependencies:
lints: ^5.0.0
test: ^1.24.0
@mraleph
Here is dump
************* Preparing the environment for Debugger Extensions Gallery repositories **************
ExtensionRepository : Implicit
UseExperimentalFeatureForNugetShare : true
AllowNugetExeUpdate : true
NonInteractiveNuget : true
AllowNugetMSCredentialProviderInstall : true
AllowParallelInitializationOfLocalRepositories : true
EnableRedirectToChakraJsProvider : false
-- Configuring repositories
----> Repository : LocalInstalled, Enabled: true
----> Repository : UserExtensions, Enabled: true
>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds
************* Waiting for Debugger Extensions Gallery to Initialize **************
>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.265 seconds
----> Repository : UserExtensions, Enabled: true, Packages count: 0
----> Repository : LocalInstalled, Enabled: true, Packages count: 44
Microsoft (R) Windows Debugger Version 10.0.27829.1001 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\user\AppData\Local\CrashDumps\test_project.exe.7328.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: srv*
Executable search path is:
Windows 10 Version 19045 MP (2 procs) Free x64
Product: WinNt, suite: SingleUserTS
Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
Debug session time: Mon May 26 22:07:52.000 2025 (UTC + 3:00)
System Uptime: not available
Process Uptime: 0 days 0:00:02.000
..............................................................
Loading unloaded module list
..
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr
(1ca0.216c): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v
ntdll!NtWaitForMultipleObjects+0x14:
00007ff8`c16ce044 c3 ret
0:003> .sympath srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Symbol search path is: srv*c:\symbols*https://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\symbols*https://msdl.microsoft.com/download/symbols
************* Path validation summary **************
Response Time (ms) Location
Deferred srv*c:\symbols*https://msdl.microsoft.com/download/symbols
0:003> .reload
..............................................................
Loading unloaded module list
..
0:003> kb
# RetAddr : Args to Child : Call Site
00 00007ff8`bf41baf0 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!NtWaitForMultipleObjects+0x14
01 00007ff8`bf41b9ee : 00000000`000004a0 00000000`00000096 00000000`d000022d 00000000`d000022d : KERNELBASE!WaitForMultipleObjectsEx+0xf0
02 00007ff8`c0c61f5a : 00000000`00000000 00000000`00000001 00000054`b6afda00 00000000`00000096 : KERNELBASE!WaitForMultipleObjects+0xe
03 00007ff8`c0c61996 : 00000000`00000000 00000000`00000000 00000000`00000003 ffffffff`ffffffff : kernel32!WerpReportFaultInternal+0x58a
04 00007ff8`bf4ec659 : 00000000`00000000 00000054`b6affb10 00007ff8`c0bf0000 00000000`00000000 : kernel32!WerpReportFault+0xbe
05 00007ff8`c16d5818 : 00000054`b6afdab0 00007ff8`c1776e8c 00000000`00000000 00000054`b6afda48 : KERNELBASE!UnhandledExceptionFilter+0x3d9
06 00007ff8`c16bce46 : 00007ff8`c17a473c 00007ff8`c1630000 00000054`b6afdab0 00007ff8`c1660e7b : ntdll!RtlUserThreadStart$filt$0+0xa2
07 00007ff8`c16d28bf : 00000000`00000000 00000054`b6afdfb0 00000054`b6afe670 00000000`00000000 : ntdll!_C_specific_handler+0x96
08 00007ff8`c1682554 : 00000000`00000000 00000054`b6afdfb0 00000054`b6afe670 00000000`00000000 : ntdll!RtlpExecuteHandlerForException+0xf
09 00007ff8`c16d13ce : 00000000`00000000 00000000`00000000 00000000`00000000 0f0f0f0f`0f0f0f0f : ntdll!RtlDispatchException+0x244
0a 00000000`00000000 : 00007ff8`7bf94f65 00000174`b0460000 00000054`b6afe979 00000000`00000001 : ntdll!KiUserExceptionDispatch+0x2e
0:003> ~*kb
0 Id: 1ca0.22d4 Suspend: 1 Teb: 00000054`b646a000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c0a7210e : 00000000`00000001 00000000`00000000 00000000`00000000 00007ff7`00000001 : win32u!NtUserGetMessage+0x14
*** WARNING: Unable to verify checksum for test_project.exe
01 00007ff7`60a8233c : 00000000`00000000 00000000`00000001 00000000`00000000 00000000`00000000 : user32!GetMessageW+0x2e
02 00007ff7`60a85c02 : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`00000000 : test_project+0x233c
03 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : test_project+0x5c02
04 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
05 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
1 Id: 1ca0.1e90 Suspend: 1 Teb: 00000054`b646e000 Unfrozen "DManip Delegate Thread"
# RetAddr : Args to Child : Call Site
00 00007ff8`c0a70c8e : 00000174`b3b408e0 00000000`00000000 00000000`00000000 00000000`00000001 : win32u!NtUserMsgWaitForMultipleObjectsEx+0x14
01 00007ff8`b30e459b : 00000000`00000000 00000000`00000001 00000000`00000000 00000000`00000000 : user32!RealMsgWaitForMultipleObjectsEx+0x1e
02 00007ff8`b30e4426 : 00000174`00000000 00000000`00000000 00007ff8`00000001 00000000`00000000 : directmanipulation!CManagerImpl::_RunDelegateThread+0x133
03 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : directmanipulation!CManagerImpl::_DelegateThreadProc+0xba
04 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
05 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
2 Id: 1ca0.2058 Suspend: 1 Teb: 00000054`b6470000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`bf3e8a9e : 00000000`0000000f 00000000`00000000 00000000`00000018 00000000`00000000 : ntdll!NtWaitForSingleObject+0x14
*** WARNING: Unable to verify checksum for flutter_windows.dll
01 00007ff8`7bfdf6b7 : 00000054`b68ffb18 00000174`b3926c08 00000002`00000000 00000000`00000324 : KERNELBASE!WaitForSingleObjectEx+0x8e
02 00007ff8`7bfd610f : 00000054`b68ffca0 00000054`b63cd840 0000e32b`8954638b 00000174`b393e750 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x399db
03 00007ff8`7bfda83c : 00000174`b3944570 00000000`00000001 00000000`00000000 00007ff8`bf436815 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x30433
04 00007ff8`7bfda648 : 00000000`00080001 00000174`b394ff60 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x34b60
05 00007ff8`7cd5f422 : 00000174`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x3496c
06 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
07 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
08 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
# 3 Id: 1ca0.216c Suspend: 0 Teb: 00000054`b6472000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`bf41baf0 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!NtWaitForMultipleObjects+0x14
01 00007ff8`bf41b9ee : 00000000`000004a0 00000000`00000096 00000000`d000022d 00000000`d000022d : KERNELBASE!WaitForMultipleObjectsEx+0xf0
02 00007ff8`c0c61f5a : 00000000`00000000 00000000`00000001 00000054`b6afda00 00000000`00000096 : KERNELBASE!WaitForMultipleObjects+0xe
03 00007ff8`c0c61996 : 00000000`00000000 00000000`00000000 00000000`00000003 ffffffff`ffffffff : kernel32!WerpReportFaultInternal+0x58a
04 00007ff8`bf4ec659 : 00000000`00000000 00000054`b6affb10 00007ff8`c0bf0000 00000000`00000000 : kernel32!WerpReportFault+0xbe
05 00007ff8`c16d5818 : 00000054`b6afdab0 00007ff8`c1776e8c 00000000`00000000 00000054`b6afda48 : KERNELBASE!UnhandledExceptionFilter+0x3d9
06 00007ff8`c16bce46 : 00007ff8`c17a473c 00007ff8`c1630000 00000054`b6afdab0 00007ff8`c1660e7b : ntdll!RtlUserThreadStart$filt$0+0xa2
07 00007ff8`c16d28bf : 00000000`00000000 00000054`b6afdfb0 00000054`b6afe670 00000000`00000000 : ntdll!_C_specific_handler+0x96
08 00007ff8`c1682554 : 00000000`00000000 00000054`b6afdfb0 00000054`b6afe670 00000000`00000000 : ntdll!RtlpExecuteHandlerForException+0xf
09 00007ff8`c16d13ce : 00000000`00000000 00000000`00000000 00000000`00000000 0f0f0f0f`0f0f0f0f : ntdll!RtlDispatchException+0x244
0a 00000000`00000000 : 00007ff8`7bf94f65 00000174`b0460000 00000054`b6afe979 00000000`00000001 : ntdll!KiUserExceptionDispatch+0x2e
4 Id: 1ca0.ac0 Suspend: 1 Teb: 00000054`b6474000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`bf3e8a9e : 00000000`0000000f 00000000`00000000 00000000`00000018 00000000`00000000 : ntdll!NtWaitForSingleObject+0x14
01 00007ff8`7bfdf6b7 : 00000054`b6cff968 00000174`b3928048 00000002`00000000 00000000`00000334 : KERNELBASE!WaitForSingleObjectEx+0x8e
02 00007ff8`7bfd610f : 00000054`b6cffaf0 00000054`b63cd840 0000e32b`8914613b 00000174`b393eed0 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x399db
03 00007ff8`7bfda83c : 00000174`b39445d0 00000000`ffffffff 00000000`00000000 00007ff8`bf41801b : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x30433
04 00007ff8`7bfda648 : 00000000`00000000 00000174`b3959ef0 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x34b60
05 00007ff8`7cd5f422 : 00000174`b39445d0 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x3496c
06 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
07 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
08 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
5 Id: 1ca0.34c0 Suspend: 1 Teb: 00000054`b6476000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c16955f1 : 00000174`b3a8fce0 00000174`b38d4570 00000174`b03f0000 00000054`b6dff960 : ntdll!NtWaitForAlertByThreadId+0x14
01 00007ff8`bf42b2a9 : 00000174`b38d44a0 00000174`b38d4498 00000174`b38d44e8 00000054`b6dff960 : ntdll!RtlSleepConditionVariableSRW+0x131
02 00007ff8`7cd26809 : 00000174`00000000 00000000`00000000 00000000`00000000 00007ff8`7c7af98a : KERNELBASE!SleepConditionVariableSRW+0x29
03 00007ff8`7cd269b2 : 0000e32b`8904601b 00000174`b38d4460 00000174`b3a8fd20 00000174`b38d4570 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6210fd
04 00007ff8`7bfcd92f : 00000174`b38d44e8 00000174`b38d4460 00000174`b38d44e8 00000174`b38d4460 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6212a6
05 00007ff8`7bfce1c3 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x27c53
06 00007ff8`7cd5f422 : 00000174`b3945530 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x284e7
07 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
08 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
09 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
6 Id: 1ca0.650 Suspend: 1 Teb: 00000054`b6478000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c16955f1 : 00000174`b3a8f650 00000174`b38d4570 00000174`b03f0000 00000054`b6effbc0 : ntdll!NtWaitForAlertByThreadId+0x14
01 00007ff8`bf42b2a9 : 00000174`b38d44a0 00000174`b38d4498 00000174`b38d44e8 00000054`b6effbc0 : ntdll!RtlSleepConditionVariableSRW+0x131
02 00007ff8`7cd26809 : 00000174`00000000 00000000`00000000 00000000`00000000 00007ff8`7c7af98a : KERNELBASE!SleepConditionVariableSRW+0x29
03 00007ff8`7cd269b2 : 0000e32b`893463bb 00000174`b38d4460 00000174`b3a8f690 00000174`b38d4570 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6210fd
04 00007ff8`7bfcd92f : 00000174`b38d44e8 00000174`b38d4460 00000174`b38d44e8 00000174`b38d4460 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6212a6
05 00007ff8`7bfce1c3 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x27c53
06 00007ff8`7cd5f422 : 00000174`b3945aa0 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x284e7
07 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
08 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
09 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
7 Id: 1ca0.3af4 Suspend: 1 Teb: 00000054`b647a000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`bf41e2ff : ffffffff`ffffffff 00000000`00000000 00000000`00000000 00007ff8`7c6c6d0c : ntdll!NtRemoveIoCompletion+0x14
01 00007ff8`7c6c7336 : 00000054`b6fffc24 00000000`00000000 00000000`00000000 00000000`00000000 : KERNELBASE!GetQueuedCompletionStatus+0x4f
02 00007ff8`7c6e4b5f : 00000000`00000000 00007ff8`00000000 00000000`00000000 00000174`b396eec0 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x72165a
03 00007ff8`7cd5f422 : 00000174`b3945920 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x73ee83
04 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
05 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
06 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
8 Id: 1ca0.27c8 Suspend: 1 Teb: 00000054`b647c000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c167d407 : 00000000`00000000 00000000`00000000 00000174`b38b3120 00000000`00000000 : ntdll!NtWaitForWorkViaWorkerFactory+0x14
01 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!TppWorkerThread+0x2f7
02 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
03 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
9 Id: 1ca0.2948 Suspend: 1 Teb: 00000054`b647e000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c16955f1 : 0000e32b`88c460db 00000174`b04c77e0 00000000`00000001 00007ff8`7d13fbe4 : ntdll!NtWaitForAlertByThreadId+0x14
01 00007ff8`bf42b2a9 : 00000174`b04c7798 00000174`b04c7790 00000174`b04c77e0 00000000`00000000 : ntdll!RtlSleepConditionVariableSRW+0x131
02 00007ff8`7cd26809 : 00000054`00000000 00000174`b04c7828 00000174`b48ddfd0 00007ff8`7cc30307 : KERNELBASE!SleepConditionVariableSRW+0x29
03 00007ff8`7cd269b2 : 0000e32b`88c4627b 00000174`b48ddfd8 00000054`b71ffb50 00000174`b04c7828 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6210fd
04 00007ff8`7cc306c8 : 00000174`b04c77e0 00000174`b04c7780 00000174`b04c77e0 00000174`b04c7780 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6212a6
05 00007ff8`7c879511 : 00000000`00000000 00000174`b49c9350 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x52afbc
06 00007ff8`7cd5f422 : 00000174`b49d11f0 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x173e05
07 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
08 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
09 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
10 Id: 1ca0.a40 Suspend: 1 Teb: 00000054`b6480000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`c16955f1 : 0000e32b`88f46cfb 00000174`b04c77e0 00000000`00000001 00007ff8`7d13fbe4 : ntdll!NtWaitForAlertByThreadId+0x14
01 00007ff8`bf42b2a9 : 00000174`b04c7798 00000174`b04c7790 00000174`b04c77e0 00000000`00000000 : ntdll!RtlSleepConditionVariableSRW+0x131
02 00007ff8`7cd26809 : 00000054`00000000 00000174`b04c7828 00000174`b48dd850 00007ff8`7cc30307 : KERNELBASE!SleepConditionVariableSRW+0x29
03 00007ff8`7cd269b2 : 0000e32b`88f46e7b 00000174`b48dd858 00000054`b72ff750 00000174`b04c7828 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6210fd
04 00007ff8`7cc306c8 : 00000174`b04c77e0 00000174`b04c7780 00000174`b04c77e0 00000174`b04c7780 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x6212a6
05 00007ff8`7c879511 : 00000000`00000000 00000174`b49dece0 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x52afbc
06 00007ff8`7cd5f422 : 00000174`b49d12b0 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x173e05
07 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
08 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
09 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
11 Id: 1ca0.3678 Suspend: 1 Teb: 00000054`b6482000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00007ff8`bf3e8a9e : 00000174`b4a21de0 00000174`b4a27a70 00000174`b0523bf0 00000000`00000000 : ntdll!NtWaitForSingleObject+0x14
01 00007ff8`b6b17b3f : 00000000`00000000 00000174`b4a27a70 00000000`00000000 00000000`00000480 : KERNELBASE!WaitForSingleObjectEx+0x8e
02 00007ff8`b6b17a3f : 00000000`00000000 00000000`00000000 00000174`b4a27a70 00000000`00000000 : nvwgf2umx!OpenAdapter10+0x16dc1f
03 00007ff8`b743ff1f : 00000174`b4a27a70 00000000`00000000 00000174`b4a27a70 00000174`b4a27a70 : nvwgf2umx!OpenAdapter10+0x16db1f
04 00007ff8`b74400c6 : 00007ff8`b75f2730 00000000`00000000 00000000`00000000 00000000`00000000 : nvwgf2umx!NVAPI_Thunk+0x927faf
05 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nvwgf2umx!NVAPI_Thunk+0x928156
06 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
07 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
12 Id: 1ca0.2870 Suspend: 1 Teb: 00000054`b6484000 Unfrozen
# RetAddr : Args to Child : Call Site
00 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart
0:003> !analyze -v
..............................................................
Loading unloaded module list
..
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for flutter_windows.dll
KEY_VALUES_STRING: 1
Key : AV.Type
Value: Execute
Key : Analysis.CPU.mSec
Value: 1031
Key : Analysis.Elapsed.mSec
Value: 8172
Key : Analysis.IO.Other.Mb
Value: 13
Key : Analysis.IO.Read.Mb
Value: 1
Key : Analysis.IO.Write.Mb
Value: 58
Key : Analysis.Init.CPU.mSec
Value: 2578
Key : Analysis.Init.Elapsed.mSec
Value: 128907
Key : Analysis.Memory.CommitPeak.Mb
Value: 110
Key : Analysis.Version.DbgEng
Value: 10.0.27829.1001
Key : Analysis.Version.Description
Value: 10.2503.24.01 amd64fre
Key : Analysis.Version.Ext
Value: 1.2503.24.1
Key : Failure.Bucket
Value: SOFTWARE_NX_FAULT_NULL_INVALID_POINTER_EXECUTE_c0000005_flutter_windows.dll!Unknown
Key : Failure.Exception.Code
Value: 0xc0000005
Key : Failure.Hash
Value: {ddf3e4d8-8e57-356d-18e2-34bb8b0191c4}
Key : Failure.ProblemClass.Primary
Value: SOFTWARE_NX_FAULT
Key : Faulting.IP.Type
Value: Null
Key : Timeline.Process.Start.DeltaSec
Value: 2
Key : WER.OS.Branch
Value: vb_release
Key : WER.OS.Version
Value: 10.0.19041.1
Key : WER.Process.Version
Value: 1.0.0.1
FILE_IN_CAB: test_project.exe.7328.dmp
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
CONTEXT: (.ecxr)
rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000000 rsi=00000174b049a990 rdi=00000174b04b8b70
rip=0000000000000000 rsp=00000054b6afe8a8 rbp=0000000000000001
r8=00000000000004f0 r9=00000000000002a9 r10=0000000000000002
r11=0000000000000000 r12=00000174b49c75f8 r13=00000174b4b10078
r14=00000174b38eb330 r15=00000174b49c75f0
iopl=0 nv up ei pl zr na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
00000000`00000000 ?? ???
Resetting default scope
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 0000000000000000
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000008
Parameter[1]: 0000000000000000
Attempt to execute non-executable address 0000000000000000
PROCESS_NAME: test_project.exe
EXECUTE_ADDRESS: 0
ERROR_CODE: (NTSTATUS) 0xc0000005 - 0x%p 0x%p. %s.
EXCEPTION_CODE_STR: c0000005
EXCEPTION_PARAMETER1: 0000000000000008
EXCEPTION_PARAMETER2: 0000000000000000
STACK_TEXT:
00000054`b6afe8a8 00007ff8`7bf94f65 : 00000174`b0460000 00000054`b6afe979 00000000`00000001 00007ff8`c165b3c7 : 0x0
00000054`b6afe8b0 00007ff8`7bfa9b81 : 00000000`00000000 00000054`b6afed18 00000174`b4b1aa20 00000174`b0476328 : flutter_windows!FlutterDesktopEngineRegisterPlatformViewType+0x3605
00000054`b6afe960 00007ff8`7c05ccaf : 00000054`b6afec50 00000000`00000001 00000174`b4b10078 00007ff8`7cd86d30 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x3ea5
00000054`b6afe9c0 00007ff8`7c069749 : 00000174`b395eb48 00000174`b395ead0 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0xb6fd3
00000054`b6afea40 00007ff8`7c066899 : 00000174`b3a90050 00000174`00000000 00000000`b3a8ed00 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0xc3a6d
00000054`b6afeae0 00007ff8`7c6607ef : 00000174`b0489940 00007ff8`c16547b1 00000054`b6afef40 00000174`b0460000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0xc0bbd
00000054`b6afedf0 00007ff8`7c65fe30 : 0000007f`00000017 00000017`0000007f 0000007f`0000007f 0000001f`00000017 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6bab13
00000054`b6aff020 00007ff8`7c65e4a0 : 00000000`00000007 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6ba154
00000054`b6aff1a0 00007ff8`7c65f327 : 00000000`00000000 00000174`b38e04a0 00000054`b6aff510 00007ff8`7c9470e7 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6b87c4
00000054`b6aff340 00007ff8`7c6621f3 : 00000000`00000000 00000174`b03f0000 000095ff`f1badbf5 00007ff8`7c7b06a5 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6b964b
00000054`b6aff450 00007ff8`7c6624b0 : 00000000`00000000 00007ff8`7cd26657 0000e32b`89746c7b 00000054`b6aff6d8 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6bc517
00000054`b6aff4e0 00007ff8`7c65ebde : 00000174`b03f0000 00000000`00000000 00000054`b6aff6d8 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6bc7d4
00000054`b6aff520 00007ff8`7c65e814 : 00000000`00000004 00000000`00000002 00000174`b0460000 00000054`b6aff669 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6b8f02
00000054`b6aff590 00007ff8`7c674ba3 : 00000054`b6aff820 00007ff8`7bfa8ce4 00000174`b3a46710 0000e32b`89746f8b : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6b8b38
00000054`b6aff760 00007ff8`7bfd61f8 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x6ceec7
00000054`b6aff7b0 00007ff8`7bfdf6e6 : 00000054`b6aff8c8 00000174`b3928288 00000002`00000000 00000000`00000310 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x3051c
00000054`b6aff8a0 00007ff8`7bfd610f : 00000054`b6affa50 00000054`b63cd840 0000e32b`8974605b 00000174`b393f310 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x39a0a
00000054`b6affa00 00007ff8`7bfda83c : 00000174`b3944db0 00000000`00000001 00000000`00000000 00007ff8`bf41801b : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x30433
00000054`b6affa30 00007ff8`7bfda648 : 00000000`00000000 00000174`b3956010 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x34b60
00000054`b6affa80 00007ff8`7cd5f422 : 00000174`b3944db0 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable+0x3496c
00000054`b6affab0 00007ff8`c0c07374 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : flutter_windows!InternalFlutterGpu_Texture_AsImage+0x659d16
00000054`b6affae0 00007ff8`c167cc91 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
00000054`b6affb10 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
STACK_COMMAND: ~3s; .ecxr ; kb
SYMBOL_NAME: flutter_windows+4f65
MODULE_NAME: flutter_windows
IMAGE_NAME: flutter_windows.dll
FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_NULL_INVALID_POINTER_EXECUTE_c0000005_flutter_windows.dll!Unknown
OS_VERSION: 10.0.19041.1
BUILDLAB_STR: vb_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {ddf3e4d8-8e57-356d-18e2-34bb8b0191c4}
Followup: MachineOwner
---------
I also decided to install VisualStudio to users machine to get more informative crash info, here are some extra logs:
Full crash dump file (170mb): https://drive.google.com/file/d/1gBmODKnCCUNoP40LS3SOh-XE_2Oi2Q0K/view?usp=sharing
[Внедренный фрейм] flutter_windows.dll!impeller::GLProc<void (int, int, int, int, int, int, int, int, unsigned int, unsigned int)>::operator()(int && args, int && args, double & args, double & args, int && args, int && args, double & args, double & args, int && args, int && args) Строка 125 C++
flutter_windows.dll!flutter::CompositorOpenGL::Present(flutter::FlutterWindowsView * view, const FlutterLayer * * layers, unsigned __int64 layers_count) Строка 175 C++
flutter_windows.dll!flutter::FlutterWindowsEngine::Present(const FlutterPresentViewInfo * info) Строка 1085 C++
[Внешний код]
[Внедренный фрейм] flutter_windows.dll!std::_Func_class<bool,long long,const std::vector<const FlutterLayer *,std::allocator<const FlutterLayer *>> &>::operator()(__int64 _Args, const std::vector<const FlutterLayer *,std::allocator<const FlutterLayer *>> & _Args) Строка 874 C++
flutter_windows.dll!flutter::EmbedderLayers::InvokePresentCallback(__int64 view_id, const std::function<bool (long long, const std::vector<const FlutterLayer *,std::allocator<const FlutterLayer *>> &)> & callback) Строка 251 C++
flutter_windows.dll!flutter::EmbedderExternalViewEmbedder::SubmitFlutterView(__int64 flutter_view_id, GrDirectContext * context, const std::shared_ptr<impeller::AiksContext> & aiks_context, std::unique_ptr<flutter::SurfaceFrame,std::default_delete<flutter::SurfaceFrame>> frame) Строка 508 C++
flutter_windows.dll!flutter::Rasterizer::DrawToSurfaceUnsafe(__int64 view_id, flutter::LayerTree & layer_tree, float device_pixel_ratio, std::optional<fml::TimePoint> presentation_time) Строка 793 C++
flutter_windows.dll!flutter::Rasterizer::DrawToSurfacesUnsafe(flutter::FrameTimingsRecorder & frame_timings_recorder, std::vector<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>,std::allocator<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>>> tasks) Строка 660 C++
flutter_windows.dll!flutter::Rasterizer::DrawToSurfaces(flutter::FrameTimingsRecorder & frame_timings_recorder, std::vector<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>,std::allocator<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>>> tasks) Строка 588 C++
flutter_windows.dll!flutter::Rasterizer::DoDraw(std::unique_ptr<flutter::FrameTimingsRecorder,std::default_delete<flutter::FrameTimingsRecorder>> frame_timings_recorder, std::vector<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>,std::allocator<std::unique_ptr<flutter::LayerTreeTask,std::default_delete<flutter::LayerTreeTask>>>> tasks) Строка 496 C++
[Внешний код]
flutter_windows.dll!flutter::Pipeline<flutter::FrameItem>::Consume(const std::function<void (std::unique_ptr<flutter::FrameItem,std::default_delete<flutter::FrameItem>>)> & consumer) Строка 205 C++
flutter_windows.dll!flutter::Rasterizer::Draw(const std::shared_ptr<flutter::Pipeline<flutter::FrameItem>> & pipeline) Строка 264 C++
[Внешний код]
[Внедренный фрейм] flutter_windows.dll!std::_Func_class<void>::operator()() Строка 874 C++
flutter_windows.dll!fml::MessageLoopImpl::FlushTasks(fml::FlushType type) Строка 127 C++
flutter_windows.dll!fml::MessageLoopWin::Run() Строка 39 C++
flutter_windows.dll!fml::MessageLoopImpl::DoRun() Строка 94 C++
[Внешний код]
[Внедренный фрейм] flutter_windows.dll!std::_Func_class<void>::operator()() Строка 874 C++
> [Внедренный фрейм] flutter_windows.dll!fml::ThreadHandle::ThreadHandle::<lambda_1>::operator()(void * arg) Строка 51 C++
flutter_windows.dll!fml::ThreadHandle::ThreadHandle::<lambda_1>::__invoke(void * arg) Строка 48 C++
flutter_windows.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Строка 97 C++
[Внешний код]
And last logs lead to thread.cc which is for some reason empty in my filles
You can make sure that these are default projects without any packages and modifications, attaching project files:
Labeling this based on the crash report shared above. Seems related to https://github.com/flutter/flutter/issues/165272
The code here calls glBlitFramebuffer without checking if it is available (it is in GLES 3.0, but not in GLES 2.0). Seems like an oversight.
cc @loic-sharma who wrote this code (specifically https://github.com/flutter/engine/commit/9525c1a1b1a3a774bb656f890301d6acd3ee60a0)
Thanks for debugging through this!
From ANGLE's docs, I had assumed ANGLE offered complete support for GLES 3.0 on Windows 10+ machines since they support Direct3D 11. It looks like that was an incorrect assumption.
Some options:
- Update the Windows embedder to not blit at all: https://github.com/flutter/flutter/issues/146013
- If
glBlitFramebufferisn't available, try to fall back toANGLE_framebuffer_blit. If that's also unavailable, fall back to the software rasterizer. - Ask the Impeller team to reconsider implementing blit emulation for GLES 2.0: https://github.com/flutter/flutter/issues/157064. I suspect this isn't viable.
Option 1 is the best long-term fix but option 2 might be an easier short-term fix.
Thanks for debugging through this!
From ANGLE's docs, I had assumed ANGLE offered complete support for GLES 3.0 on Windows 10+ machines since they support Direct3D 11. It looks like that was an incorrect assumption.
Some options:
- Update the Windows embedder to not blit at all: [Windows] Improve performance by removing intermediary texture & blit #146013
- If
EXT_framebuffer_blitisn't available, try to fall back toANGLE_framebuffer_blit. If that's also unavailable, fall back to the software rasterizer.- Ask the Impeller team to reconsider implementing blit emulation for GLES 2.0: [Impeller] Emulate glBlitFramebuffer using shaders for drivers that don't support GLES 3. #157064. I suspect this isn't viable.
Option 1 is the best long-term fix but option 2 might be an easier short-term fix.
First option seems to be marked as p3, we'll wait for years to be able to use stable releases again (if new bugs do not appear). Some quick fix is definitely needed so that users do not have to stay on old sdk version
my customers also facing same issue with latest flutter stable
Hm, Flutter 3.27.4 (which folks above stated works as expected) also uses a blit. Flutter 3.27.4 and 3.29.0 are using the same ANGLE version (1, 2), so this isn't a regression in ANGLE.
I suspect a change in Impeller's GLES proc table might have introduced this crash. In 3.29.0, we updated Impeller to only load GLES 3.0 procs if we detect GL 3.0 or higher: https://github.com/flutter/engine/pull/56636 (3.27.4 logic, 3.29.0 logic). I suspect our GL version detection logic is incorrect on affected machines.
Hm, Flutter 3.27.4 (which folks above stated works as expected) also uses a blit. Flutter 3.27.4 and 3.29.0 are using the same ANGLE version (1, 2), so this isn't a regression in ANGLE.
I suspect a change in Impeller's GLES proc table might have introduced this crash. In 3.29.0, we updated Impeller to only load GLES 3.0 procs if we detect GL 3.0 or higher: flutter/engine#56636 (3.27.4 logic, 3.29.0 logic). I suspect our GL version logic is incorrect on affected machines.
Not sure about 3.27.4, my latest working sdk was 3.24.5 after upgrade to 3.29/3.32 users faced crashes . Unfortunately, due to this happening on users machine, I can not test 3.27.4
Hello, could someone that can reproduce this crash run this app HelloTriangle.zip from the command line on an affected machine and share the command line output? The output should look something like:
App source code...
The app is ANGLE's "hello triangle" sample app, updated to dump the GL_VERSION string.
diff --git a/samples/hello_triangle/HelloTriangle.cpp b/samples/hello_triangle/HelloTriangle.cpp
index 8cc92f342c..4be214497e 100644
--- a/samples/hello_triangle/HelloTriangle.cpp
+++ b/samples/hello_triangle/HelloTriangle.cpp
@@ -15,12 +15,16 @@
#include "SampleApplication.h"
+#include <iostream>
+
#include "util/shader_utils.h"
class HelloTriangleSample : public SampleApplication
{
public:
- HelloTriangleSample(int argc, char **argv) : SampleApplication("HelloTriangle", argc, argv) {}
+ HelloTriangleSample(int argc, char **argv)
+ : SampleApplication("HelloTriangle", argc, argv, ClientType::ES3_0)
+ {}
bool initialize() override
{
@@ -51,6 +55,9 @@ void main()
void draw() override
{
+ const char* gl_version = reinterpret_cast<const char *>(glGetString(GL_VERSION));
+ std::cout << "GL_VERSION: '" << gl_version << "'" << std::endl;
+
GLfloat vertices[] = {
0.0f, 0.5f, 0.0f, -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f,
};
diff --git a/samples/sample_util/SampleApplication.cpp b/samples/sample_util/SampleApplication.cpp
index a3e4513bf3..b463d9f606 100644
--- a/samples/sample_util/SampleApplication.cpp
+++ b/samples/sample_util/SampleApplication.cpp
@@ -291,8 +291,8 @@ int SampleApplication::run()
if (mFrameCount % 100 == 0)
{
- printf("Rate: %0.2lf frames / second\n",
- static_cast<double>(mFrameCount) / mTimer.getElapsedWallClockTime());
+ //printf("Rate: %0.2lf frames / second\n",
+ // static_cast<double>(mFrameCount) / mTimer.getElapsedWallClockTime());
}
}
Also, could someone that can reproduce this crash try running this app CounterWithSpeculativeFix.zip on an affected machine?
If this app doesn't crash, it validates my theory above, and I'll merge the fix: https://github.com/flutter/flutter/pull/169900.
A person who I asked to help with previous log just told me that his PC died, so I hope other users from this issue will be able to test this.
@eduardohr-muniz @Gustavo-Murdiga88 @jhecksonSa @selvam920
I test it here, we bought the affected machine from the customer, it should arrive today
It didn't work here, I click and it doesn't open https://github.com/user-attachments/assets/f81483fd-5fc3-4529-af10-d52d88ee7933
It didn't work here, I click and it doesn't open https://github.com/user-attachments/assets/f81483fd-5fc3-4529-af10-d52d88ee7933
Did you also try this app? https://github.com/flutter/flutter/issues/169178#issuecomment-2932678427
It didn't work here, I click and it doesn't open https://github.com/user-attachments/assets/f81483fd-5fc3-4529-af10-d52d88ee7933
Did you also try this app? https://github.com/flutter/flutter/issues/169178#issuecomment-2932678427
I hadn't seen it, but I just tested it and it doesn't work either.
https://github.com/user-attachments/assets/937cf706-9103-4984-819a-c8530aa20e41
It didn't work here, I click and it doesn't open https://github.com/user-attachments/assets/f81483fd-5fc3-4529-af10-d52d88ee7933
Did you also try this app? #169178 (comment)
I hadn't seen it, but I just tested it and it doesn't work either.
VID-20250604-WA0054.mp4
Try opening it from cmd. It's a printing app so it closes after the print, you need to input it's path to cmd to see the output
run both through cmd
https://github.com/user-attachments/assets/8bd4321d-20a4-47f8-9d94-24988fe0954c
https://github.com/user-attachments/assets/60706069-a817-4153-8e15-d2b1317fc986
So I'm coming from #165272 as this issue got referenced there, not sure whether this is the same issue, but I got hands on the machine again. The speculative fix did not work for me, and the triangle example outputs the following for me:
eglCreateContext failed: 0x3009
Hm interesting. I still suspect our OpenGL version detection is incorrect. @eduardohr-muniz and @BanhmiDev could you try another test app on an affected machine?
-
Launch CounterWithPopup.zip on a machine where Flutter Windows is broken.
-
A popup should appear.
-
Press
Ctrl+Con the popup and paste the output here. It should be something like:--------------------------- OpenGL version --------------------------- 3.0.0 --------------------------- OK ---------------------------
Thanks everyone for the help!
The result of that for my machine is:
---------------------------
OpenGL version
---------------------------
2.0.0
---------------------------
OK
---------------------------
It worked here, I just couldn't press Ctrl+C because this PC doesn't have Bluetooth, my keyboards here are all Bluetooth. https://github.com/user-attachments/assets/901e6a36-37e4-4f04-91ef-5b376a12e14b