FishBun icon indicating copy to clipboard operation
FishBun copied to clipboard

[BUG] App Crash-Bug

Open bitbendergames opened this issue 5 years ago • 8 comments

Describe the bug I've been referred to this github page by the Flutter-Multi-Image-Picker Devs as they use your package. When opening an image picker in a flutter app, the app crashes with the following stack-trace:

W/System  (17694): ClassLoader referenced unknown path: /system/framework/QPerformance.jar
E/BoostFramework(17694): BoostFramework() : Exception_1 = java.lang.ClassNotFoundException: Didn't find class "com.qualcomm.qti.Performance" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib, /vendor/lib]]
W/art     (17694): Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
I/art     (17694): Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
I/art     (17694):   at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
I/art     (17694):   at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
I/art     (17694):   at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
I/art     (17694):   at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
I/art     (17694):   at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
I/art     (17694):   at void com.sangcomz.fishbun.ui.album.AlbumActivity.onCreate(android.os.Bundle) (AlbumActivity.java:72)
I/art     (17694):   at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6723)
I/art     (17694):   at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
I/art     (17694):   at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2619)
I/art     (17694):   at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2727)
I/art     (17694):   at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
I/art     (17694):   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1478)
I/art     (17694):   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
I/art     (17694):   at void android.os.Looper.loop() (Looper.java:154)
I/art     (17694):   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6128)
I/art     (17694):   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
I/art     (17694):   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:889)
I/art     (17694):   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:779)
I/art     (17694): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.bitbendergames.colla_gen2-1/base.apk"],nativeLibraryDirectories=[/data/app/com.bitbendergames.colla_gen2-1/lib/arm, /data/app/com.bitbendergames.colla_gen2-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
I/art     (17694):   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
I/art     (17694):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
I/art     (17694):   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/art     (17694):   at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
I/art     (17694):   at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
I/art     (17694):   at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
I/art     (17694):   at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
I/art     (17694):   at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
I/art     (17694):   at void com.sangcomz.fishbun.ui.album.AlbumActivity.onCreate(android.os.Bundle) (AlbumActivity.java:72)
I/art     (17694):   at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6723)
I/art     (17694):   at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1119)
I/art     (17694):   at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2619)
I/art     (17694):   at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2727)
I/art     (17694):   at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
I/art     (17694):   at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1478)
I/art     (17694):   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
I/art     (17694):   at void android.os.Looper.loop() (Looper.java:154)
I/art     (17694):   at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6128)
I/art     (17694):   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
I/art     (17694):   at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:889)
I/art     (17694):   at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:779)
I/art     (17694): 
E/RecyclerView(17694): No adapter attached; skipping layout
E/AndroidRuntime(17694): FATAL EXCEPTION: AsyncTask #2
E/AndroidRuntime(17694): Process: com.bitbendergames.colla_gen2, PID: 17694
E/AndroidRuntime(17694): java.lang.RuntimeException: An error occurred while executing doInBackground()
E/AndroidRuntime(17694): 	at android.os.AsyncTask$3.done(AsyncTask.java:325)
E/AndroidRuntime(17694): 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
E/AndroidRuntime(17694): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
E/AndroidRuntime(17694): 	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E/AndroidRuntime(17694): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
E/AndroidRuntime(17694): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
E/AndroidRuntime(17694): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
E/AndroidRuntime(17694): 	at java.lang.Thread.run(Thread.java:761)
E/AndroidRuntime(17694): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.matches(java.lang.String)' on a null object reference
E/AndroidRuntime(17694): 	at com.sangcomz.fishbun.util.RegexUtil.checkGif(RegexUtil.java:12)
E/AndroidRuntime(17694): 	at com.sangcomz.fishbun.ui.album.AlbumController$LoadAlbumList.doInBackground(AlbumController.java:87)
E/AndroidRuntime(17694): 	at com.sangcomz.fishbun.ui.album.AlbumController$LoadAlbumList.doInBackground(AlbumController.java:48)
E/AndroidRuntime(17694): 	at android.os.AsyncTask$2.call(AsyncTask.java:305)
E/AndroidRuntime(17694): 	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/AndroidRuntime(17694): 	... 4 more
E/flutter (17694): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: The user has cancelled the selection
E/flutter (17694): #0      MultiImagePicker.pickImages (package:multi_image_picker/src/picker.dart:73:11)
E/flutter (17694): <asynchronous suspension>
E/flutter (17694): #1      _MyHomePageState.pickImages (package:colla_gen2/main.dart:77:45)
E/flutter (17694): <asynchronous suspension>
E/flutter (17694): #2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:654:14)
E/flutter (17694): #3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:729:32)
E/flutter (17694): #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (17694): #5      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter (17694): #6      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
E/flutter (17694): #7      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
E/flutter (17694): #8      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
E/flutter (17694): #9      PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
E/flutter (17694): #10     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter (17694): #11     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (17694): #12     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (17694): #13     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (17694): #14     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (17694): #15     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (17694): #16     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (17694): #17     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (17694): #18     _invoke1 (dart:ui/hooks.dart:263:10)
E/flutter (17694): #19     _dispatchPointerDataPacket (dart:ui/hooks.dart:172:5)

Smartphone (please complete the following information):

  • Device: FairPhone 2
  • OS: Android 7.1.2
  • Native App
  • Flutter 4.5.8

