soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.85k stars 705 forks source link

java.lang.RuntimeException when soot call `retrieveActiveBody` #1960

Open Mech0n opened 1 year ago

Mech0n commented 1 year ago

Error when I instrument some app, I just want to know how to ignore this error when soot call retrieveActiveBody.

Soot version:

trunk

Command line:

-w -process-dir com.tencent.fit.ccm_267.apk -d sootOutput_boosted_apps -ire -pp -keep-line-number -allow-phantom-refs -p cg enabled:true

Max Memory:

3641MB

Stack trace:

java.lang.RuntimeException: no superclass for org.apache.http.entity.HttpEntityWrapper
    at soot.SootClass.getSuperclass(SootClass.java:893)
    at soot.jimple.toolkits.typing.fast.BytecodeHierarchy.buildAncestryTree(BytecodeHierarchy.java:76)
    at soot.jimple.toolkits.typing.fast.BytecodeHierarchy.lcas_(BytecodeHierarchy.java:170)
    at soot.jimple.toolkits.typing.fast.BytecodeHierarchy.lcas(BytecodeHierarchy.java:288)
    at soot.jimple.toolkits.typing.fast.TypeResolver.applyAssignmentConstraints(TypeResolver.java:516)
    at soot.jimple.toolkits.typing.fast.TypeResolver.inferTypes(TypeResolver.java:148)
    at soot.jimple.toolkits.typing.TypeAssigner.internalTransform(TypeAssigner.java:121)
    at soot.BodyTransformer.transform(BodyTransformer.java:55)
    at soot.BodyTransformer.transform(BodyTransformer.java:59)
    at soot.dexpler.DexBody.jimplify(DexBody.java:769)
    at soot.dexpler.DexMethod$1.getBody(DexMethod.java:120)
    at soot.SootMethod.retrieveActiveBody(SootMethod.java:402)
    at soot.PackManager$1.run(PackManager.java:1279)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)