[Soot-list] Soot exception during call graph build phase

Andrea Mattavelli andrea.mattavelli at usi.ch
Wed Jan 18 04:47:57 EST 2012


Hi,
I've been using Soot in order to create a call graph of a given application under test.
Yesterday, when I tried to create a CG for the OmegaT application (http://sourceforge.net/projects/omegat/?source=directory), I got the following exception:

Exception in thread "main" java.lang.RuntimeException: cannot set body for non-concrete method! <org.omegat.gui.editor.IEditor: java.lang.String getCurrentFile()>
	at soot.SootMethod.setActiveBody(SootMethod.java:331)
	at soot.SootMethod.retrieveActiveBody(SootMethod.java:315)
	at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processNewMethod(OnFlyCallGraphBuilder.java:526)
	at soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.processReachables(OnFlyCallGraphBuilder.java:426)
	[…]

I checked the OnFlyCallGraphBuilder code and I found that into processReachables() and processNewMethod(SootMethod m) there are no checks to verify that the processed method is concrete.
Is it the code "buggy" or am I invoking the call graph builder in the wrong way?

Thanks in advance,

Andrea



More information about the Soot-list mailing list