<div dir="ltr">Hi Steven,<div><br></div><div>Tried without replacing and still no good.</div><div><br></div><div>Best</div><div>Marcelino</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-20 16:35 GMT+02:00 Steven Arzt <span dir="ltr">&lt;<a href="mailto:Steven.Arzt@cased.de" target="_blank">Steven.Arzt@cased.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hi Marcelino,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">why do you replace the backslahes in your Soot classpath by slashes? Soot will automatically pick the correct path delimiter for your operating system. Using a slash on Windows may lead to issues as the path separator is a backslash on Windows.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">Best regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">  Steven<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">Von:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> <a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a> [mailto:<a href="mailto:soot-list-bounces@CS.McGill.CA" target="_blank">soot-list-bounces@CS.McGill.CA</a>] <b>Im Auftrag von </b>Marcelino Rodriguez Cancio<br><b>Gesendet:</b> Montag, 20. April 2015 16:31<br><b>An:</b> <a href="mailto:soot-list@CS.McGill.CA" target="_blank">soot-list@CS.McGill.CA</a><br><b>Betreff:</b> [Soot-list] Class path problem, cant find java.lang.CharSequence<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hi all,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I’m trying to run one of the Soot examples found in the wiki in all classes in a directory. But got this error:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">resolving [from .java]: TestClass1<u></u><u></u></p><p class="MsoNormal">Exception in thread &quot;main&quot; java.lang.Error: Error loading java.lang.CharSequence<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.PathPart.getCompilationUnit(PathPart.java:128)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.getCompilationUnit(Program.java:858)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.getLibCompilationUnit_compute(Program.java:1531)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.getLibCompilationUnit(Program.java:1514)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.lookupLibType_compute(Program.java:1479)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.lookupLibType(Program.java:1447)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.lookupType_compute(Program.java:1426)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.lookupType(Program.java:1407)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Program.Define_TypeDecl_lookupType(Program.java:1995)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1657)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Expr.lookupType(Expr.java:1186)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.decls_compute(TypeAccess.java:425)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.decls(TypeAccess.java:414)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.refined_TypeScopePropagation_TypeAccess_decl(TypeAccess.java:387)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.decl_compute(TypeAccess.java:460)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.decl(TypeAccess.java:452)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.type_compute(TypeAccess.java:590)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeAccess.type(TypeAccess.java:583)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ParameterDeclaration.type_compute(ParameterDeclaration.java:479)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ParameterDeclaration.type(ParameterDeclaration.java:472)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodDecl.signature_compute(MethodDecl.java:1355)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodDecl.signature(MethodDecl.java:1343)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.localMethodsSignatureMap_compute(TypeDecl.java:2527)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.localMethodsSignatureMap(TypeDecl.java:2515)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ClassDecl.methodsSignatureMap_compute(ClassDecl.java:1102)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ClassDecl.methodsSignatureMap(ClassDecl.java:1094)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl$2.&lt;init&gt;(TypeDecl.java:468)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.methodsIterator(TypeDecl.java:467)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.methodsNameMap_compute(TypeDecl.java:2468)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.methodsNameMap(TypeDecl.java:2459)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.TypeDecl.memberMethods(TypeDecl.java:2431)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.AbstractDot.Define_Collection_lookupMethod(AbstractDot.java:766)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.Expr.lookupMethod(Expr.java:1032)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.decls_compute(MethodAccess.java:1094)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.decls(MethodAccess.java:1086)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.decl_compute(MethodAccess.java:1128)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.decl(MethodAccess.java:1120)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.refined_TypeAnalysis_MethodAccess_type(MethodAccess.java:913)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.type_compute(MethodAccess.java:1264)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.MethodAccess.type(MethodAccess.java:1249)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.AbstractDot.type_compute(AbstractDot.java:604)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.AbstractDot.type(AbstractDot.java:597)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.IfStmt.typeCheck(IfStmt.java:138)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1284)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:1292)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddJ.CompilationUnit.errorCheck(CompilationUnit.java:178)<u></u><u></u></p><p class="MsoNormal">            at soot.JastAddInitialResolver.formAst(JastAddInitialResolver.java:58)<u></u><u></u></p><p class="MsoNormal">            at soot.JavaClassSource.resolve(JavaClassSource.java:54)<u></u><u></u></p><p class="MsoNormal">            at soot.SootResolver.bringToHierarchy(SootResolver.java:237)<u></u><u></u></p><p class="MsoNormal">            at soot.SootResolver.bringToSignatures(SootResolver.java:264)<u></u><u></u></p><p class="MsoNormal">            at soot.SootResolver.bringToBodies(SootResolver.java:302)<u></u><u></u></p><p class="MsoNormal">            at soot.SootResolver.processResolveWorklist(SootResolver.java:161)<u></u><u></u></p><p class="MsoNormal">            at soot.SootResolver.resolveClass(SootResolver.java:129)<u></u><u></u></p><p class="MsoNormal">            at soot.Scene.loadClass(Scene.java:694)<u></u><u></u></p><p class="MsoNormal">            at soot.Scene.loadClassAndSupport(Scene.java:679)<u></u><u></u></p><p class="MsoNormal">            at fr.irisa.diverse.SwapSootMain.main(SwapSootMain.java:48)<u></u><u></u></p><p class="MsoNormal">            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<u></u><u></u></p><p class="MsoNormal">            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<u></u><u></u></p><p class="MsoNormal">            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<u></u><u></u></p><p class="MsoNormal">            at java.lang.reflect.Method.invoke(Method.java:483)<u></u><u></u></p><p class="MsoNormal">            at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">I tried both command line and manually calling the Soot API, so far no look, same error both.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Here is my code for the command line:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">String[] sootParams = new String[] { &quot;-cp&quot;, &quot;.&quot;, &quot;-pp&quot;, &quot;-process-dir&quot;,  p.getProperty(&quot;cp&quot;), &quot;-d&quot;, p.getProperty(&quot;output&quot;), &quot;-v&quot; };<u></u><u></u></p><p class="MsoNormal">soot.Main.main(sootParams);<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">===============<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">And here is my code for the manual calls to the API:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">    public static void configure(String classpath) {<u></u><u></u></p><p class="MsoNormal">        Options.v().set_verbose(true);<u></u><u></u></p><p class="MsoNormal">        Options.v().set_process_dir(Arrays.asList(classpath));<u></u><u></u></p><p class="MsoNormal">        Options.v().set_keep_line_number(true);<u></u><u></u></p><p class="MsoNormal">        Options.v().set_src_prec(Options.src_prec_class);<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        String cp = System.getProperty(&quot;java.class.path&quot;).replace(&quot;\\&quot;, &quot;/&quot;);<u></u><u></u></p><p class="MsoNormal">        Options.v().set_soot_classpath(cp);<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        Options.v().set_prepend_classpath(true);<u></u><u></u></p><p class="MsoNormal">        Options.v().set_allow_phantom_refs(true);<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        PhaseOptions.v().setPhaseOption(&quot;bb&quot;, &quot;off&quot;);<u></u><u></u></p><p class="MsoNormal">        PhaseOptions.v().setPhaseOption(&quot;tag.ln&quot;, &quot;on&quot;);<u></u><u></u></p><p class="MsoNormal">        PhaseOptions.v().setPhaseOption(&quot;jj.a&quot;, &quot;on&quot;);<u></u><u></u></p><p class="MsoNormal">        PhaseOptions.v().setPhaseOption(&quot;jj.ule&quot;, &quot;on&quot;);<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        Options.v().set_whole_program(true);<u></u><u></u></p><p class="MsoNormal">    }<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">    public static void main(String[] args) throws IOException {<u></u><u></u></p><p class="MsoNormal">        Properties p = new Properties();<u></u><u></u></p><p class="MsoNormal">        p.load(SwapSootMain.class.getClassLoader().getResourceAsStream(&quot;soot.properties&quot;));<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        configure(p.getProperty(&quot;cp&quot;));<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        SootClass c = Scene.v().loadClassAndSupport(&quot;TestClass1&quot;);<u></u><u></u></p><p class="MsoNormal">        c.setApplicationClass();<u></u><u></u></p><p class="MsoNormal">        // Retrieve the method and its body<u></u><u></u></p><p class="MsoNormal">        SootMethod m = c.getMethodByName(&quot;foo&quot;);<u></u><u></u></p><p class="MsoNormal">        Body b = m.retrieveActiveBody();<u></u><u></u></p><p class="MsoNormal">        // Instruments bytecode<u></u><u></u></p><p class="MsoNormal">        new GuaranteedDefs(new ExceptionalUnitGraph(b));<u></u><u></u></p><p class="MsoNormal">            }<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Here is the value of the System.getProperty(&quot;java.class.path&quot;).replace(&quot;\\&quot;, &quot;/&quot;):<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/resources.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/rt.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/access-bridge-64.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/cldrdata.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/dnsns.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/jaccess.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/jfxrt.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/localedata.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/nashorn.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/sunec.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/sunjce_provider.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/sunmscapi.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/sunpkcs11.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files/Java/jdk1.8.0_05/jre/lib/ext/zipfs.jar<u></u><u></u></p><p class="MsoNormal">C:/MarcelStuff/PROJECTS/DIVERSE/soot-example/target/classes<u></u><u></u></p><p class="MsoNormal">C:/Users/marodrig/.m2/repository/edu/sable/soot/nightly-build/soot-nightly-build.jar<u></u><u></u></p><p class="MsoNormal">C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 14.0.2/lib/idea_rt.jar<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Any ideas what could be happening?<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks you all. <u></u><u></u></p><p class="MsoNormal">Marcelino<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></div></blockquote></div><br></div>