Re: [abc] Possible soot bug: \Nested Labeled continues cause an NPE in soot

From: Neil Ongkingco <neil.ongkingco@keb.ox.ac.uk>
Date: Wed Dec 07 2005 - 16:11:40 GMT

One more test case. Also related to nested labelled continues.

public class Main2 {
        void f() {
l1:
                while(true){
//Note: putting in l2 makes the thing compile properly
//It seems that the inner do is trying to use the label of
//the outer while
//l2:
                        do {
                        } while(true);
                }
        }
}

Soot started on Wed Dec 07 16:09:26 GMT 2005
java.lang.RuntimeException: Chain already contains object: nop
        at soot.util.HashChain.addLast(HashChain.java:256)
        at soot.util.HashChain.add(HashChain.java:60)
        at soot.PatchingChain.add(PatchingChain.java:60)
        at soot.javaToJimple.JimpleBodyBuilder.createDo(JimpleBodyBuilder.java:810)
        at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java:566)
        at soot.javaToJimple.JimpleBodyBuilder.createBlock(JimpleBodyBuilder.java:345)
        at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java:560)
        at soot.javaToJimple.JimpleBodyBuilder.createWhile(JimpleBodyBuilder.java:742)
        at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java:563)
        at soot.javaToJimple.JimpleBodyBuilder.createLabeled(JimpleBodyBuilder.java:1272)
        at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java:593)
        at soot.javaToJimple.JimpleBodyBuilder.createBlock(JimpleBodyBuilder.java:345)
        at soot.javaToJimple.JimpleBodyBuilder.createJimpleBody(JimpleBodyBuilder.java:135)
        at soot.javaToJimple.PolyglotMethodSource.getBody(PolyglotMethodSource.java:51)
        at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:80)
        at soot.SootMethod.retrieveActiveBody(SootMethod.java:304)
        at soot.PackManager.retrieveAllBodies(PackManager.java:727)
        at soot.PackManager.runPacks(PackManager.java:306)
        at soot.Main.run(Main.java:179)
        at soot.Main.main(Main.java:153)
Exception in thread "main"
Received on Wed Dec 7 16:27:59 2005

This archive was generated by hypermail 2.1.8 : Thu Dec 08 2005 - 03:20:06 GMT