Home Features Docs Blog Support GitHub

MOE is failing to find inner class java.lang.NoClassDefFoundError


(Sachin) #1

Hi, I have a custom class that I’m referring to from common module(added as dependency and being called from IOS MOE module)
I have a obfuscated jar that has inner class and for some reason MOE is failing to recognize
those inner classes

:ios:moeMainDebugX86Dex2Oat
###########
# ERROR LOG
###########


...
dex2oat W  7003 83000 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/util/function/Function;
dex2oat W  7003 83001 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/util/function/IntFunction;
dex2oat W  7003 83000 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/lang/invoke/LambdaForm$Hidden;
dex2oat W  7003 82999 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/nio/file/Path;
dex2oat W  7003 83001 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/nio/file/Files;
dex2oat W  7003 82999 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/util/function/IntFunction;
dex2oat W  7003 83001 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/util/stream/Stream;
dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/util/function/Function;
dex2oat W  7003 83000 /Users/rolandvigh/public-repo/aosp/art/compiler/driver/compiler_driver.cc:2033] Failed to resolve class Ljava/nio/file/LinkOption;
dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/dex/verification_results.cc:61] Method processed more than once: void android.icu.text.NumberFormat.<clinit>()
dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/dex/verification_results.cc:61] Method processed more than once: java.lang.String java.lang.AbstractStringBuilder.substring(int)
dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/dex/verification_results.cc:61] Method processed more than once: java.lang.String com.android.org.bouncycastle.util.Strings.toLowerCase(java.lang.String)
dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/dex/verification_results.cc:61] Method processed more than once: java.lang.String java.lang.IntegralToString.stringOf(char[])
dex2oat I  7003 82983 /Users/rolandvigh/public-repo/aosp/art/runtime/gc/heap.cc:2729] Explicit concurrent mark sweep GC freed 34525(7MB) AllocSpace objects, 0(0B) LOS objects, 32% free, 8MB/12MB, paused 36us total 11.035ms
dex2oat F 7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/oat_writer.cc:649]Unexpected failure to resolve a method: void com.custom.base.a.f$$Lambda$1.<clinit>()
dex2oat F  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/oat_writer.cc:655] java.lang.NoClassDefFoundError: com.custom.base.a.f$$Lambda$1
dex2oat F  7003 82983 /Users/rolandvigh/public-repo/aosp/art/compiler/oat_writer.cc:655] (Throwable with empty stack trace)
NATIVE BACKTRACE:
0   dex2oat                             0x000000000e537659 _ZN3art7Runtime5AbortEv + 99
1   dex2oat                             0x000000000e55ba99 _ZN3art10LogMessageD2Ev + 649
2   dex2oat                             0x000000000e41f0c7 _ZN3art9OatWriter22InitImageMethodVisitor11VisitMethodEmRKNS_21ClassDataItemIteratorE + 1677
3   dex2oat                             0x000000000e41a567 _ZN3art9OatWriter15VisitDexMethodsEPNS0_16DexMethodVisitorE + 257
4   dex2oat                             0x000000000e419eb9 _ZN3art9OatWriter19InitOatCodeDexFilesEm + 179
5   dex2oat                             0x000000000e418e93 _ZN3art9OatWriterC2ERKNSt3__16vectorIPKNS_7DexFileENS1_9allocatorIS5_EEEEjmiPKNS_14CompilerDriverEPNS_11ImageWriterEPNS_12TimingLoggerEPNS_7SafeMapINS1_12basic_stringIcNS1_11char_traitsIcEENS6_IcEEEESN_NS1_4lessISN_EENS_17TrackingAllocatorINS1_4pairIKSN_SN_EELNS_12AllocatorTagE7EEEEE + 611
6   dex2oat                             0x000000000e29fa0e _ZN3art7Dex2Oat13CreateOatFileEv + 428
7   dex2oat                             0x000000000e2916a3 main + 611
8   libdyld.dylib                       0x0000000010f8c015 start + 1

dex2oat F 7003 82983 /Users/rolandvigh/public-repo/aosp/art/runtime/runtime.cc:464]Runtime aborting...
Aborting thread:
"main" prio=5 tid=1 Runnable (still starting up)
  | group="" sCount=0 dsCount=0 obj=0x0 self=0x7fc412002000
  | sysTid=82983 nice=-1 cgrp=default sched=1/31 handle=0x11420380
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0x7ffee1174000-0x7ffee117c000 stackSize=8MB
  | held mutexes= "abort lock" "mutator lock"(shared held)
  (no managed stack frames)
Pending exception java.lang.NoClassDefFoundError: com.custom.base.a.f$$Lambda$1
(Throwable with empty stack trace)Dumping all threads without appropriate locks held: thread list lock
All threads:
DALVIK THREADS (1):
"main" prio=5 tid=1 Runnable (still starting up)
  | group="" sCount=0 dsCount=0 obj=0x0 self=0x7fc412002000
  | sysTid=82983 nice=-1 cgrp=default sched=1/31 handle=0x11420380
  | state=? schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
  | stack=0x7ffee1174000-0x7ffee117c000 stackSize=8MB
  | held mutexes= "abort lock" "mutator lock"(shared held)
  (no managed stack frames)

dex2oat W  7003 82983 /Users/rolandvigh/public-repo/aosp/art/runtime/barrier.cc:96] Attempted to destroy barrier with non zero count -1

(Sachin) #2

I tried to keep class in proguard.append.cfg , that did not help


#3

Could you share a simple project that can reproduce this problem?


(Sachin) #4

I was able to resolve this issue by changing the way i was doing obfuscation. thank you for the support. I have a new issue implementing XPath and have opened a thread in that matter. Hope to get that issue resolved as well