[Soot-list] Weird Compilation Errors When Dealing with ZooKeeper

Alexandre Bartel alexandre.bartel at cased.de
Thu Dec 4 05:36:10 EST 2014


Hi Tianyin,

It seems you are using an outdated version of Soot.
Could you try with the latest nightly build?

Thanks!
Alexandre

On Wed, 2014-12-03 at 23:54 -0800, Tianyin Xu wrote:
> Hi all, 
> 
> 
> 
> I'm new to Soot. I've carefully read all the tutorials on the website,
> and tried out some toy programs successfully. 
> 
> 
> I try to see how Soot works with real-world Java programs, so I picked
> ZooKeeper and try to compile it use Soot. But I encountered the
> following error:
> 
> 
> Exception in thread "main" java.lang.RuntimeException: couldn't find
> class: wildcards.& java.net.SocketAddress& java.lang.String (is your
> soot-class-path set properly?)
> at soot.SootResolver.bringToHierarchy(SootResolver.java:205)
> at soot.SootResolver.bringToSignatures(SootResolver.java:239)
> at soot.SootResolver.bringToBodies(SootResolver.java:280)
> at soot.SootResolver.processResolveWorklist(SootResolver.java:150)
> at soot.SootResolver.resolveClass(SootResolver.java:124)
> at soot.Scene.loadClass(Scene.java:448)
> at soot.Scene.loadClassAndSupport(Scene.java:433)
> at soot.Scene.loadNecessaryClasses(Scene.java:1076)
> at soot.Main.run(Main.java:167)
> at soot.Main.main(Main.java:141)
> at wjtp_analysis.Main.main(Main.java:89)
> 
> 
> I'm pretty sure I setup the classpath successfully (that's how I did
> with other programs). The commend is
> 
> 
> #java  -cp <soot> soot.Main -cp <zookeeper> -pp -w -main-class
> org.apache.zookeeper.ZooKeeperMain -process-dir, /home/tianyin/app/zookeeper-3.4.6/src/java/main/
> 
> 
> <soot> points to jasminclasses-2.5.0.jar, polyglotclasses-1.3.5.jar,
> and sootclasses-2.5.0.jar
> <zookeeper> points to the external libraries ZooKeeper relies on
> 
> 
> It seems that Soot is looking for a class named "wildcards.&
> java.net.SocketAddress& java.lang.String", but certainly there's no
> such weird class. I searched hard and didn't find anything
> suspicious...  
> 
> 
> If I use "-allow-phantom-refs", then I can bypass the errors but then
> I got the following errors which I suspect to be caused by this
> previous problem.
> 
> 
> Warning: java.dyn.InvokeDynamic is a phantom class!
> Warning: wildcards.& java.net.SocketAddress& java.lang.String is a
> phantom class!
> [Call Graph] For information on where the call graph may be
> incomplete, use the verbose option to the cg phase.
> Transforming org.apache.zookeeper.ZooDefs$OpCode... 
> Transforming org.apache.zookeeper.ZooDefs$Perms... 
> ......
> Writing to sootOutput/org/apache/zookeeper/ZooDefs$OpCode.class
> Writing to sootOutput/org/apache/zookeeper/ZooDefs$Perms.class
> ...
> Exception in thread "main" java.lang.RuntimeException:
> <org.apache.zookeeper.server.persistence.FileTxnSnapLog: long
> restore(org.apache.zookeeper.server.DataTree,java.util.Map,org.apache.zookeeper.server.persistence.FileTxnSnapLog$PlayBackListener)>: incoherent stack height at block merge point Block 1:
> [preds: 0 20 ] [succs: 2 ]
> nop;
> goto nop;
> Block 20:
> [preds: 18 ] [succs: 1 ]
> nop;
> goto nop;
> 
> 
> computed blockHeight == 2 recorded blockHeight = 0
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1910)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.calculateStackHeight(JasminClass.java:1915)
> at soot.baf.JasminClass.emitMethodBody(JasminClass.java:322)
> at soot.AbstractJasminClass.emitMethod(AbstractJasminClass.java:697)
> at soot.AbstractJasminClass.<init>(AbstractJasminClass.java:576)
> at soot.baf.JasminClass.<init>(JasminClass.java:92)
> at soot.PackManager.writeClass(PackManager.java:878)
> at soot.PackManager.writeOutput(PackManager.java:475)
> at soot.PackManager.writeOutput(PackManager.java:400)
> at soot.Main.run(Main.java:199)
> at soot.Main.main(Main.java:141)
> at wjtp_analysis.Main.main(Main.java:89)
> 
> 
> Thanks a lot!
> Tianyin
> _______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list





More information about the Soot-list mailing list