<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Sprechblasentext Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.hoenzb
        {mso-style-name:hoenzb;}
span.E-MailFormatvorlage18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.SprechblasentextZchn
        {mso-style-name:"Sprechblasentext Zchn";
        mso-style-priority:99;
        mso-style-link:Sprechblasentext;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:DE;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Denis,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>That’s strange. From the stack trace, I see that you are using the JastAddJ frontend for loading Java source code. Have you tried to switch to the bytecode frontend and read bytecode instead of source code? We are currently working on a new source code frontend anyway as the old one is stuck with Java 1.5. That could potentially also be a part of the problem.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> Steven<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> soot-list-bounces@CS.</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>McGill.CA [mailto:soot-list-bounces@CS.McGill.CA] <b>Im Auftrag von </b>Denis Bogdanas<br><b>Gesendet:</b> Sonntag, 13. März 2016 04:46<br><b>An:</b> Steven Arzt; soot-list@cs.mcgill.ca<br><b>Betreff:</b> Re: [Soot-list] Soot plugin for Eclipse doesn't work on Windows<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><div><p class=MsoNormal>Hi Steven,<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>I've looked into this issue. The problem doesn't seem to be caused by paths after all.<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>Even if I manually correct the paths and run something like this:<br><br>soot.Main --keep-line-number --xml-attributes --f J --src-prec java --cp D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jsse.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/rt.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/charsets.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/zipfs.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jce.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/dnsns.jar;D:/jimple-example/src;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunpkcs11.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/resources.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/localedata.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunec.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunmscapi.jar;D:/eclipse-workspaces/runtime-New_configuration/jimple-example/bin/;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunjce_provider.jar;;D:/eclipse-workspaces/runtime-New_configuration/jimple-example/src;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/resources.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/rt.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jsse.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jce.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/charsets.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/dnsns.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/localedata.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunec.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunjce_provider.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunmscapi.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunpkcs11.jar;D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/zipfs.jar --d D:/eclipse-workspaces/runtime-New_configuration/jimple-example/sootOutput JimpleExample<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>I get the output:<br><br>java.lang.reflect.InvocationTargetException<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br> at java.lang.reflect.Method.invoke(Unknown Source)<br> at ca.mcgill.sable.soot.launching.SootThread.run(SootThread.java:138)<br>Caused by: java.lang.Error: Error loading java.lang.CharSequence<br> at soot.JastAddJ.PathPart.getCompilationUnit(PathPart.java:130)<br> at soot.JastAddJ.Program.getCompilationUnit(Program.java:930)<br> at soot.JastAddJ.Program.lookupType_compute(Program.java:1466)<br> at soot.JastAddJ.Program.lookupType(Program.java:1447)<br> at soot.JastAddJ.Program.Define_TypeDecl_lookupType(Program.java:1941)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.ASTNode.Define_TypeDecl_lookupType(ASTNode.java:1646)<br> at soot.JastAddJ.Expr.lookupType(Expr.java:1285)<br> at soot.JastAddJ.TypeAccess.decls_compute(TypeAccess.java:388)<br> at soot.JastAddJ.TypeAccess.decls(TypeAccess.java:377)<br> at soot.JastAddJ.TypeAccess.refined_TypeScopePropagation_TypeAccess_decl(TypeAccess.java:350)<br> at soot.JastAddJ.TypeAccess.decl_compute(TypeAccess.java:423)<br> at soot.JastAddJ.TypeAccess.decl(TypeAccess.java:415)<br> at soot.JastAddJ.TypeAccess.type_compute(TypeAccess.java:585)<br> at soot.JastAddJ.TypeAccess.type(TypeAccess.java:578)<br> at soot.JastAddJ.ParameterDeclaration.type_compute(ParameterDeclaration.java:452)<br> at soot.JastAddJ.ParameterDeclaration.type(ParameterDeclaration.java:445)<br> at soot.JastAddJ.MethodDecl.signature_compute(MethodDecl.java:1251)<br> at soot.JastAddJ.MethodDecl.signature(MethodDecl.java:1239)<br> at soot.JastAddJ.TypeDecl.localMethodsSignatureMap_compute(TypeDecl.java:2545)<br> at soot.JastAddJ.TypeDecl.localMethodsSignatureMap(TypeDecl.java:2533)<br> at soot.JastAddJ.ClassDecl.methodsSignatureMap_compute(ClassDecl.java:1046)<br> at soot.JastAddJ.ClassDecl.methodsSignatureMap(ClassDecl.java:1038)<br> at soot.JastAddJ.TypeDecl$2.<init>(TypeDecl.java:452)<br> at soot.JastAddJ.TypeDecl.methodsIterator(TypeDecl.java:451)<br> at soot.JastAddJ.TypeDecl.methodsNameMap_compute(TypeDecl.java:2482)<br> at soot.JastAddJ.TypeDecl.methodsNameMap(TypeDecl.java:2473)<br> at soot.JastAddJ.TypeDecl.memberMethods_compute(TypeDecl.java:2448)<br> at soot.JastAddJ.TypeDecl.memberMethods(TypeDecl.java:2441)<br> at soot.JastAddJ.AbstractDot.Define_Collection_lookupMethod(AbstractDot.java:849)<br> at soot.JastAddJ.Expr.lookupMethod(Expr.java:1131)<br> at soot.JastAddJ.MethodAccess.decls_compute(MethodAccess.java:1035)<br> at soot.JastAddJ.MethodAccess.decls(MethodAccess.java:1027)<br> at soot.JastAddJ.MethodAccess.decl_compute(MethodAccess.java:1069)<br> at soot.JastAddJ.MethodAccess.decl(MethodAccess.java:1061)<br> at soot.JastAddJ.MethodAccess.nameCheck(MethodAccess.java:197)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:298)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.ASTNode.collectErrors(ASTNode.java:306)<br> at soot.JastAddJ.CompilationUnit.errorCheck(CompilationUnit.java:169)<br> at soot.JastAddInitialResolver.formAst(JastAddInitialResolver.java:58)<br> at soot.JavaClassSource.resolve(JavaClassSource.java:54)<br> at soot.SootResolver.bringToHierarchy(SootResolver.java:215)<br> at soot.SootResolver.bringToSignatures(SootResolver.java:239)<br> at soot.SootResolver.processResolveWorklist(SootResolver.java:154)<br> at soot.SootResolver.resolveClass(SootResolver.java:124)<br> at soot.Scene.loadClass(Scene.java:448)<br> at soot.Scene.loadClassAndSupport(Scene.java:433)<br> at soot.Scene.loadNecessaryClass(Scene.java:1053)<br> at soot.Scene.loadNecessaryClasses(Scene.java:1067)<br> at soot.Main.run(Main.java:167)<br> at soot.Main.main(Main.java:141)<br> ... 5 more<br>Caused by: java.lang.ArrayIndexOutOfBoundsException: 4608<br> at soot.JastAddJ.BytecodeParser.parseThisClass(BytecodeParser.java:439)<br> at soot.JastAddJ.BytecodeParser.parseTypeDecl(BytecodeParser.java:406)<br> at soot.JastAddJ.BytecodeParser.parse(BytecodeParser.java:333)<br> at soot.JastAddJ.BytecodeParser.read(BytecodeParser.java:29)<br> at soot.JastAddJ.PathPart.getCompilationUnit(PathPart.java:117)<br> ... 74 more<br><br><br><br><br><br><o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>Everything is compiled with openjdk 1.7. Used the latest soot, compiled from sources.<br><br>Is the plugin working on Linux?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 11 March 2016 at 16:23, Denis Bogdanas <<a href="mailto:denis.bogdanas@gmail.com" target="_blank">denis.bogdanas@gmail.com</a>> wrote:<o:p></o:p></p><div><p class=MsoNormal style='margin-bottom:12.0pt'>Ok, will take a look into it.<o:p></o:p></p></div><div><div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 11 March 2016 at 08:09, Steven Arzt <<a href="mailto:Steven.Arzt@cased.de" target="_blank">Steven.Arzt@cased.de</a>> wrote:<o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Denis,</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The Soot Eclipse plugin is contained in the normal Soot repository on Github. The trailing slash seems to be the problem as Windows will usually also accept slashes as delimiters nowadays. Can you try to fix it (should be simple) and open a pull request on Github?</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Best regards,</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> Steven</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <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>Denis Bogdanas<br><b>Gesendet:</b> Montag, 7. März 2016 20:45<br><b>An:</b> soot<br><b>Betreff:</b> [Soot-list] Soot plugin for Eclipse doesn't work on Windows</span><o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'>Not something critical, just a bug report.<br><br>By the way, is eclipse plugin available on github?<br><br>The "--cp" value produced by Soot doesn't like windows file names. This is what soot plugin tries to run:<br><br>soot.Main --keep-line-number --xml-attributes --f J --src-prec java --cp /D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jsse.jar;/D:/soot-guide/call_graph/src;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/dnsns.jar;/D:/soot-guide/lib/polyglotclasses-1.3.5.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunec.jar;/D:/soot;/D:/soot-guide/pointsto/src;/D:/soot-guide/my_code/src;/D:/soot-guide/intermediate_representation/src;/D:/soot-guide/pointsto/test;/D:/soot-guide/representations/shimple;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/rt.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/charsets.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/zipfs.jar;/D:/soot-guide/lib/paddle-nightly.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/jce.jar;/D:/dp/soot-guide/out/;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunpkcs11.jar;/D:/soot-guide/representations/grimp;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/resources.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/localedata.jar;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunmscapi.jar;/D:/soot-guide/representations/jimple;/D:/soot-guide/analysis_framework/src;/D:/ProgramFiles_no_spaces/OpenJDK_7/jre/lib/ext/sunjce_provider.jar;;D:\dp\soot-guide\representations\jimple;D:\dp\soot-guide\lib\paddle-nightly.jar;D:\dp\soot-guide\lib\polyglotclasses-1.3.5.jar;D:\dp\heros\slf4j-api-1.7.5.jar;D:\dp\heros\slf4j-simple-1.7.5.jar;D:\dp\heros\guava-18.0.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\resources.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\rt.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\jsse.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\jce.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\charsets.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\dnsns.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\localedata.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\sunec.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\sunjce_provider.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\sunmscapi.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\sunpkcs11.jar;D:\ProgramFiles_no_spaces\OpenJDK_7\jre\lib\ext\zipfs.jar --d D:\dp\soot-guide\sootOutput JimpleExample <br><br>Result: <br><br>java.lang.Error: Error loading java.lang.CharSequence<o:p></o:p></p></div></div></div></div></div></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p></div></div><p class=MsoNormal><span class=hoenzb><span style='color:#888888'>-- <o:p></o:p></span></span></p><div><div><p class=MsoNormal><span style='color:#888888'>Denis</span><o:p></o:p></p></div></div></div></div><p class=MsoNormal><br><br clear=all><br>-- <o:p></o:p></p><div><div><p class=MsoNormal>Denis<o:p></o:p></p></div></div></div></div></body></html>