Additional Info: The multi-image-picker is AndroidX based and the flutter app needs to be AndroidX based as well.

bitbendergames avatar Oct 15 '19 20:10 bitbendergames

Hi @bitbendergames , I am getting this error

java.lang.NoSuchMethodError: No static method getNamedColorStateList(Landroid/content/res/TypedArray;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources$Theme;Ljava/lang/String;I)Landroid/content/res/ColorStateList; in class Landroidx/core/content/res/TypedArrayUtils; or its super classes (declaration of 'androidx.core.content.res.TypedArrayUtils' appears in /data/app/com.mobile.sea_mount-2/base.apk) at androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:765) at androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:719) at androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:682) at androidx.appcompat.widget.ResourceManagerInternal$VdcInflateDelegate.createFromXmlInner(ResourceManagerInternal.java:526) at androidx.appcompat.widget.ResourceManagerInternal.loadDrawableFromDelegates(ResourceManagerInternal.java:287) at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:139) at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:132) at androidx.appcompat.widget.ResourceManagerInternal.checkVectorDrawableSetup(ResourceManagerInternal.java:504) at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:137) at androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:411) at androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86) at androidx.appcompat.app.AppCompatDelegateImpl.attachToWindow(AppCompatDelegateImpl.java:647) at androidx.appcompat.app.AppCompatDelegateImpl.ensureWindow(AppCompatDelegateImpl.java:623) at androidx.appcompat.app.AppCompatDelegateImpl.onCreate(AppCompatDelegateImpl.java:350) at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:105) at com.sangcomz.fishbun.BaseActivity.onCreate(BaseActivity.java:21) at com.sangcomz.fishbun.ui.album.AlbumActivity.onCreate(AlbumActivity.java:71) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Is any solution?

Bhagatcliffex avatar Oct 21 '19 07:10 Bhagatcliffex

i'm getting a similar error, however my app isn't hard crashing. just seems to be an error (warning?) logged into android studio.

jam33 avatar Nov 14 '19 15:11 jam33

I think I have the same problem too. The weird think is its working fine only when I deploy the apk file from VS Code directly to my device, however when I publish the app to Google Play for internal test using the aab format , it keeps restarting the app whenever I start choosing the images from gallery. I also have logs about the crash in FirebaseCrashlytics but its not useful to me. I guess the app signing process from Google Play may break this thing, not too sure. Been trying many days without luck :(.

Below is info from flutter doctor

[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.19042.804], locale en-US)
 
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.53.2)
[√] Connected device (1 available)

! Doctor found issues in 1 category.

multi_image_picker: ^4.7.15

And here is the error log from FirebaseCrashlytics:

Fatal Exception: java.lang.NoSuchMethodError: No static method asAttributeSet(Ln/b/a/a;)Landroid/util/AttributeSet; in class Landroid/util/Xml; or its super classes (declaration of 'android.util.Xml' appears in /system/framework/framework.jar!classes3.dex)
       at androidx.appcompat.view.SupportMenuInflater.inflate(SupportMenuInflater.java:21)
       at com.sangcomz.fishbun.ui.picker.PickerActivity.onCreateOptionsMenu(PickerActivity.java:6)
       at android.app.Activity.onCreatePanelMenu(Activity.java:4119)
       at androidx.fragment.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:2)
       at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:2)
       at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onCreatePanelMenu(AppCompatDelegateImpl.java:8)
       at androidx.appcompat.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:2)
       at androidx.appcompat.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:25)
       at androidx.appcompat.app.ToolbarActionBar$1.run(ToolbarActionBar.java:2)
       at android.os.Handler.handleCallback(Handler.java:883)
       at android.os.Handler.dispatchMessage(Handler.java:100)
       at android.os.Looper.loop(Looper.java:237)
       at android.app.ActivityThread.main(ActivityThread.java:8167)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

thanh-mel avatar Mar 05 '21 12:03 thanh-mel

@thanh-mel I'm getting exactly the same error, did you find the cause ?

SylvainLosey avatar Mar 16 '21 10:03 SylvainLosey

@thanh-mel I'm getting exactly the same error, did you find the cause ?

No unfortunately @SylvainLosey. I gave up and just use the image_picker lib only for now :(.

thanh-mel avatar Mar 16 '21 12:03 thanh-mel

This is an issue on the flutter side, so I don't know how to help. 😭 Is there any way I can help?

sangcomz avatar Mar 16 '21 12:03 sangcomz

Yes apparently in my app the startInAllView option of the multi_image_picker flutter plugin is causing a crash when opening the image picker. However it doesn't seem to happen on their example app.

FYI: To reproduce the issue, the emulator must have a high DPI otherwise another bug with the exact same manifestation happens (app crashes when opening the image picker): https://stackoverflow.com/questions/49261555/system-ui-has-stopped-emulator-when-requesting-permissions. It also only seems to happen in release mode.

SylvainLosey avatar Mar 16 '21 15:03 SylvainLosey

Nevermind this just delayed the problem. Now instead of crashing when opening the picker it crashes when selecting a picture.

However recreating a fresh flutter install, copying lib and going through the install steps of all plugins solved the problem for me. My app was created long ago and some step in the various upgrades / migrations must have been wrong

SylvainLosey avatar Mar 17 '21 09:03 SylvainLosey