Skip to content

Image picker ANR on Android 9/Chromebook #94210

@skquo

Description

@skquo

Steps to Reproduce

1. ANR report from Play Console

image_picker [0.8.4+4](https://pub.dev/packages/image_picker)
Device: Google Intel Gemini Lake Chromebook
Android 9

Expected results:
No ANR

Actual results:

Input dispatching timed out (Waiting to send non-key event because the touched window
has not finished processing certain input events that were delivered to it over 500.0ms ago
Logs
#00  pc 000000000007e7d7  /system/lib64/libc.so (read+7)
  #00  pc 000000000002d75c  /system/lib64/libjavacore.so (Linux_readBytes(_JNIEnv*, _jobject*, _jobject*, _jobject*, int, int)+204)
  at libcore.io.Linux.readBytes (Native method)
  at libcore.io.Linux.read (Linux.java:184)
  at libcore.io.BlockGuardOs.read (BlockGuardOs.java:254)
  at libcore.io.IoBridge.read (IoBridge.java:501)
  at java.io.FileInputStream.read (FileInputStream.java:307)
  at android.os.ParcelFileDescriptor$AutoCloseInputStream.read (ParcelFileDescriptor.java:942)
  at java.io.FileInputStream.read (FileInputStream.java:276)
  at android.os.ParcelFileDescriptor$AutoCloseInputStream.read (ParcelFileDescriptor.java:933)
  at io.flutter.plugins.imagepicker.FileUtils.copy
  at io.flutter.plugins.imagepicker.FileUtils.getPathFromUri
  at io.flutter.plugins.imagepicker.ImagePickerDelegate.handleChooseImageResult
  at io.flutter.plugins.imagepicker.ImagePickerDelegate.onActivityResult
  at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult
  at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult
  at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult
  at io.flutter.embedding.android.FlutterActivity.onActivityResult
  at android.app.Activity.dispatchActivityResult (Activity.java:7591)
  at android.app.ActivityThread.deliverResults (ActivityThread.java:4487)
  at android.app.ActivityThread.handleSendResult (ActivityThread.java:4536)
  at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:49)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1883)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6971)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:865)
flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6 20G165 darwin-x64, locale en-VN)
    • Flutter version 2.5.3 at /Users/xxx/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (6 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/xxx/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.11.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2020.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 11.0.10+0-b96-7281165)

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

[!] Connected device
    ! No devices available

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: productionIssues experienced in live production appsc: crashStack traces logged to the consolee: device-specificOnly manifests on certain devicesp: image_pickerThe Image Picker plugin.packageflutter/packages repository. See also p: labels.platform-androidAndroid applications specifically

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions