Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skia regression in v1.1.1 #25426

Closed
lykhonis opened this issue Dec 16, 2018 · 16 comments
Closed

Skia regression in v1.1.1 #25426

lykhonis opened this issue Dec 16, 2018 · 16 comments
Labels
c: regression It was better in the past than it is now dependency: skia Skia team may need to help us engine flutter/engine repository. See also e: labels. platform-ios iOS applications specifically waiting for PR to land (fixed) A fix is in flight

Comments

@lykhonis
Copy link
Contributor

lykhonis commented Dec 16, 2018

Overview

Issue is not reproducible on Android, iPhone simulators. It's not reproducible on v1.1.0 nor v1.0.0. A flutter version affected is v1.1.1 and detected when run on iPhone 6 device.

Issue was discovered when used Flare framework to render animations. Below are the assets that can be used for debugging the issue only.

Steps to Reproduce

  1. Create sample flutter app
  2. Replace main.dart with code below
  3. Place https://drive.google.com/file/d/1t4XKIZ7BaNA6IEKA2bLQBtng5iuQzTBQ/view?usp=sharing into ./assets/skia_bug.flr.
  4. Change pubspec.yaml to include flare_flutter and skia_bug.flr. For example:
# This is pubspec.yaml
name: i25426
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  flare_flutter:

flutter:

  uses-material-design: true

  assets:
  - assets/skia_bug.flr
  1. Launch on iPhone 6 (may be other iOS) device, not simulator.

main.dart

import 'package:flutter/material.dart';
import 'package:flare_flutter/flare_actor.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.white,
      constraints: const BoxConstraints.expand(),
      child: FlareActor(
        'assets/skia_bug.flr',
        animation: 'idle',
        alignment: Alignment.center,
        fit: BoxFit.contain,
      ),
    );
  }
}

Logs

https://gist.github.com/VolodymyrLykhonis/df95a0b70b90b11a3a4a17d04666d522

Volodymyrs-MacBook-Pro:skia_bug Vladimir$ flutter analyze
Analyzing skia_bug...                                            
No issues found! (ran in 1.1s)
Volodymyrs-MacBook-Pro:skia_bug Vladimir$ flutter doctor -v
[✓] Flutter (Channel unknown, v1.1.1, on Mac OS X 10.14.1 18B75, locale en-US)
    • Flutter version 1.1.1 at /Users/Vladimir/Projects/github.com/flutter
    • Framework revision 65df90d8b5 (4 days ago), 2018-12-11 19:29:13 -0800
    • Engine revision 25b58c0c67
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/Vladimir/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.2

[✓] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 23.1.3
    • Dart plugin version 181.4203.498

[✓] VS Code (version 1.30.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.21.1

[✓] Connected device (1 available)
    • Volodymyr’s iPhone • f6eace90c1db4e5f27bbe4ef3d8b9cf20338b0bd • ios • iOS 12.1

• No issues found!
@zoechi zoechi added c: regression It was better in the past than it is now platform-ios iOS applications specifically dependency: skia Skia team may need to help us labels Dec 16, 2018
@zoechi zoechi added this to the Goals milestone Dec 16, 2018
@eseidelGoogle
Copy link
Contributor

eseidelGoogle commented Dec 16, 2018

What's the issue? Is it drawing incorrectly, crashing? Maybe you stated it above and I'm just not reading carefully enough? :)

Thank you for filing!

@lykhonis
Copy link
Contributor Author

lykhonis commented Dec 16, 2018 via email

@eseidelGoogle
Copy link
Contributor

eseidelGoogle commented Dec 17, 2018

@chinmaygarde or @liyuqian or @cbracken would know where to start.

@zoechi zoechi added the engine flutter/engine repository. See also e: labels. label Dec 17, 2018
@liyuqian
Copy link
Contributor

The culprit is https://skia-review.googlesource.com/c/skia/+/172142 @bsalomon @jvanverth

To reproduce/debug the issue, please follow #25426 (comment) . You can set the flutter engine version to b8e7678, and skia version to 0711094b9150940e8c27b0d7b2c2ad85991a74db

@liyuqian
Copy link
Contributor

I'll mark this issue as TODAY since it looks quite bad... I'm also adding v1.1.1 to bad builds. @Hixie @cbracken

@jvanverth
Copy link

That change is causing similar issues in Android, so I reverted it and will revisit it in the New Year.

@liyuqian
Copy link
Contributor

Thank you Jim! This issue should be fixed once https://skia.googlesource.com/skia.git/+/1694a8604be7399a0b445c9b7814b9d40cc9de9a gets rolled into flutter/engine and flutter/flutter.

@liyuqian liyuqian added the waiting for PR to land (fixed) A fix is in flight label Dec 17, 2018
@mehmetf
Copy link
Contributor

mehmetf commented Dec 18, 2018

@liyuqian

Where are we with this issue?

@liyuqian
Copy link
Contributor

The Skia auto-roller still seems to be blocked on #25462 so the fix is not rolled in the engine yet. @cbracken and @rmistry may have more info about when the Skia auto-roller can resume.

@cbracken
Copy link
Member

The fix for #25462 landed yesterday; the auto-roller should be able to resume anytime.

@rmistry
Copy link

rmistry commented Dec 18, 2018

The autoroller is still not working. See this comment: #25462 (comment)

It is likely an issue with the roller setup, but I am not sure how to proceed.

@cbracken
Copy link
Member

cbracken commented Dec 18, 2018

Following up over chat; probably quicker. We can summarise the fix on #25462 when it's resolved, so future visitors aren't left hanging.

@mehmetf
Copy link
Contributor

mehmetf commented Dec 18, 2018

#25462 is closed. Status update please?

@liyuqian
Copy link
Contributor

liyuqian commented Dec 18, 2018

It's in the flutter/engine: flutter/engine#7247. Unfortunately, the Mac engine buildbot is now having trouble so the engine-to-framework roller could not start merging it.

@liyuqian
Copy link
Contributor

This should now be fixed by #25529

@github-actions
Copy link

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

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: regression It was better in the past than it is now dependency: skia Skia team may need to help us engine flutter/engine repository. See also e: labels. platform-ios iOS applications specifically waiting for PR to land (fixed) A fix is in flight
Projects
None yet
Development

No branches or pull requests

8 participants