The latter. New features in jdk7 require the use of the type-checking
verifier -- which is what the cobertura instrumentation appears to be
running afoul of.
--
- Keith
On Sep 13, 2011, at 4:57 PM, Frédéric Camblor wrote:
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.