[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: java.lang.NullPointerException in Hierarchy



The typing system cannot work correctly unless all classes of the
hierarchy are available.

To find classes, Soot looks in paths in the --soot-classpath option to
Soot, not the -cp option to java.

If you get any "Phantom class" warnings, then it is normal for the
typing system to not work. Make the classes available to get rid of the
warnings first.

Ondrej

On Fri, Nov 01, 2002 at 03:16:00PM +0000, redhat wrote:
> 
> Heya
> 
> 	Thanks for your help last time, this time I get a NullPointerException
> in soot.Hierarchy. I went over the site and applie some of the
> snapshotIterator patches for the `Concurrent modification exception
> during jimplification'.
> 	The Exception occures only when I run `--app --whole-optimize', with
> `--optimize' instead of `--whole-optimize' I get a regular:
> `Transforming pornwire.Main... soot.jimple.toolkits.typing.TypeException:
> Type Error(12)'
> 	With or without `--app' with `--optimize' the TypeError(12) will be
> compounded by messages that some classes can't be found. The most common
> one I see occuring is `Aborting: can't find classfilejava.awt.LayoutManager'
> The only way I've been able to stop that is by adding the class in the
> `--soot-classpath prj/',	it is ignored when placed in `-cp prj/'
> 
> 
> I'm running:
> 	Blackdown-1.4.1-beta		(Intel/Linux)
> 	Sun build 1.4.0_01-b03	(Intel/Linux)
> 	Sun build 1.4.1-b21			(Sparc/Solaris8)
> 	Sun build 1.4.1-b21			(SparcV9/Solaris8)
> 
> blaze your trail
> --
> redhat
> 
> 'I am become Shiva, destroyer of worlds'

Content-Description: StackTrace
>         at soot.Hierarchy.<init>(Hierarchy.java:118)
>         at soot.jimple.toolkits.invoke.ClassHierarchyAnalysis.newInvokeGraph(ClassHierarchyAnalysis.java:56)
>         at soot.jimple.toolkits.invoke.ClassHierarchyAnalysis.newInvokeGraph(ClassHierarchyAnalysis.java:42)
>         at soot.jimple.toolkits.invoke.InvokeGraphBuilder.internalTransform(InvokeGraphBuilder.java:47)
>         at soot.SceneTransformer.transform(SceneTransformer.java:46)
>         at soot.SceneTransformer.transform(SceneTransformer.java:58)
>         at soot.jimple.toolkits.invoke.StaticInliner.internalTransform(StaticInliner.java:61)
>         at soot.SceneTransformer.transform(SceneTransformer.java:46)
>         at soot.Pack.apply(Pack.java:79)
>         at soot.Main.run(Main.java:1611)
>         at java.lang.Thread.run(Thread.java:536)