[Soot-list] NullPointerException on FastHierarchy.isSubClass
Marc-Andre Laverdiere-Papineau
marc-andre.laverdiere-papineau at polymtl.ca
Mon Jul 2 22:00:07 EDT 2012
Hello,
Interestingly, I put together a sample test, which didn't crash. After
fiddling around with the classpath, the issue was no longer experienced.
I am guessing that I was overriding some part of the CP that I shouldn't
have or something...
On 07/02/2012 09:36 PM, Marc-Andre Laverdiere-Papineau wrote:
> 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