Can't upgrade to 7.4.4 - Internal error compiling

I’m trying to migrate a sample project to V 7.4.4 - to use the new Grid - (7.3.8 works fine) and I am getting the following error:

Using com.vaadin:vaadin-client-compiler version 7.4.4
Compiling module com.packtpub.vaadin.AppWidgetSet
[color=#FF0000]
[ERROR]
 Unexpected internal compiler error
[/color]
java.lang.IllegalArgumentException
    at org.objectweb.asm.ClassVisitor.<init>(Unknown Source)
    at org.objectweb.asm.ClassVisitor.<init>(Unknown Source)
    at com.google.gwt.dev.javac.BytecodeSignatureMaker$CompileDependencyVisitor.<init>(BytecodeSignatureMaker.java:59)
    at com.google.gwt.dev.javac.BytecodeSignatureMaker.visitCompileDependenciesInBytecode(BytecodeSignatureMaker.java:227)
    at com.google.gwt.dev.javac.BytecodeSignatureMaker.getCompileDependencySignature(BytecodeSignatureMaker.java:209)
    at com.google.gwt.dev.javac.CompiledClass.getSignatureHash(CompiledClass.java:166)
    at com.google.gwt.dev.javac.Dependencies$Ref.<init>(Dependencies.java:42)
    at com.google.gwt.dev.javac.Dependencies$Ref.<init>(Dependencies.java:37)
    at com.google.gwt.dev.javac.Dependencies.resolve(Dependencies.java:114)
    at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:366)
    at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:580)
    at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:513)
    at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:499)
    at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:668)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:255)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
    at com.google.gwt.dev.Compiler.run(Compiler.java:206)
    at com.google.gwt.dev.Compiler.run(Compiler.java:158)
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:120)
    at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
    at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
    at com.google.gwt.dev.Compiler.main(Compiler.java:127)

Any idea of what can be? (I checked all libraries are to last version).

The POM reads:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.app</groupId>
  <artifactId>vaadin-with-spring</artifactId>
  <packaging>war</packaging>
  <version>1</version>
  <name>Vaadin Web Application</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <vaadin.version>7.4.4</vaadin.version>
    <vaadin.plugin.version>7.4.4</vaadin.plugin.version>
    <spring.version>4.1.6.RELEASE</spring.version>
  </properties>
  <repositories>
    <repository>
      <id>vaadin-addons</id>
      <url>http://maven.vaadin.com/vaadin-addons</url>
    </repository>
    <repository>
      <id>vaadin-snapshots</id>
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>springsource-repo</id>
      <name>SpringSource Repository</name>
      <url>http://repo.springsource.org/release</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>vaadin-snapshots</id>
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>com.vaadin</groupId>
      <artifactId>vaadin-server</artifactId>
      <version>${vaadin.version}</version>
    </dependency>
    <dependency>
      <groupId>com.vaadin</groupId>
      <artifactId>vaadin-client-compiled</artifactId>
      <version>${vaadin.version}</version>
    </dependency>
    <dependency>
      <groupId>com.vaadin</groupId>
      <artifactId>vaadin-client</artifactId>
      <version>${vaadin.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.vaadin</groupId>
      <artifactId>vaadin-themes</artifactId>
      <version>${vaadin.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.4</version>
      <scope>provided</scope>
    </dependency>
    
    
    <dependency>
      <groupId>com.vaadin.addon</groupId>
      <artifactId>jpacontainer</artifactId>
      <version>3.2.0</version>
    </dependency>        

    <!-- Spring 3 dependencies -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
        
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-jpa</artifactId>
      <version>1.8.0.RELEASE</version>
    </dependency>    
    
    <dependency>
      <groupId>org.hibernate.javax.persistence</groupId>
      <artifactId>hibernate-jpa-2.1-api</artifactId>
      <version>1.0.0.Final</version>
    </dependency>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>4.3.8.Final</version>
    </dependency>
        
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.3.160</version>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>1.7.12</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.12</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.12</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>    
    
    <dependency>
      <groupId>net.cbsolution</groupId>
      <artifactId>scc.web</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
        

    <!-- JavaConfig need this library -->
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>3.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
      <!-- directory is cleaned properly -->
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>src/main/webapp/VAADIN/widgetsets</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-maven-plugin</artifactId>
        <version>${vaadin.plugin.version}</version>
        <configuration>
          <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
          <!-- <runTarget>mobilemail</runTarget> -->
          <!-- We are doing "inplace" but into subdir VAADIN/widgetsets. This
          way compatible with Vaadin eclipse plugin. -->
          <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets
          </webappDirectory>
          <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets
          </hostedWebapp>
          <noServer>true</noServer>
          <!-- Remove draftCompile when project is ready -->
          <draftCompile>false</draftCompile>
          <compileReport>true</compileReport>
          <style>OBF</style>
          <strict>true</strict>
          <runTarget>http://localhost:8080/</runTarget>
        </configuration>
        <executions>
          <execution>
            <configuration>
              <!-- if you don't specify any modules, the plugin will find them -->
              <!-- <modules> <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module>
              </modules> -->
            </configuration>
            <goals>
              <goal>resources</goal>
              <goal>update-widgetset</goal>
              <goal>compile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.vaadin</groupId>
                    <artifactId>
                      vaadin-maven-plugin
                    </artifactId>
                    <versionRange>
                      [7.0-SNAPSHOT,)
                    </versionRange>
                    <goals>
                      <goal>resources</goal>
                      <goal>update-widgetset</goal>
                      <goal>compile</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <executions>
            <execution>
              <id>install</id>
              <phase>install</phase>
              <goals>
                <goal>sources</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

Getting the same error on introducing an addon (TokenField). Interesting, if I introduce TokenField in an empty project, it works.

Check this one

https://vaadin.com/forum#!/thread/2387636

Your link shows a different error. I had exactly the same cryptical exception shown in the first posting.

My solution was to elliminate the asm 3.0 and 4.0 from the dependencies, and manually add asm5.0.

asm 3 and 4 were coming because of my own dependencies, not because of Vaadin.

The issue is not Vaadin related, it belongs to gwt and asm.

Sometimes between versions add-on incompatibilies may occur. Some add-ons we have in the directory have information on those, and that may help to find out whehter you need to update your add-on version. In case you have dependency to a snapshot, sometimes it may be needed to force update of snapshot. Cleaning and updating project should in most cases get rid of old versions. You can get odd errors if there are two client side jars in your library folder.

Yes the error was due to incompatible asm libraries, I sorted it out long time ago by eliminating asm dependencies, but I see that now the olt post woke up again. The issue is absolutely not related to Vaadin, and unhappily recurring with asm libraries that are greatly reused. A quick look at Maven dependency diagram (Netbeans) let you quickly spot and fix the issue. By the way the only thing that I really miss under Netbeans (or possibly I do not know how to do) is to produce/compile GWT components because Vaadin mostly targets Eclipse users.