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

precacheImage in image.dart has no means to handle errors #18238

Closed
KevinTheGray opened this issue Jun 6, 2018 · 3 comments · Fixed by #18424
Closed

precacheImage in image.dart has no means to handle errors #18238

KevinTheGray opened this issue Jun 6, 2018 · 3 comments · Fixed by #18424
Assignees
Labels
framework flutter/packages/flutter repository. See also f: labels.

Comments

@KevinTheGray
Copy link

KevinTheGray commented Jun 6, 2018

A function in the Flutter SDK called precacheImage will never complete if an error is thrown within it. This is problematic because, as one example, an await could potentially hang forever and put the app in a bad state.

Steps to Reproduce

  1. flutter create a new project
  2. use this main.dart file
import 'package:flutter/material.dart';

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

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

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    try {
      precacheImage(const AssetImage("test"), context).then((_) {
        print("precacheImage: Inside then");
      }).whenComplete(() {
        print("precacheImage: Inside whenComplete");
      }).catchError((error) {
        print("precacheImage: Inside catchError: $error");
      });
    } catch (error) {
      print("precacheImage: Error caught in catch block: $error");
    }

    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new Center(
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Text(
              'precacheImage Test',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
    );
  }
}
  1. Observe that no error handling or completion ever takes place, so if you write code that depends on the completion of the function, it's not going to happen.

Logs

