[Soot-list] NullPointerException on FastHierarchy.isSubClass

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Mon Jul 2 21:36:18 EDT 2012


Hello,

I have a test case that reproduces the issues all the time, but it is 
not very small :$

I can try synthetizing a tinier one and send over.

Right now, what I can see is that the SootClass instance has a null 
superclass, even though it extends org.apache.jasper.runtime.HttpJspBase.

Is there an option that would disable/enable the tracking of superclasses?

On 07/02/2012 01:47 PM, Phil Pratt-Szeliga wrote:
> Hello,
>
> Can you post a test case that we can run with a script and reproduce
> the problem. With that I will see if it is a bug.
>
> Thanks,
> Phil Pratt-Szeliga
> Syracuse University
>
> On Mon, Jul 2, 2012 at 1:19 PM, Marc-Andre Laverdiere-Papineau
> <marc-andre.laverdiere-papineau at polymtl.ca> wrote:
>> I am running the latest code from git, and I am getting this:
>>
>> Exception in thread "main" java.lang.NullPointerException
>>          at soot.FastHierarchy$Interval.isSubrange(FastHierarchy.java:83)
>>          at soot.FastHierarchy.isSubclass(FastHierarchy.java:151)
>>          at ca.polymtl.gigl.casi.darwini.SootMain.main(SootMain.java:175)
>>
>> I have loaded soot from the main, but with a lot of exclusions:
>>
>>                  ArrayList<String> sootOptions = new ArrayList<String>();
>>                  sootOptions.add("-w");
>>                  for (String ex: EXCLUSIONS){
>>                          sootOptions.add("-x");
>>                          sootOptions.add(ex);
>>                  }
>>
>>                  sootOptions.add("-src-prec");
>>                  sootOptions.add("java");
>>                  sootOptions.add("-keep-line-number");
>>                  sootOptions.add("-output-format");
>>                  sootOptions.add("jimple");
>>                  sootOptions.add("-allow-phantom-refs");
>>                  sootOptions.add("-no-bodies-for-excluded");
>>                  sootOptions.add("-time");
>>                  for (String p : processDirs){
>>                          sootOptions.add("-process-path");
>>                          sootOptions.add(p);
>>                  }
>>                  sootOptions.add("-soot-classpath");
>>                  sootOptions.add(classPath);
>>                  sootOptions.add("-phase-option");
>>                  sootOptions.add("cg");
>>                  sootOptions.add("enabled:false");
>>
>>              //Load the classes
>>
>> Scene.v().addBasicClass("javax.servlet.http.HttpServlet",SootClass.SIGNATURES);
>>              soot.Main.main(sootOptions.toArray(new String[sootOptions.size()]));
>>
>> Is this a bug, or are my options wrong?
>>
>> Regards,
>>
>> --
>> Marc-André Laverdière-Papineau
>> Étudiant au doctorat - PhD Student
>>
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>>
>


-- 
Marc-André Laverdière-Papineau
Étudiant au doctorat - PhD Student




More information about the Soot-list mailing list