The customized classloader yields an IllegalStateException when wrapping OSGI classloaders. It seems that instrumented bundles cannot be found by the original class loader. To reproduce the bug, run Dila on the eclipse benchmark in the Dacapo suite, e.g. :
java -Xmx1000m -classpath dila-agent.jar:shrike.jar:dacapo-2006-10-MR2.jar -s small eclipse
java.lang.IllegalStateException: Bundle initial@reference:file:plugins/org.eclipse.core.runtime_3.1.2.jar/ was not resolved.
at org.eclipse.core.runtime.adaptor.EclipseStarter.startBundles(EclipseStarter.java:980)
at org.eclipse.core.runtime.adaptor.EclipseStarter.loadBasicBundles(EclipseStarter.java:551)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:288)
at dacapo.eclipse.EclipseHarness.startup(EclipseHarness.java:82)
at dacapo.eclipse.EclipseHarness.preIteration(EclipseHarness.java:28)
at dacapo.Benchmark.run(Benchmark.java:119)
at dacapo.TestHarness.runBenchmark(TestHarness.java:302)
at dacapo.TestHarness.main(TestHarness.java:242)
at Harness.main(Harness.java:5)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.ibm.wala.dila.runner.AbstractProgramRunner.runProgram(AbstractProgramRunner.java:140)
at com.ibm.wala.dila.runner.Dila.main(Dila.java:110)