Skip to content

[Bug]: Missing Superclass in Android should not cause an exception, just a warning #1066

@sahilagichani14

Description

@sahilagichani14

What happened?

Check #958

Version

Latest develop branch

Relevant log output

Exception in thread "main" java.lang.IllegalStateException: Class Information Should not be null
	at sootup.apk.frontend.dexpler.DexClassSource.resolveSuperclass(DexClassSource.java:114)
	at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:181)
	at sootup.core.model.SootClass.getSuperclass(SootClass.java:158)
	at sootup.java.core.JavaSootClass.getSuperclass(JavaSootClass.java:129)
	at java.base/java.util.Optional.flatMap(Optional.java:289)
	at sootup.interceptors.typeresolving.AugEvalFunction.getExceptionPath(AugEvalFunction.java:253)
	at sootup.interceptors.typeresolving.AugEvalFunction.getLeastCommonExceptionType(AugEvalFunction.java:281)
	at sootup.interceptors.typeresolving.AugEvalFunction.evaluate(AugEvalFunction.java:199)
	at sootup.interceptors.typeresolving.TypeResolver.applyAssignmentConstraint(TypeResolver.java:216)
	at sootup.interceptors.typeresolving.TypeResolver.resolve(TypeResolver.java:75)
	at sootup.interceptors.TypeAssigner.interceptBody(TypeAssigner.java:42)
	at sootup.apk.frontend.dexpler.DexMethodSource.resolveBody(DexMethodSource.java:65)
	at sootup.apk.frontend.dexpler.DexMethodSource.makeSootMethod(DexMethodSource.java:76)
	at sootup.apk.frontend.main.DexBody.makeSootMethod(DexBody.java:360)
	at sootup.apk.frontend.dexpler.DexMethod.makeSootMethod(DexMethod.java:55)
	at sootup.apk.frontend.dexpler.DexClassSource.loadMethod(DexClassSource.java:144)
	at sootup.apk.frontend.dexpler.DexClassSource.lambda$resolveMethods$0(DexClassSource.java:69)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at sootup.apk.frontend.dexpler.DexClassSource.resolveMethods(DexClassSource.java:70)
	at sootup.core.model.SootClass.lazyMethodInitializer(SootClass.java:78)
	at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:181)
	at sootup.core.model.SootClass.getMethods(SootClass.java:95)
	at sootup.java.core.JavaSootClass.getMethods(JavaSootClass.java:68)
	at sootupexport.FactGenerator.generate(FactGenerator.java:28)
	at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at sootupexport.FactGenerator.run(FactGenerator.java:22)
	at sootupexport.Main.main(Main.java:32)

Metadata

Metadata

Assignees

Labels

androidIssues related to processing APKsbugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions