-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
flutter/engine
#56925Labels
c: regressionIt was better in the past than it is nowIt was better in the past than it is nowe: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.found in release: 3.27Found to occur in 3.27Found to occur in 3.27has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamOwned by Engine team
Description
Steps to reproduce
- Android Studio > File > New > New Flutter Project... > Flutter > Next > Create > default Flutter Demo ("Normal counter app") created.
- In order to switch between pages, add 'Navigator.push()' to '_incrementCounter()'.
- Build and Run
- Android Emulator > Medium Phone API 35 > Click the plus button at the bottom of right side > Power Button Click (to screen off) > Power Button Click (to screen on)
- Actual results are shown
- After Navigator.push and screen off and on, then all texts are broken.
Expected results
Normal counter app with Navigator.push
Regardless of screen on/off, counter app's pushed page text should not be broken.
Actual results
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),
useMaterial3: true,
),
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++;
});
// -------------------------------------------------------------------------
// Below code is only one added to default Counter App example.
Navigator.push(context,
MaterialPageRoute(builder: (context) => Scaffold(
appBar: AppBar(title: Text('I am a title')),
body: Text('See both title and text are broken after screen off/on'),
),
),
);
// -------------------------------------------------------------------------
}
@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
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
Performing hot restart...
Syncing files to device sdk gphone64 arm64...
Restarted application in 737ms.
E/libEGL ( 4883): called unimplemented OpenGL ES API
D/EGL_emulation( 4883): app_time_stats: avg=115658.60ms min=115658.60ms max=115658.60ms count=1
E/libEGL ( 4883): called unimplemented OpenGL ES API
W/WindowOnBackDispatcher( 4883): OnBackInvokedCallback is not enabled for the application.
W/WindowOnBackDispatcher( 4883): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
D/EGL_emulation( 4883): app_time_stats: avg=1907.57ms min=188.85ms max=3626.29ms count=2
E/OpenGLRenderer( 4883): Unable to match the desired swap behavior.
E/libEGL ( 4883): called unimplemented OpenGL ES API
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
E/flutter ( 4883): [ERROR:flutter/impeller/entity/contents/text_contents.cc(233)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not find glyph position in the atlas.
Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.27.0-1.0.pre.678, on macOS 15.1.1 24B91 darwin-arm64, locale ko-KR)
• Flutter version 3.27.0-1.0.pre.678 on channel master at /Users/tester/development/src/flutter
• Upstream repository https://github.com/flutter/flutter
• Framework revision 0917d0da66 (2 hours ago), 2024-12-02 22:49:58 +0100
• Engine revision 05fdaa6edc
• Dart version 3.7.0 (build 3.7.0-205.0.dev)
• DevTools version 2.41.0
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/tester/Library/Android/sdk
• Platform android-35, build-tools 34.0.0
• 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.10+0-17.0.10b1087.21-11572160)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16B40
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.3)
• 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.10+0-17.0.10b1087.21-11572160)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 73.0.4
• Dart plugin version 231.8109.91
[✓] VS Code (version 1.95.3)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.103.20241202
[✓] Connected device (4 available)
• sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64 • Android 14 (API 34) (emulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 15.1.1 24B91 darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.1.1 24B91 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.86
[✓] Network resources
• All expected network resources are available.
• No issues found!Metadata
Metadata
Assignees
Labels
c: regressionIt was better in the past than it is nowIt was better in the past than it is nowe: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.found in release: 3.27Found to occur in 3.27Found to occur in 3.27has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamOwned by Engine team