Alan, Woudn't there any -XX JVM parameter, on jdk7, allowing to get back jdk6 strategy about stack map tables ? Or maybe stack map tables _must_ be ok starting from jdk7 (due to class file specifications for example) ?
Frédéric Camblor <http://fcamblor.wordpress.com/> <http://www.twitter.com/fcamblor> Bordeaux JUG <http://bordeauxjug.org/> Board member Jenkins <http://jenkins-ci.org/> community member & plugin commiter 2011/9/12 Frédéric Camblor <[email protected]> > Hi Alan, > > Thanks for you reply, you helped me to point out problem was about > cobertura instrumentation which looks not compatible with Java 7 > > I'll raise an issue on this topic on their issue tracker :) > > Frédéric Camblor <http://fcamblor.wordpress.com/> > <http://www.twitter.com/fcamblor> > Bordeaux JUG <http://bordeauxjug.org/> Board member > Jenkins <http://jenkins-ci.org/> community member & plugin commiter > > > 2011/9/12 Alan Bateman <[email protected]> > >> Frédéric Camblor wrote: >> >>> Hi everyone ! >>> >>> I just migrated to openjdk 7 on my project and, just after the upgrade, >>> most >>> of my unit test were in failure, throwing following exception : >>> >>> java.lang.VerifyError: Expecting a stackmap frame at branch target 81 >>> in method fr.fsh.bbeeg.common.config.**BBEEGConfiguration.<init>()V at >>> offset 44 >>> >>> >>> When I go back to jdk 6, every tests are back to green :-) >>> >>> >> Use od -x to look at the class file to see which class version it is. >> Class files >= version 51 are verified (exclusively) by the type checking >> verifier whereas with version 50 then if the verification fails it falls >> back to the old type inferencing verifier. If you have something modifying >> the class files then maybe it isn't updating the stack map tables and that >> would explain the error. For your jdk6 test runs then try running with >> -XX:-FailOverToOldVerifier and see if fails too. >> >> -Alan. >> > >
