Expecting a stackmap frame at branch target
Keith McGuigan
keith.mcguigan at oracle.com
Tue Sep 13 14:12:12 PDT 2011
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 <fcamblor at gmail.com>
>
>> 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 <Alan.Bateman at oracle.com>
>>
>>> 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.
>>>
>>
>>
More information about the jdk7-dev
mailing list