[  +29 ms] [/Users/KG/Developer/Flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +30 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] [/Users/KG/Developer/Flutter/flutter/] git rev-parse --abbrev-ref HEAD
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[        ] [/Users/KG/Developer/Flutter/flutter/] git ls-remote --get-url origin
[   +6 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[        ] [/Users/KG/Developer/Flutter/flutter/] git log -n 1 --pretty=format:%H
[  +10 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[        ] f833c43e6e416d85e6830e9e0aa4d4f1d0eb0083
[        ] [/Users/KG/Developer/Flutter/flutter/] git log -n 1 --pretty=format:%ar
[   +8 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[        ] 2 days ago
[        ] [/Users/KG/Developer/Flutter/flutter/] git describe --match v*.*.* --first-parent --long --tags
[  +26 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v0.5.1-43-gf833c43e6
[ +242 ms] /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[  +82 ms] Exit code 0 from: /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[        ] 3.1
[ +127 ms] /Users/KG/Library/Android/sdk/platform-tools/adb devices -l
[  +14 ms] Exit code 0 from: /Users/KG/Library/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
           TA9290K3WW             device usb:336592896X product:falcon_gpe model:XT1032 device:falcon_umts transport_id:1
[   +8 ms] idevice_id -h
[ +153 ms] /usr/bin/xcrun simctl list --json devices
[ +272 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW shell getprop
[  +82 ms] ro.hardware = qcom
[ +623 ms] Launching lib/main.dart on XT1032 in debug mode...
[   +5 ms] Initializing gradle...
[  +12 ms] Using gradle from /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/gradlew.
[  +96 ms] /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[  +79 ms] Exit code 0 from: /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[        ] 3.1
[  +84 ms] /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/gradlew -v
[ +598 ms] 
                   ------------------------------------------------------------
                   Gradle 4.4
                   ------------------------------------------------------------
                   
                   Build time:   2017-12-06 09:05:06 UTC
                   Revision:     cf7821a6f79f8e2a598df21780e3ff7ce8db2b82
                   
                   Groovy:       2.4.12
                   Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
                   JVM:          1.8.0_152-release (JetBrains s.r.o 25.152-b01)
                   OS:           Mac OS X 10.13.4 x86_64
[  +28 ms] Resolving dependencies...
[        ] [android/] /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/gradlew app:properties
[+1136 ms] :app:properties
                   
                   ------------------------------------------------------------
                   Project :app
                   ------------------------------------------------------------
                   
                   allprojects: [project ':app']
                   android: com.android.build.gradle.AppExtension_Decorated@368b3c99
                   androidDependencies: task ':app:androidDependencies'
                   ant: org.gradle.api.internal.project.DefaultAntBuilder@18b65e58
                   antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@4e02e93a
                   archivesBaseName: app
                   artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@49fa2a03
                   asDynamicObject: DynamicObject for project ':app'
                   assemble: task ':app:assemble'
                   assembleAndroidTest: task ':app:assembleAndroidTest'
                   assembleDebug: task ':app:assembleDebug'
                   assembleDebugAndroidTest: task ':app:assembleDebugAndroidTest'
                   assembleDebugUnitTest: task ':app:assembleDebugUnitTest'
                   assembleProfile: task ':app:assembleProfile'
                   assembleProfileUnitTest: task ':app:assembleProfileUnitTest'
                   assembleRelease: task ':app:assembleRelease'
                   assembleReleaseUnitTest: task ':app:assembleReleaseUnitTest'
                   baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@267aa851
                   buildDependents: task ':app:buildDependents'
                   buildDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app
                   buildFile: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/app/build.gradle
                   buildNeeded: task ':app:buildNeeded'
                   buildOutputs: BaseVariantOutput container
                   buildPath: :
                   buildScriptSource: org.gradle.groovy.scripts.TextResourceScriptSource@c147658
                   buildscript: org.gradle.api.internal.initialization.DefaultScriptHandler@550605d9
                   bundleAppClassesDebug: task ':app:bundleAppClassesDebug'
                   bundleAppClassesDebugAndroidTest: task ':app:bundleAppClassesDebugAndroidTest'
                   bundleAppClassesDebugUnitTest: task ':app:bundleAppClassesDebugUnitTest'
                   bundleAppClassesProfile: task ':app:bundleAppClassesProfile'
                   bundleAppClassesProfileUnitTest: task ':app:bundleAppClassesProfileUnitTest'
                   bundleAppClassesRelease: task ':app:bundleAppClassesRelease'
                   bundleAppClassesReleaseUnitTest: task ':app:bundleAppClassesReleaseUnitTest'
                   bundleDebugAndroidTestResources: task ':app:bundleDebugAndroidTestResources'
                   bundleDebugResources: task ':app:bundleDebugResources'
                   bundleProfileResources: task ':app:bundleProfileResources'
                   bundleReleaseResources: task ':app:bundleReleaseResources'
                   check: task ':app:check'
                   checkDebugManifest: task ':app:checkDebugManifest'
                   checkProfileManifest: task ':app:checkProfileManifest'
                   checkReleaseManifest: task ':app:checkReleaseManifest'
                   childProjects: {}
                   class: class org.gradle.api.internal.project.DefaultProject_Decorated
                   classLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@4db49748
                   cleanBuildCache: task ':app:cleanBuildCache'
                   compileDebugAidl: task ':app:compileDebugAidl'
                   compileDebugAndroidTestAidl: task ':app:compileDebugAndroidTestAidl'
                   compileDebugAndroidTestJavaWithJavac: task ':app:compileDebugAndroidTestJavaWithJavac'
                   compileDebugAndroidTestNdk: task ':app:compileDebugAndroidTestNdk'
                   compileDebugAndroidTestRenderscript: task ':app:compileDebugAndroidTestRenderscript'
                   compileDebugAndroidTestShaders: task ':app:compileDebugAndroidTestShaders'
                   compileDebugAndroidTestSources: task ':app:compileDebugAndroidTestSources'
                   compileDebugJavaWithJavac: task ':app:compileDebugJavaWithJavac'
                   compileDebugNdk: task ':app:compileDebugNdk'
                   compileDebugRenderscript: task ':app:compileDebugRenderscript'
                   compileDebugShaders: task ':app:compileDebugShaders'
                   compileDebugSources: task ':app:compileDebugSources'
                   compileDebugUnitTestJavaWithJavac: task ':app:compileDebugUnitTestJavaWithJavac'
                   compileDebugUnitTestSources: task ':app:compileDebugUnitTestSources'
                   compileLint: task ':app:compileLint'
                   compileProfileAidl: task ':app:compileProfileAidl'
                   compileProfileJavaWithJavac: task ':app:compileProfileJavaWithJavac'
                   compileProfileNdk: task ':app:compileProfileNdk'
                   compileProfileRenderscript: task ':app:compileProfileRenderscript'
                   compileProfileShaders: task ':app:compileProfileShaders'
                   compileProfileSources: task ':app:compileProfileSources'
                   compileProfileUnitTestJavaWithJavac: task ':app:compileProfileUnitTestJavaWithJavac'
                   compileProfileUnitTestSources: task ':app:compileProfileUnitTestSources'
                   compileReleaseAidl: task ':app:compileReleaseAidl'
                   compileReleaseJavaWithJavac: task ':app:compileReleaseJavaWithJavac'
                   compileReleaseNdk: task ':app:compileReleaseNdk'
                   compileReleaseRenderscript: task ':app:compileReleaseRenderscript'
                   compileReleaseShaders: task ':app:compileReleaseShaders'
                   compileReleaseSources: task ':app:compileReleaseSources'
                   compileReleaseUnitTestJavaWithJavac: task ':app:compileReleaseUnitTestJavaWithJavac'
                   compileReleaseUnitTestSources: task ':app:compileReleaseUnitTestSources'
                   components: SoftwareComponentInternal set
                   configurationActions: org.gradle.configuration.project.DefaultProjectConfigurationActionContainer@3e7f868f
                   configurationTargetIdentifier: org.gradle.configuration.ConfigurationTargetIdentifier$1@117681ae
                   configurations: configuration container
                   connectedAndroidTest: task ':app:connectedAndroidTest'
                   connectedCheck: task ':app:connectedCheck'
                   connectedDebugAndroidTest: task ':app:connectedDebugAndroidTest'
                   consumeConfigAttr: task ':app:consumeConfigAttr'
                   convention: org.gradle.api.internal.plugins.DefaultConvention@743b6694
                   copyFlutterAssetsDebug: task ':app:copyFlutterAssetsDebug'
                   copyFlutterAssetsProfile: task ':app:copyFlutterAssetsProfile'
                   copyFlutterAssetsRelease: task ':app:copyFlutterAssetsRelease'
                   createDebugCompatibleScreenManifests: task ':app:createDebugCompatibleScreenManifests'
                   createProfileCompatibleScreenManifests: task ':app:createProfileCompatibleScreenManifests'
                   createReleaseCompatibleScreenManifests: task ':app:createReleaseCompatibleScreenManifests'
                   defaultArtifacts: org.gradle.api.internal.plugins.DefaultArtifactPublicationSet_Decorated@1ddcb18c
                   defaultTasks: []
                   deferredProjectConfiguration: org.gradle.api.internal.project.DeferredProjectConfiguration@5fd51746
                   dependencies: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@7a0b86e3
                   depth: 1
                   description: null
                   deviceAndroidTest: task ':app:deviceAndroidTest'
                   deviceCheck: task ':app:deviceCheck'
                   displayName: project ':app'
                   distsDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/distributions
                   distsDirName: distributions
                   docsDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/docs
                   docsDirName: docs
                   ext: org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension@55ab40f0
                   extensions: org.gradle.api.internal.plugins.DefaultConvention@743b6694
                   extractProguardFiles: task ':app:extractProguardFiles'
                   fileOperations: org.gradle.api.internal.file.DefaultFileOperations@2d83db18
                   fileResolver: org.gradle.api.internal.file.BaseDirFileResolver@5a9b86c9
                   flutter: FlutterExtension_Decorated@7c813fe7
                   flutterBuildDebug: task ':app:flutterBuildDebug'
                   flutterBuildProfile: task ':app:flutterBuildProfile'
                   flutterBuildRelease: task ':app:flutterBuildRelease'
                   flutterBuildX86Jar: task ':app:flutterBuildX86Jar'
                   generateDebugAndroidTestAssets: task ':app:generateDebugAndroidTestAssets'
                   generateDebugAndroidTestBuildConfig: task ':app:generateDebugAndroidTestBuildConfig'
                   generateDebugAndroidTestResValues: task ':app:generateDebugAndroidTestResValues'
                   generateDebugAndroidTestResources: task ':app:generateDebugAndroidTestResources'
                   generateDebugAndroidTestSources: task ':app:generateDebugAndroidTestSources'
                   generateDebugAssets: task ':app:generateDebugAssets'
                   generateDebugBuildConfig: task ':app:generateDebugBuildConfig'
                   generateDebugResValues: task ':app:generateDebugResValues'
                   generateDebugResources: task ':app:generateDebugResources'
                   generateDebugSources: task ':app:generateDebugSources'
                   generateProfileAssets: task ':app:generateProfileAssets'
                   generateProfileBuildConfig: task ':app:generateProfileBuildConfig'
                   generateProfileResValues: task ':app:generateProfileResValues'
                   generateProfileResources: task ':app:generateProfileResources'
                   generateProfileSources: task ':app:generateProfileSources'
                   generateReleaseAssets: task ':app:generateReleaseAssets'
                   generateReleaseBuildConfig: task ':app:generateReleaseBuildConfig'
                   generateReleaseResValues: task ':app:generateReleaseResValues'
                   generateReleaseResources: task ':app:generateReleaseResources'
                   generateReleaseSources: task ':app:generateReleaseSources'
                   gradle: build 'android'
                   group: android
                   identityPath: :app
                   inheritedScope: org.gradle.api.internal.ExtensibleDynamicObject$InheritedDynamicObject@73a24c47
                   installDebug: task ':app:installDebug'
                   installDebugAndroidTest: task ':app:installDebugAndroidTest'
                   installProfile: task ':app:installProfile'
                   installRelease: task ':app:installRelease'
                   javaPreCompileDebug: task ':app:javaPreCompileDebug'
                   javaPreCompileDebugAndroidTest: task ':app:javaPreCompileDebugAndroidTest'
                   javaPreCompileDebugUnitTest: task ':app:javaPreCompileDebugUnitTest'
                   javaPreCompileProfile: task ':app:javaPreCompileProfile'
                   javaPreCompileProfileUnitTest: task ':app:javaPreCompileProfileUnitTest'
                   javaPreCompileRelease: task ':app:javaPreCompileRelease'
                   javaPreCompileReleaseUnitTest: task ':app:javaPreCompileReleaseUnitTest'
                   layout: org.gradle.api.internal.file.DefaultProjectLayout@404a0230
                   libsDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/libs
                   libsDirName: libs
                   lint: task ':app:lint'
                   lintDebug: task ':app:lintDebug'
                   lintProfile: task ':app:lintProfile'
                   lintRelease: task ':app:lintRelease'
                   lintVitalRelease: task ':app:lintVitalRelease'
                   logger: org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger@3bcdee95
                   logging: org.gradle.internal.logging.services.DefaultLoggingManager@46e1793e
                   mainApkListPersistenceDebug: task ':app:mainApkListPersistenceDebug'
                   mainApkListPersistenceDebugAndroidTest: task ':app:mainApkListPersistenceDebugAndroidTest'
                   mainApkListPersistenceProfile: task ':app:mainApkListPersistenceProfile'
                   mainApkListPersistenceRelease: task ':app:mainApkListPersistenceRelease'
                   mergeDebugAndroidTestAssets: task ':app:mergeDebugAndroidTestAssets'
                   mergeDebugAndroidTestJniLibFolders: task ':app:mergeDebugAndroidTestJniLibFolders'
                   mergeDebugAndroidTestResources: task ':app:mergeDebugAndroidTestResources'
                   mergeDebugAndroidTestShaders: task ':app:mergeDebugAndroidTestShaders'
                   mergeDebugAssets: task ':app:mergeDebugAssets'
                   mergeDebugJniLibFolders: task ':app:mergeDebugJniLibFolders'
                   mergeDebugResources: task ':app:mergeDebugResources'
                   mergeDebugShaders: task ':app:mergeDebugShaders'
                   mergeProfileAssets: task ':app:mergeProfileAssets'
                   mergeProfileJniLibFolders: task ':app:mergeProfileJniLibFolders'
                   mergeProfileResources: task ':app:mergeProfileResources'
                   mergeProfileShaders: task ':app:mergeProfileShaders'
                   mergeReleaseAssets: task ':app:mergeReleaseAssets'
                   mergeReleaseJniLibFolders: task ':app:mergeReleaseJniLibFolders'
                   mergeReleaseResources: task ':app:mergeReleaseResources'
                   mergeReleaseShaders: task ':app:mergeReleaseShaders'
                   mockableAndroidJar: task ':app:mockableAndroidJar'
                   modelRegistry: org.gradle.model.internal.registry.DefaultModelRegistry@336a1802
                   modelSchemaStore: org.gradle.model.internal.manage.schema.extract.DefaultModelSchemaStore@23a58f89
                   module: org.gradle.api.internal.artifacts.ProjectBackedModule@55f0dda5
                   name: app
                   normalization: org.gradle.normalization.internal.DefaultInputNormalizationHandler_Decorated@52cbaa5c
                   objects: org.gradle.api.internal.model.DefaultObjectFactory@420079b7
                   org.gradle.daemon: true
                   org.gradle.jvmargs: -Xmx1536M
                   packageDebug: task ':app:packageDebug'
                   packageDebugAndroidTest: task ':app:packageDebugAndroidTest'
                   packageProfile: task ':app:packageProfile'
                   packageRelease: task ':app:packageRelease'
                   parent: root project 'android'
                   parentIdentifier: root project 'android'
                   path: :app
                   platformAttrExtractor: task ':app:platformAttrExtractor'
                   pluginManager: org.gradle.api.internal.plugins.DefaultPluginManager_Decorated@fe5c040
                   plugins: [org.gradle.api.plugins.HelpTasksPlugin@1bc1a8e8, com.android.build.gradle.api.AndroidBasePlugin@2dd32cf0, org.gradle.language.base.plugins.LifecycleBasePlugin@6c05ee3f, org.gradle.api.plugins.BasePlugin@35bb67b3, org.gradle.api.plugins.ReportingBasePlugin@2670beb9, org.gradle.platform.base.plugins.ComponentBasePlugin@1d2df6e6, org.gradle.language.base.plugins.LanguageBasePlugin@3e0b068c, org.gradle.platform.base.plugins.BinaryBasePlugin@386e7fba, org.gradle.api.plugins.JavaBasePlugin@405be7b2, com.android.build.gradle.AppPlugin@1f80431f, FlutterPlugin@6dd7b807]
                   preBuild: task ':app:preBuild'
                   preDebugAndroidTestBuild: task ':app:preDebugAndroidTestBuild'
                   preDebugBuild: task ':app:preDebugBuild'
                   preDebugUnitTestBuild: task ':app:preDebugUnitTestBuild'
                   preProfileBuild: task ':app:preProfileBuild'
                   preProfileUnitTestBuild: task ':app:preProfileUnitTestBuild'
                   preReleaseBuild: task ':app:preReleaseBuild'
                   preReleaseUnitTestBuild: task ':app:preReleaseUnitTestBuild'
                   prepareLintJar: task ':app:prepareLintJar'
                   preparePUBLISHED_DEXDebugAndroidTestForPublishing: task ':app:preparePUBLISHED_DEXDebugAndroidTestForPublishing'
                   preparePUBLISHED_DEXDebugForPublishing: task ':app:preparePUBLISHED_DEXDebugForPublishing'
                   preparePUBLISHED_DEXProfileForPublishing: task ':app:preparePUBLISHED_DEXProfileForPublishing'
                   preparePUBLISHED_DEXReleaseForPublishing: task ':app:preparePUBLISHED_DEXReleaseForPublishing'
                   preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing: task ':app:preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing'
                   preparePUBLISHED_JAVA_RESDebugForPublishing: task ':app:preparePUBLISHED_JAVA_RESDebugForPublishing'
                   preparePUBLISHED_JAVA_RESProfileForPublishing: task ':app:preparePUBLISHED_JAVA_RESProfileForPublishing'
                   preparePUBLISHED_JAVA_RESReleaseForPublishing: task ':app:preparePUBLISHED_JAVA_RESReleaseForPublishing'
                   preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing: task ':app:preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing'
                   preparePUBLISHED_NATIVE_LIBSDebugForPublishing: task ':app:preparePUBLISHED_NATIVE_LIBSDebugForPublishing'
                   preparePUBLISHED_NATIVE_LIBSProfileForPublishing: task ':app:preparePUBLISHED_NATIVE_LIBSProfileForPublishing'
                   preparePUBLISHED_NATIVE_LIBSReleaseForPublishing: task ':app:preparePUBLISHED_NATIVE_LIBSReleaseForPublishing'
                   processDebugAndroidTestJavaRes: task ':app:processDebugAndroidTestJavaRes'
                   processDebugAndroidTestManifest: task ':app:processDebugAndroidTestManifest'
                   processDebugAndroidTestResources: task ':app:processDebugAndroidTestResources'
                   processDebugJavaRes: task ':app:processDebugJavaRes'
                   processDebugManifest: task ':app:processDebugManifest'
                   processDebugResources: task ':app:processDebugResources'
                   processDebugUnitTestJavaRes: task ':app:processDebugUnitTestJavaRes'
                   processOperations: org.gradle.api.internal.file.DefaultFileOperations@2d83db18
                   processProfileJavaRes: task ':app:processProfileJavaRes'
                   processProfileManifest: task ':app:processProfileManifest'
                   processProfileResources: task ':app:processProfileResources'
                   processProfileUnitTestJavaRes: task ':app:processProfileUnitTestJavaRes'
                   processReleaseJavaRes: task ':app:processReleaseJavaRes'
                   processReleaseManifest: task ':app:processReleaseManifest'
                   processReleaseResources: task ':app:processReleaseResources'
                   processReleaseUnitTestJavaRes: task ':app:processReleaseUnitTestJavaRes'
                   project: project ':app'
                   projectConfigurator: org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator@6c2c63b6
                   projectDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/app
                   projectEvaluationBroadcaster: ProjectEvaluationListener broadcast
                   projectEvaluator: org.gradle.configuration.project.LifecycleProjectEvaluator@63babd25
                   projectPath: :app
                   projectRegistry: org.gradle.api.internal.project.DefaultProjectRegistry@22b6bd24
                   properties: {...}
                   providers: org.gradle.api.internal.provider.DefaultProviderFactory@38362ecc
                   reportBuildArtifactsDebug: task ':app:reportBuildArtifactsDebug'
                   reportBuildArtifactsProfile: task ':app:reportBuildArtifactsProfile'
                   reportBuildArtifactsRelease: task ':app:reportBuildArtifactsRelease'
                   reporting: org.gradle.api.reporting.ReportingExtension_Decorated@3708ef2
                   reportsDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/reports
                   repositories: repository container
                   resolveConfigAttr: task ':app:resolveConfigAttr'
                   resourceLoader: org.gradle.internal.resource.transfer.DefaultUriTextResourceLoader@c4e7cf9
                   resources: org.gradle.api.internal.resources.DefaultResourceHandler@3aababc0
                   rootDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android
                   rootProject: root project 'android'
                   script: false
                   scriptHandlerFactory: org.gradle.api.internal.initialization.DefaultScriptHandlerFactory@2de36e2c
                   scriptPluginFactory: org.gradle.configuration.ScriptPluginFactorySelector@2ae3727c
                   serviceRegistryFactory: org.gradle.internal.service.scopes.ProjectScopeServices$4@55b56a6d
                   services: ProjectScopeServices
                   signingReport: task ':app:signingReport'
                   sourceCompatibility: 1.8
                   sourceSets: SourceSet container
                   splitsDiscoveryTaskDebug: task ':app:splitsDiscoveryTaskDebug'
                   splitsDiscoveryTaskProfile: task ':app:splitsDiscoveryTaskProfile'
                   splitsDiscoveryTaskRelease: task ':app:splitsDiscoveryTaskRelease'
                   standardOutputCapture: org.gradle.internal.logging.services.DefaultLoggingManager@46e1793e
                   state: project state 'EXECUTED'
                   status: integration
                   subprojects: []
                   targetCompatibility: 1.8
                   tasks: task set
                   test: task ':app:test'
                   testDebugUnitTest: task ':app:testDebugUnitTest'
                   testProfileUnitTest: task ':app:testProfileUnitTest'
                   testReleaseUnitTest: task ':app:testReleaseUnitTest'
                   testReportDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/reports/tests
                   testReportDirName: tests
                   testResultsDir: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/test-results
                   testResultsDirName: test-results
                   transformClassesWithDexBuilderForDebug: task ':app:transformClassesWithDexBuilderForDebug'
                   transformClassesWithDexBuilderForDebugAndroidTest: task ':app:transformClassesWithDexBuilderForDebugAndroidTest'
                   transformClassesWithDexBuilderForProfile: task ':app:transformClassesWithDexBuilderForProfile'
                   transformClassesWithDexBuilderForRelease: task ':app:transformClassesWithDexBuilderForRelease'
                   transformDexArchiveWithDexMergerForDebug: task ':app:transformDexArchiveWithDexMergerForDebug'
                   transformDexArchiveWithDexMergerForDebugAndroidTest: task ':app:transformDexArchiveWithDexMergerForDebugAndroidTest'
                   transformDexArchiveWithDexMergerForProfile: task ':app:transformDexArchiveWithDexMergerForProfile'
                   transformDexArchiveWithDexMergerForRelease: task ':app:transformDexArchiveWithDexMergerForRelease'
                   transformDexArchiveWithExternalLibsDexMergerForDebug: task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'
                   transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest: task ':app:transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest'
                   transformDexArchiveWithExternalLibsDexMergerForProfile: task ':app:transformDexArchiveWithExternalLibsDexMergerForProfile'
                   transformDexArchiveWithExternalLibsDexMergerForRelease: task ':app:transformDexArchiveWithExternalLibsDexMergerForRelease'
                   transformNativeLibsWithMergeJniLibsForDebug: task ':app:transformNativeLibsWithMergeJniLibsForDebug'
                   transformNativeLibsWithMergeJniLibsForDebugAndroidTest: task ':app:transformNativeLibsWithMergeJniLibsForDebugAndroidTest'
                   transformNativeLibsWithMergeJniLibsForProfile: task ':app:transformNativeLibsWithMergeJniLibsForProfile'
                   transformNativeLibsWithMergeJniLibsForRelease: task ':app:transformNativeLibsWithMergeJniLibsForRelease'
                   transformResourcesWithMergeJavaResForDebug: task ':app:transformResourcesWithMergeJavaResForDebug'
                   transformResourcesWithMergeJavaResForDebugAndroidTest: task ':app:transformResourcesWithMergeJavaResForDebugAndroidTest'
                   transformResourcesWithMergeJavaResForDebugUnitTest: task ':app:transformResourcesWithMergeJavaResForDebugUnitTest'
                   transformResourcesWithMergeJavaResForProfile: task ':app:transformResourcesWithMergeJavaResForProfile'
                   transformResourcesWithMergeJavaResForProfileUnitTest: task ':app:transformResourcesWithMergeJavaResForProfileUnitTest'
                   transformResourcesWithMergeJavaResForRelease: task ':app:transformResourcesWithMergeJavaResForRelease'
                   transformResourcesWithMergeJavaResForReleaseUnitTest: task ':app:transformResourcesWithMergeJavaResForReleaseUnitTest'
                   uninstallAll: task ':app:uninstallAll'
                   uninstallDebug: task ':app:uninstallDebug'
                   uninstallDebugAndroidTest: task ':app:uninstallDebugAndroidTest'
                   uninstallProfile: task ':app:uninstallProfile'
                   uninstallRelease: task ':app:uninstallRelease'
                   validateSigningDebug: task ':app:validateSigningDebug'
                   validateSigningDebugAndroidTest: task ':app:validateSigningDebugAndroidTest'
                   validateSigningProfile: task ':app:validateSigningProfile'
                   validateSigningRelease: task ':app:validateSigningRelease'
                   version: unspecified
                   writeDebugApplicationId: task ':app:writeDebugApplicationId'
                   writeProfileApplicationId: task ':app:writeProfileApplicationId'
                   writeReleaseApplicationId: task ':app:writeReleaseApplicationId'
                   
                   BUILD SUCCESSFUL in 1s
                   1 actionable task: 1 executed
[   +6 ms] /Users/KG/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[   +8 ms] Exit code 0 from: /Users/KG/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[        ] package: name='com.example.precachetest' versionCode='1' versionName='1.0.0' platformBuildVersionName=''
           sdkVersion:'16'
           targetSdkVersion:'27'
           uses-permission: name='android.permission.INTERNET'
           application-label:'precache_test'
           application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png'
           application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png'
           application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png'
           application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png'
           application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png'
           application: label='precache_test' icon='res/mipmap-mdpi-v4/ic_launcher.png'
           application-debuggable
           launchable-activity: name='com.example.precachetest.MainActivity'  label='' icon=''
           feature-group: label=''
             uses-feature: name='android.hardware.faketouch'
             uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
           main
           supports-screens: 'small' 'normal' 'large' 'xlarge'
           supports-any-density: 'true'
           locales: '--_--'
           densities: '160' '240' '320' '480' '640'
           native-code: 'armeabi-v7a' 'x86' 'x86_64'
[   +5 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW logcat -v time -t 1
[  +52 ms] Exit code 0 from: /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW logcat -v time -t 1
[        ] --------- beginning of main
           06-06 11:47:14.937 D/wpa_supplicant( 1569): wlan0: Control interface command 'SIGNAL_POLL'
[   +4 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW logcat -v time
[ +387 ms] DependencyChecker: nothing is modified after 2018-06-06 11:35:57.112.
[   +5 ms] /Users/KG/Library/Android/sdk/platform-tools/adb version
[  +25 ms] Android Debug Bridge version 1.0.39
           Version 0.0.1-4500957
           Installed as /Users/KG/Library/Android/sdk/platform-tools/adb
[   +3 ms] /Users/KG/Library/Android/sdk/platform-tools/adb start-server
[  +24 ms] Building APK
[  +13 ms] Running 'gradlew assembleDebug'...
[   +2 ms] [android/] /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/android/gradlew -Ptarget=/Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/lib/main.dart -Ppreview-dart-2=true -Pfilesystem-scheme=org-dartlang-root assembleDebug
[ +846 ms] :app:preBuild UP-TO-DATE
[   +8 ms] :app:preDebugBuild UP-TO-DATE
[        ] :app:compileDebugAidl UP-TO-DATE
[  +11 ms] :app:compileDebugRenderscript UP-TO-DATE
[  +33 ms] :app:flutterBuildX86Jar UP-TO-DATE
[        ] :app:checkDebugManifest UP-TO-DATE
[  +10 ms] :app:generateDebugBuildConfig UP-TO-DATE
[        ] :app:prepareLintJar UP-TO-DATE
[        ] :app:cleanMergeDebugAssets
[+1330 ms] :app:flutterBuildDebug
[        ] :app:mergeDebugShaders UP-TO-DATE
[  +10 ms] :app:compileDebugShaders UP-TO-DATE
[        ] :app:generateDebugAssets UP-TO-DATE
[  +12 ms] :app:mergeDebugAssets
[ +206 ms] :app:copyFlutterAssetsDebug
[        ] :app:mainApkListPersistenceDebug UP-TO-DATE
[        ] :app:generateDebugResValues UP-TO-DATE
[        ] :app:generateDebugResources UP-TO-DATE
[  +11 ms] :app:mergeDebugResources UP-TO-DATE
[        ] :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] :app:processDebugManifest UP-TO-DATE
[        ] :app:splitsDiscoveryTaskDebug UP-TO-DATE
[        ] :app:processDebugResources UP-TO-DATE
[   +9 ms] :app:generateDebugSources UP-TO-DATE
[        ] :app:javaPreCompileDebug UP-TO-DATE
[        ] :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] :app:compileDebugNdk NO-SOURCE
[        ] :app:compileDebugSources UP-TO-DATE
[  +44 ms] :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
[        ] :app:transformDexArchiveWithExternalLibsDexMergerForDebug UP-TO-DATE
[  +11 ms] :app:transformDexArchiveWithDexMergerForDebug UP-TO-DATE
[        ] :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] :app:transformNativeLibsWithMergeJniLibsForDebug UP-TO-DATE
[        ] :app:processDebugJavaRes NO-SOURCE
[  +11 ms] :app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
[        ] :app:validateSigningDebug UP-TO-DATE
[  +11 ms] :app:packageDebug UP-TO-DATE
[        ] :app:assembleDebug UP-TO-DATE
[        ] BUILD SUCCESSFUL in 2s
[        ] 30 actionable tasks: 4 executed, 26 up-to-date
[ +412 ms] calculateSha: /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/build/app/outputs/apk/app.apk
[ +412 ms] Built build/app/outputs/apk/debug/app-debug.apk.
[        ] /Users/KG/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[  +10 ms] Exit code 0 from: /Users/KG/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[        ] package: name='com.example.precachetest' versionCode='1' versionName='1.0.0' platformBuildVersionName=''
           sdkVersion:'16'
           targetSdkVersion:'27'
           uses-permission: name='android.permission.INTERNET'
           application-label:'precache_test'
           application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png'
           application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png'
           application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png'
           application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png'
           application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png'
           application: label='precache_test' icon='res/mipmap-mdpi-v4/ic_launcher.png'
           application-debuggable
           launchable-activity: name='com.example.precachetest.MainActivity'  label='' icon=''
           feature-group: label=''
             uses-feature: name='android.hardware.faketouch'
             uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
           main
           supports-screens: 'small' 'normal' 'large' 'xlarge'
           supports-any-density: 'true'
           locales: '--_--'
           densities: '160' '240' '320' '480' '640'
           native-code: 'armeabi-v7a' 'x86' 'x86_64'
[        ] Stopping app 'app.apk' on XT1032.
[        ] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW shell am force-stop com.example.precachetest
[+1026 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW shell pm list packages com.example.precachetest
[ +473 ms] package:com.example.precachetest
[   +4 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW shell cat /data/local/tmp/sky.com.example.precachetest.sha1
[  +25 ms] 4f7e71ea29712ecd15104c99f4ac3a4a55859e2c
[        ] Latest build already installed.
[        ] XT1032 startApp
[   +1 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true com.example.precachetest/com.example.precachetest.MainActivity
[ +696 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.precachetest/.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[ +808 ms] I/FlutterActivityDelegate(12816): onResume setting current activity to this
[ +527 ms] Observatory URL on device: http://127.0.0.1:33531/
[   +8 ms] /Users/KG/Library/Android/sdk/platform-tools/adb -s TA9290K3WW forward tcp:8101 tcp:33531
[  +17 ms] Forwarded host port 8101 to device port 33531 for Observatory
[   +5 ms] Connecting to service protocol: http://127.0.0.1:8101/
[ +874 ms] Successfully connected to service protocol: http://127.0.0.1:8101/
[   +2 ms] getVM: {}
[  +14 ms] getIsolate: {isolateId: isolates/900351812}
[   +2 ms] _flutter.listViews: {isolateId: isolates/900351812}
[  +86 ms] DevFS: Creating new filesystem on the device (null)
[        ] _createDevFS: {fsName: precache_test}
[ +112 ms] DevFS: Created new filesystem on the device (file:///data/data/com.example.precachetest/cache/precache_testJKMVBO/precache_test/)
[   +1 ms] Updating assets
[ +220 ms] Syncing files to device XT1032...
[   +4 ms] DevFS: Starting sync from LocalDirectory: '/Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test'
[        ] Scanning project files
[   +3 ms] Scanning package files
[  +92 ms] Scanning asset files
[        ] Scanning for deleted files
[   +8 ms] Compiling dart to kernel with 416 updated files
[   +2 ms] /Users/KG/Developer/Flutter/flutter/bin/cache/dart-sdk/bin/dart /Users/KG/Developer/Flutter/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root /Users/KG/Developer/Flutter/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --strong --target=flutter --output-dill build/app.dill --packages /Users/KG/Developer/Mine/testing_safe_to_delete_all_contents/precache_test/.packages --filesystem-scheme org-dartlang-root
[+1685 ms] I/flutter (12816): ══╡ EXCEPTION CAUGHT BY SERVICES ╞══════════════════════════════════════════════════════════════════
[  +30 ms] I/flutter (12816): The following assertion was thrown resolving an image codec:
[        ] I/flutter (12816): Unable to load asset: test
[   +5 ms] I/flutter (12816): When the exception was thrown, this was the stack:
[  +69 ms] I/flutter (12816): #0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
[        ] I/flutter (12816): <asynchronous suspension>
[  +15 ms] I/flutter (12816): #1      AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:383:44)
[   +4 ms] I/flutter (12816): <asynchronous suspension>
[        ] I/flutter (12816): #2      AssetBundleImageProvider.load (package:flutter/src/painting/image_provider.dart:368:14)
[        ] I/flutter (12816): #3      ImageProvider.resolve.<anonymous closure>.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:86)
[        ] I/flutter (12816): #4      ImageCache.putIfAbsent (package:flutter/src/painting/image_cache.dart:82:22)
[        ] I/flutter (12816): #5      ImageProvider.resolve.<anonymous closure> (package:flutter/src/painting/image_provider.dart:265:63)
[        ] I/flutter (12816): (elided 8 frames from package dart:async)
[  +21 ms] I/flutter (12816): Image provider: AssetImage(bundle: null, name: "test")
[        ] I/flutter (12816): Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#5d77b(), name: "test", scale: 1.0)
[        ] I/flutter (12816): ════════════════════════════════════════════════════════════════════════════════════════════════════
[+1387 ms] Updating files
[+1495 ms] DevFS: Sync finished
[        ] Synced 0.8MB.
[   +1 ms] _flutter.listViews: {isolateId: isolates/900351812}
[  +51 ms] Connected to _flutterView/0xb7805d7c.
[        ] 🔥  To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
[        ] An Observatory debugger and profiler on XT1032 is available at: http://127.0.0.1:8101/
[        ] For a more detailed help message, press "h". To quit, press "q".


Flutter Analyzer

Analyzing precache_test...                                       
No issues found! (ran in 1.3s)

Flutter Doctor

[✓] Flutter (Channel master, v0.5.2-pre.43, on Mac OS X 10.13.4 17E202, locale en-US)
    • Flutter version 0.5.2-pre.43 at /Users/KG/Developer/Flutter/flutter
    • Framework revision f833c43e6e (2 days ago), 2018-06-04 12:04:45 +0100
    • Engine revision 6cef519598
    • Dart version 2.0.0-dev.59.0.flutter-1a185867a9

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/KG/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/KG/Library/Android/sdk
    • 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-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 25.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Community Edition (version 2017.2.7)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 21.2.2
    • Dart plugin version 172.4343.25

[!] VS Code (version 1.21.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected devices (1 available)
    • XT1032 • TA9290K3WW • android-arm • Android 5.1 (API 22)
@xster xster self-assigned this Jun 6, 2018
@xster
Copy link
Member

xster commented Jun 7, 2018

Root problem: #18255

@chinmaygarde chinmaygarde added the framework flutter/packages/flutter repository. See also f: labels. label Jun 9, 2018
@xster
Copy link
Member

xster commented Jun 22, 2018

Gonna get through the #18424 PR after I come back from work trip

@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 31, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants