Adobe-Runtime-Support icon indicating copy to clipboard operation
Adobe-Runtime-Support copied to clipboard

Android always crash with AIR 50.2.2.3: java.lang.ClassNotFoundException: Didn't find class "com.adobe.air.AIRFileUtils"

Open megajogos opened this issue 2 years ago • 19 comments

Our app crash on Android a second after startup with the following native error:

2023-04-06 10:12:45.756 6247-6375/? W/AdobeAIR: Unable to load AIR file utils - content URIs will be unavailable
2023-04-06 10:12:45.757 6247-6375/? A/zygote: thread.cc:2090] No pending exception expected: java.lang.ClassNotFoundException: Didn't find class "com.adobe.air.AIRFileUtils" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib, /system/vendor/lib, /system/lib, /system/vendor/lib]]
2023-04-06 10:12:45.757 6247-6375/? A/zygote: thread.cc:2090]   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
2023-04-06 10:12:45.757 6247-6375/? A/zygote: thread.cc:2090]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
2023-04-06 10:12:45.757 6247-6375/? A/zygote: thread.cc:2090]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)

Known Workarounds

Use AIR 50.2.2.1 or before

megajogos avatar Apr 06 '23 16:04 megajogos

Always Crash on Google Pixel 6A with Android 13 since 50.2.2.3

04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:681] Pending exception java.lang.ClassNotFoundException: com.adobe.air.AIRFileUtils
04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:681] (Throwable with empty stack trace)
04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:681]
04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:689] No pending exception expected: java.lang.ClassNotFoundException: com.adobe.air.AIRFileUtils
04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:689] (Throwable with empty stack trace)
04-12 18:19:44.993  5025  5088 F ginovTABLET.V51: runtime.cc:689]

Policy56 avatar Apr 12 '23 16:04 Policy56

We are seeing this same crash, using 50.2.2.3

marchbold avatar Apr 13 '23 01:04 marchbold

When using version 50.2.2.3, the same crash occurred. This happens regardless of Android OS version and device.

Build fingerprint: 'samsung/b0qksx/b0q:13/TP1A.220624.014/S908NKSU3CWCE:user/release-keys'
Revision: '14'
ABI: 'arm64'
Processor: '7'
Timestamp: 2023-04-13 14:29:55.715608044+0900
Process uptime: 44s
Cmdline: xxx.xxx.xxx
pid: 5096, tid: 5940, name: Thread-28  >>>xxx.xxx.xxx<<<
uid: 10463
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'JNI DETECTED ERROR IN APPLICATION: JNI NewStringUTF called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.adobe.air.AIRFileUtils" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib64, /system_ext/lib64, /system/lib64, /system_ext/lib64]]
  at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:259)
  at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
  at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)

dark0084 avatar Apr 13 '23 05:04 dark0084

@ajwfrost any news about this?

megajogos avatar Apr 13 '23 11:04 megajogos

I have the same issue. My app crashes with 50.2.2.3 SDK; works well with previous version.

Hoping a fix soon...

Nisaba avatar Apr 13 '23 11:04 Nisaba

Should be the early hours of tomorrow I hope..

ajwfrost avatar Apr 13 '23 16:04 ajwfrost

Hello, I've tried the 50.2.2.4 version that was released this morning. Unfortunately, the issue remains for me : the app still crashes at startup...

Nisaba avatar Apr 14 '23 10:04 Nisaba

For me such issues fixed with AIR 50.2.2.4.

itlancer avatar Apr 14 '23 11:04 itlancer

@Nisaba are you able to collect a logcat trace please? You can do this with ADT e.g.

adt -deviceLog -platform android > log.txt

If you start that and then open the application so that it crashes, and then type "quit" (enter) - or you can ctrl-c a couple of times - then the log.txt should contain the details. This may be something else...!

thanks

ajwfrost avatar Apr 14 '23 13:04 ajwfrost

Hello. AIR 50.2.2.4 seemed to fix it for us.

rdefalco avatar Apr 14 '23 14:04 rdefalco

@ajwfrost Hello, here is what I could found. Hoping it helps

-16 11:18:15.123 23795-23795/? A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x58 in tid 23795 (isaba.solutions), pid 23795 (isaba.solutions) 2023-04-16 11:18:15.131 967-997/? E/libperflog: [LIBPERFLOG] socket_local_client fail = -1 2023-04-16 11:18:15.737 23884-23884/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2023-04-16 11:18:15.737 23884-23884/? A/DEBUG: Build fingerprint: 'samsung/a12snnxx/a12s:12/SP1A.210812.016/A127FXXU5BVF2:user/release-keys' 2023-04-16 11:18:15.737 23884-23884/? A/DEBUG: Revision: '1' 2023-04-16 11:18:15.737 23884-23884/? A/DEBUG: ABI: 'arm' 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: Processor: '5' 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: Timestamp: 2023-04-16 11:18:15.202712856+0200 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: Process uptime: 4s 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: Cmdline: air.geotracker.nisaba.solutions 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: pid: 23795, tid: 23795, name: isaba.solutions >>> air.geotracker.nisaba.solutions <<< 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: uid: 10390 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x58 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: Cause: naull pointer dereference 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: r0 c7ca1040 r1 dd54f8b9 r2 00000002 r3 00000003 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: r4 f556f400 r5 c872d475 r6 00000000 r7 ffe9e628 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: r8 00000001 r9 c7b90d78 r10 c6d0f850 r11 c7b61000 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: ip f403b058 sp ffe9e590 lr f3fb3f37 pc c8617bf2 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: backtrace: 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: #00 pc 00154bf2 /data/app/~~oBvGZRff3HANc2cul2plDQ==/air.geotracker.nisaba.solutions-3kgdBuup5O4j1h-tkPNecw==/lib/arm/libCore.so (BuildId: 1a2b366159a30e9db8b923dcd27b289dd6a588cf) 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: #01 pc 0045e20f /data/app/~~oBvGZRff3HANc2cul2plDQ==/air.geotracker.nisaba.solutions-3kgdBuup5O4j1h-tkPNecw==/lib/arm/libCore.so (BuildId: 1a2b366159a30e9db8b923dcd27b289dd6a588cf) 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: #02 pc 0045831f /data/app/~~oBvGZRff3HANc2cul2plDQ==/air.geotracker.nisaba.solutions-3kgdBuup5O4j1h-tkPNecw==/lib/arm/libCore.so (BuildId: 1a2b366159a30e9db8b923dcd27b289dd6a588cf) 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: #03 pc 004cb3df /data/app/~~oBvGZRff3HANc2cul2plDQ==/air.geotracker.nisaba.solutions-3kgdBuup5O4j1h-tkPNecw==/lib/arm/libCore.so (BuildId: 1a2b366159a30e9db8b923dcd27b289dd6a588cf) 2023-04-16 11:18:15.738 23884-23884/? A/DEBUG: #04 pc 0000068f anonymous:c6cd2000 2023-04-16 11:18:15.795 413-413/? E/tombstoned: Tombstone written to: tombstone_10 2023-04-16 11:18:15.810 549-549/? E/audit: type=1701 audit(1681636695.805:22822): auid=4294967295 uid=10390 gid=10390 ses=4294967295 subj=u:r:untrusted_app:s0:c134,c257,c512,c768 pid=23795 comm="isaba.solutions" exe="/system/bin/app_process32" sig=11 res=1 2023-04-16 11:18:15.832 1323-1339/? E/TaskStackListenerAbstract: onTaskSnapshotChanged called by Binder.getCallingPid() 0 android.app.ITaskStackListener$Stub.onTransact:585 android.os.Binder.execTransactInternal:1220 android.os.Binder.execTransact:1179 2023-04-16 11:18:15.838 1323-11966/? E/TaskStackListenerAbstract: onTaskSnapshotChanged called by Binder.getCallingPid() 0 android.app.ITaskStackListener$Stub.onTransact:585 android.os.Binder.execTransactInternal:1220 android.os.Binder.execTransact:1179 2023-04-16 11:18:15.838 3645-21638/? E/TaskStackListenerAbstract: onTaskSnapshotChanged called by Binder.getCallingPid() 0 android.app.ITaskStackListener$Stub.onTransact:585 android.os.Binder.execTransactInternal:1220 android.os.Binder.execTransact:1179 2023-04-16 11:18:15.854 650-650/? E/ClientCache: failed to get buffer, invalid process token 2023-04-16 11:18:15.869 650-650/? E/BpTransactionCompletedListener: Failed to transact (-32) 2023-04-16 11:18:15.873 1901-1901/? E/libprocessgroup: set_timerslack_ns write failed: Operation not permitted 2023-04-16 11:18:15.910 2012-2012/? E/pageboostd: Received HALT command code 2 2023-04-16 11:18:15.911 3645-3645/? E/libperflog: [LIBPERFLOG] socket_local_client fail = -1 2023-04-16 11:18:15.943 23904-23904/? E/ng.android.loo: Not starting debugger since process cannot load the jdwp agent. 2023-04-16 11:18:15.947 1901-1901/? E/libprocessgroup: set_timerslack_ns write failed: Operation not permitted 2023-04-16 11:18:15.950 23904-23904/? E/USNET: USNET: appName: com.samsung.android.lool 2023-04-16 11:18:16.241 23948-23948/? E/oid.sm.provide: Not starting debugger since process cannot load the jdwp agent. 2023-04-16 11:18:16.243 23948-23948/? E/USNET: USNET: appName: com.samsung.android.sm.provider 2023-04-16 11:18:16.423 967-1302/? E/Pageboost: ioinfo read failed 2023-04-16 11:18:16.466 2012-2012/? E/pageboostd: Received HALT command code 2 2023-04-16 11:18:16.537 967-4379/? E/AppOps: evalMode() Foreground mode : uid - 5021, op - 26, capability - 0 2023-04-16 11:18:16.538 612-612/? E/ExynosCamera: Build Date is (Jun 8 2022) (15:20:27) Process 64 bit

Nisaba avatar Apr 16 '23 09:04 Nisaba

Thanks @Nisaba - that looks like it's a native extension that's failing to register properly.. so a different error at least, but one that we'll need to investigate.

ajwfrost avatar Apr 16 '23 10:04 ajwfrost

OK thanks. But note that works well on the previous 50.1.1 SDK version.

Nisaba avatar Apr 16 '23 11:04 Nisaba

That's strange as there's not a lot of difference here that should affect things. Would you be okay if we took a look at the APK, if you're able to build an apk-debug version then we can hopefully (a) reproduce it here and (b) replace the libCore with our own version with extra debugging information in it.. plus we can analyse the APK assets to check the descriptor and ANEs all seem to be in order.

The error (judging by the crash location and code beforehand) may be happening if an ANE was requested to be registered but already was registered.. There was one change we made here which is in relation to Worker objects, where these now would register the extensions too in order to get the AS3 definitions, so perhaps it's that. Thinking about it, do you use any delay-loaded extensions? Although, no the crash is happening in the main content loading step, before executing any of your code, which means it's not about Workers...

Anyway - if you're able to upload the APK below, we can investigate further. https://transfer.harman.com/requests/v7kryNBlzq9e3LOAuYETU2

thanks

ajwfrost avatar Apr 17 '23 00:04 ajwfrost

Ok, the APK has been submitted, thanks.

Nisaba avatar Apr 17 '23 13:04 Nisaba

Thanks -> definitely something wrong with that ANE. It's got an extension XML file with:

<platform name="Android-ARM"> 
<applicationDeployment/> 
</platform>

No native library or initializer or anything, and there's no .jar or .so file in there. So that's why it's failing... Assuming you don't actually need/use that ANE (or it would tell you at runtime it's not supported), then we can put a patch into the runtime to stop the crash from happening... but you could just remove it for now from your app descriptor file.

thanks

ajwfrost avatar Apr 17 '23 14:04 ajwfrost

OK ! I removed this ANE : com.freshplanet.AirNetworkInfo And it works now. Thanks !

Anyway, maybe it would be interesting to fix this issue on the next SDK release.

Nisaba avatar Apr 17 '23 14:04 Nisaba

it would be interesting to fix this issue on the next SDK release.

Done :-)

thanks

ajwfrost avatar Apr 18 '23 01:04 ajwfrost

@ajwfrost Starting from AIR ~51.2.2.x I can observe similar errors in LogCat on application start. But in my case it don't cause crashes. It happens with multiple different devices, different Android versions (maybe in all cases armv7 used?) with different applications (even every simple and without native extensions). 2025-10-07 13:35:43.415 13861-13900 AdobeAIR and....onplaystatus.render.stop.bug I Exception caught from Java: java.lang.ClassNotFoundException: Didn't find class "com.adobe.fre.FREArray" on path: DexPathList[[zip file "/data/app/android.videotexture.onplaystatus.render.stop.bug-1/base.apk"],nativeLibraryDirectories=[/data/app/android.videotexture.onplaystatus.render.stop.bug-1/lib/arm, /data/app/android.videotexture.onplaystatus.render.stop.bug-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]

Here full log with sample using latest AIR 51.2.2.5: https://github.com/airsdk/Adobe-Runtime-Support/issues/2934#issuecomment-3376375149

itlancer avatar Oct 07 '25 11:10 itlancer