Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failed to resolve in superclasses and interfacesLooking #17

Open
barbosamaatheus opened this issue Aug 26, 2022 · 0 comments
Open

failed to resolve in superclasses and interfacesLooking #17

barbosamaatheus opened this issue Aug 26, 2022 · 0 comments

Comments

@barbosamaatheus
Copy link
Contributor

Ao executar alguns casos estou recebendo esse erro:

Running left right NonCommutativeConflictDetectionAlgorithm{name = DF Inter}
Using jar at /media/galileu/Arquivos/Doutorado/Pesquisa/miningframework/output/files/elasticsearch/d896886973660785aac45275ddb110c1a6babc57/original-without-dependencies/merge/elasticsearch-5.0.0-SNAPSHOT.jar
soot.SootMethodRefImpl$ClassResolutionFailedException: Class org.elasticsearch.common.util.BigArray doesn't have method ramBytesUsed([]) : long; failed to resolve in superclasses and interfacesLooking in org.elasticsearch.common.util.BigArray which has methods [<org.elasticsearch.common.util.BigArray: long size()>]
Looking in java.lang.Object which has methods [<java.lang.Object: void <init>()>, <java.lang.Object: void registerNatives()>, <java.lang.Object: java.lang.Class getClass()>, <java.lang.Object: int hashCode()>, <java.lang.Object: boolean equals(java.lang.Object)>, <java.lang.Object: java.lang.Object clone()>, <java.lang.Object: java.lang.String toString()>, <java.lang.Object: void notify()>, <java.lang.Object: void notifyAll()>, <java.lang.Object: void wait(long)>, <java.lang.Object: void wait(long,int)>, <java.lang.Object: void wait()>, <java.lang.Object: void finalize()>, <java.lang.Object: void <clinit>()>]
Looking in org.elasticsearch.common.lease.Releasable which has methods [<org.elasticsearch.common.lease.Releasable: void close()>]
Looking in org.apache.lucene.util.Accountable which has methods []
Looking in java.io.Closeable which has methods [<java.io.Closeable: void close()>]
Looking in java.lang.AutoCloseable which has methods [<java.lang.AutoCloseable: void close()>]

	at soot.SootMethodRefImpl.resolve(SootMethodRefImpl.java:283)
	at soot.SootMethodRefImpl.resolve(SootMethodRefImpl.java:183)
	at soot.jimple.internal.AbstractInvokeExpr.getMethod(AbstractInvokeExpr.java:56)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:274)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:256)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:230)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:256)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:230)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:256)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:230)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:256)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:230)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:256)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:230)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.invokeRule(JSVFA.scala:318)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:245)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.$anonfun$traverse$1(JSVFA.scala:229)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA.traverse(JSVFA.scala:225)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA$Transformer.$anonfun$internalTransform$1(JSVFA.scala:207)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at br.ufpe.cin.soot.analysis.jimple.JSVFA$Transformer.internalTransform(JSVFA.scala:206)
	at soot.SceneTransformer.transform(SceneTransformer.java:36)
	at soot.Transform.apply(Transform.java:102)
	at soot.ScenePack.internalApply(ScenePack.java:35)
	at soot.Pack.apply(Pack.java:117)
	at br.ufpe.cin.soot.analysis.SVFA.$anonfun$buildSparseValueFlowGraph$1(SVFA.scala:18)
	at br.ufpe.cin.soot.analysis.SVFA.$anonfun$buildSparseValueFlowGraph$1$adapted(SVFA.scala:18)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at br.ufpe.cin.soot.analysis.SVFA.buildSparseValueFlowGraph(SVFA.scala:18)
	at br.unb.cic.analysis.Main.runSparseValueFlowAnalysis(Main.java:394)
	at br.unb.cic.analysis.Main.runAnalysis(Main.java:170)
	at br.unb.cic.analysis.Main.main(Main.java:70)

Analisando o cenário real, constatei que o pacote util de import org.apache.lucene.util.Accountable; não existe no projeto.
Desta forma, a interface BigArray não consegue acessar a superclasse Accountable. public interface BigArray extends Releasable, Accountable

Acredito que isso deveria ser barrado na verificação de métodos fantasmas do SVFA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant