Grid and Table broken after migrating from 7.5.9. to 7.6.1

We tried to migrate our application from Vaadin 7.5.9 to 7.6.1, but after recompiling the widgetset and theme, the views don’t show at all and we get these message in the server logfile:

java.lang.VerifyError: Bad return type
Exception Details:
Location:
com/vaadin/ui/Grid.getState(Z)Lcom/vaadin/shared/ui/TabIndexState; @5: areturn
Reason:
Type ‘com/vaadin/shared/ui/grid/GridState’ (current frame, stack[0]
) is not assignable to ‘com/vaadin/shared/ui/TabIndexState’ (from method signature)
Current Frame:
bci: @5
flags: { }
locals: { ‘com/vaadin/ui/Grid’, integer }
stack: { ‘com/vaadin/shared/ui/grid/GridState’ }
Bytecode:
0000000: 2a1b b600 82b0

and

java.lang.VerifyError: Bad return type
Exception Details:
Location:
com/vaadin/ui/Table.getState()Lcom/vaadin/shared/ui/select/AbstractSelectState; @4: areturn
Reason:
Type ‘com/vaadin/shared/ui/table/TableState’ (current frame, stack[0]
) is not assignable to ‘com/vaadin/shared/ui/select/AbstractSelectState’ (from method signature)
Current Frame:
bci: @4
flags: { }
locals: { ‘com/vaadin/ui/Table’ }
stack: { ‘com/vaadin/shared/ui/table/TableState’ }
Bytecode:
0000000: 2ab6 02e7 b0

Can anyone help?

Are you sure that all vaadin jars have the same version? Don’t you have multiply vaadin jars (different versions) on the classpath?

I did clean the ivy cache. So there should not be any other versions.

The problem occurs on the dedicated tomcat server. So there are only the jars inside the deployed war file.

Yes. All vaadin jars have the same version (7.6.1). As we don’t use Ivy or Maven (yet) caching problems are not possible…

And everything else is working fine.

I was using the example from this blog-post: https://vaadin.com/wiki?p_p_id=36&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_36_struts_action=%2Fwiki%2Fview&_36_pageResourcePrimKey=9970154&p_r_p_185834411_nodeName=vaadin.com+wiki&p_r_p_185834411_title=Showing+extra+data+for+Grid+rows

@Thomas
ah and sorry for hijacking your thread… that was a mistake… :slight_smile:

Rather check your packed
WEB-INF/lib
directory. It sometimes happens to me, that 2 versions of the same library are packed there, when I build the war file from Eclipse.

This VerifyError means that the bytecode in the JAR is not accepted by the Virtual Machine.

The problem with the verifier is that it is not 100% perfectly specified, at least this was the case when
The Java Virtual Machine Specification 2nd Edition was the latest (and it was for a long time!).

Please check that the server is actually powered by a proper Oracle-certified Java Virtual Machine, change if
necessary.

And please do let us know which JVM it is that you were using!

Thanks + Best Regards,
–Enver