NPE with 2.8.0 rc2, SDM, Errai

617 views
Skip to first unread message

Alberto Mancini

unread,
Aug 19, 2016, 6:06:56 AM8/19/16
to Google Web Toolkit
Hello,
we have still the same problem with SourceMaps.
A teammate tracked down the problem and we found that the error appears if we depend on  gwt-dev (rc1 or rc2) and errai.

---------------
 Job com.testcase.sourcemap.App_1_0
[INFO]       Linking into /var/folders/n8/8w8npfys46x90q0y9lqdxb0h0000gn/T/gwt-codeserver-4222675233479416644.tmp/com.testcase.sourcemap.App/compile-2/war/app; Writing extras to /var/folders/n8/8w8npfys46x90q0y9lqdxb0h0000gn/T/gwt-codeserver-4222675233479416644.tmp/com.testcase.sourcemap.App/compile-2/extras/app
[INFO]          [WARN] Can't write source map D84F40D38A264502877474A1394B6135_sourceMap0.json
[INFO] java.lang.NullPointerException
[INFO] at com.google.gwt.thirdparty.debugging.sourcemap.SourceMapConsumerV3.parse(SourceMapConsumerV3.java:101)
....
----------------

Am I missing something trivial ? 
Should i file a bug on gwt-2.8.0-rc2  or errai beta2?

Follows the sample  pom.

Thanks,
   Alberto.

----
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.testcase</groupId>
<artifactId>sourcemap</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<properties>
<errai.version>4.0.0.Beta2</errai.version>
<gwt.version>2.8.0-rc2</gwt.version>
</properties>

<repositories>
<repository>
<id>jboss</id>
<name>JBoss Public Repo</name>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
</repositories>



<dependencies>
<!-- GWT -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
<!-- it works if commented -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${gwt.version}</version>
<scope>provided</scope>
</dependency>
<!-- -->
</dependencies>


<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>

<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}</directory>
<includes>
<include>src/gen/</include>
<include>src/main/webapp/app/</include>
<include>src/main/webapp/WEB-INF/deploy/</include>
<include>src/main/webapp/WEB-INF/lib/</include>
<include>src/main/webapp/WEB-INF/classes/**/*.*</include>
<include>src/main/webapp/WEB-INF/classes/**/*</include>
<include>src/main/webapp/WEB-INF/classes</include>
<include>**/gwt-unitCache/**</include>
<include>.errai/</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.8.0-rc1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<bindAddress>0.0.0.0</bindAddress>
<logLevel>WARN</logLevel>
<strict>true</strict>
<noServer>false</noServer>
<generateDirectory>src/gen/java</generateDirectory>
<gen>src/gen/java</gen>
<webappDirectory>${project.basedir}/src/main/webapp</webappDirectory>
<hostedWebapp>${project.basedir}/src/main/webapp</hostedWebapp> <runTarget>/</runTarget>
<extraJvmArgs>-Xmx2048m -XX:CompileThreshold=700</extraJvmArgs>
<strict>true</strict>
</configuration>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>${gwt.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>errai</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.errai.bom</groupId>
<artifactId>errai-bom</artifactId>
<version>${errai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--errai-->
<!--<dependency>-->
<!--<groupId>org.jboss.errai</groupId>-->
<!--<artifactId>errai-navigation</artifactId>-->
<!--<version>${errai.version}</version>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
<!--
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-ioc</artifactId>
<version>${errai.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-ui</artifactId>
<version>${errai.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-data-binding</artifactId>
<version>${errai.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cdi-client</artifactId>
<version>${errai.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.errai</groupId>
<artifactId>errai-bus</artifactId>
<version>${errai.version}</version>
<scope>provided</scope>
</dependency>
-->
</dependencies>
</profile>
</profiles>


</project>

Andrei Korzhevskii

unread,
Aug 19, 2016, 7:03:45 AM8/19/16
to GWT Users
It's hard to see what the problem actually is. I see you've created a test project, can you share it? That would help to reproduce and track the error.

Alberto Mancini

unread,
Aug 19, 2016, 7:21:02 AM8/19/16
to GWT Users
Thanks Andrei,
pushed the sample on githib: 
mvn:run should give you the error 

if you comment

        <dependency>

            <groupId>com.google.gwt</groupId>

            <artifactId>gwt-dev</artifactId>

            <version>${gwt.version}</version>

            <scope>provided</scope>

        </dependency>

in the pom file the problem disappear. 


Thanks,

A.





--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Alberto Mancini

unread,
Aug 19, 2016, 7:33:55 AM8/19/16
to GWT Users


mvn:run should give you the error 

Sorry, i mean:  
mvn gwt:run 

 
Thanks,  
   A. 

Andrei Korzhevskii

unread,
Aug 19, 2016, 8:42:27 AM8/19/16
to GWT Users
Ok, I've tracked down the problem.
The problem is that gwt-dev somehow relies on gson 1.7.2 but should rely on 2.6.2. I dont know what the problem is. I hope Jens or Thomas can help with that.
The problem was that gson 1.7.2 incorrectly parsed provided source map string and returned empty JsonObject which resulted in NPE.

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ sourcemap ---
[INFO] com.testcase:sourcemap:war:1.0-SNAPSHOT
[INFO] +- com.google.gwt:gwt-user:jar:2.8.0-rc2:provided
[INFO] | +- com.google.jsinterop:jsinterop-annotations:jar:1.0.0:provided
[INFO] | +- com.google.jsinterop:jsinterop-annotations:jar:sources:1.0.0:provided
[INFO] | +- javax.validation:validation-api:jar:1.0.0.GA:provided
[INFO] | +- javax.validation:validation-api:jar:sources:1.0.0.GA:provided
[INFO] | +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] | \- org.w3c.css:sac:jar:1.3:provided
[INFO] \- com.google.gwt:gwt-dev:jar:2.8.0-rc2:provided
[INFO] +- com.google.code.gson:gson:jar:1.7.2:provided (version managed from 2.6.2)
[INFO] +- org.ow2.asm:asm:jar:5.0.3:provided
[INFO] +- org.ow2.asm:asm-util:jar:5.0.3:provided
[INFO] | \- org.ow2.asm:asm-tree:jar:5.0.3:provided
[INFO] | \- (org.ow2.asm:asm:jar:5.0.3:provided - omitted for duplicate)
[INFO] +- org.ow2.asm:asm-commons:jar:5.0.3:provided
[INFO] | \- (org.ow2.asm:asm-tree:jar:5.0.3:provided - omitted for duplicate)
[INFO] +- colt:colt:jar:1.2.0:provided
[INFO] +- ant:ant:jar:1.6.5:provided
[INFO] +- commons-collections:commons-collections:jar:3.2.2:provided
[INFO] +- commons-io:commons-io:jar:2.4:provided
[INFO] +- com.ibm.icu:icu4j:jar:50.1.1:provided
[INFO] +- tapestry:tapestry:jar:4.0.2:provided
[INFO] +- net.sourceforge.htmlunit:htmlunit:jar:2.19:provided
[INFO] | +- xalan:xalan:jar:2.7.1:provided (version managed from 2.7.2)
[INFO] | | \- xalan:serializer:jar:2.7.1:provided
[INFO] | | \- xml-apis:xml-apis:jar:1.4.01:provided (version managed from 1.3.04)
[INFO] | +- (commons-collections:commons-collections:jar:3.2.2:provided - version managed from 3.2.1; omitted for duplicate)
[INFO] | +- org.apache.commons:commons-lang3:jar:3.1:provided (version managed from 3.4)
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5:provided (version managed from 4.5.1)
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.4.1:provided
[INFO] | | \- (commons-codec:commons-codec:jar:1.10:provided - version managed from 1.9; omitted for duplicate)
[INFO] | +- org.apache.httpcomponents:httpmime:jar:4.5.1:provided
[INFO] | | \- (org.apache.httpcomponents:httpclient:jar:4.5:provided - version managed from 4.5.1; omitted for duplicate)
[INFO] | +- commons-codec:commons-codec:jar:1.10:provided
[INFO] | +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.17:provided
[INFO] | +- xerces:xercesImpl:jar:2.11.0.SP4:provided (version managed from 2.11.0)
[INFO] | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.22:provided
[INFO] | +- net.sourceforge.cssparser:cssparser:jar:0.9.18:provided
[INFO] | | \- (org.w3c.css:sac:jar:1.3:provided - omitted for duplicate)
[INFO] | +- (commons-io:commons-io:jar:2.4:provided - omitted for duplicate)
[INFO] | +- commons-logging:commons-logging:jar:1.1.1:provided (version managed from 1.2)
[INFO] | \- org.eclipse.jetty.websocket:websocket-client:jar:9.2.13.v20150730:provided
[INFO] | +- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | +- (org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | \- org.eclipse.jetty.websocket:websocket-common:jar:9.2.13.v20150730:provided
[INFO] | +- org.eclipse.jetty.websocket:websocket-api:jar:9.2.13.v20150730:provided
[INFO] | +- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | \- (org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] +- org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106:provided
[INFO] | +- org.eclipse.jetty:jetty-xml:jar:9.2.14.v20151106:provided
[INFO] | | \- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | \- org.eclipse.jetty:jetty-servlet:jar:9.2.14.v20151106:provided
[INFO] | \- org.eclipse.jetty:jetty-security:jar:9.2.14.v20151106:provided
[INFO] | \- (org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106:provided - omitted for duplicate)
[INFO] +- org.eclipse.jetty:jetty-servlets:jar:9.2.14.v20151106:provided
[INFO] | +- org.eclipse.jetty:jetty-continuation:jar:9.2.14.v20151106:provided
[INFO] | +- org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106:provided
[INFO] | | \- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | +- org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided
[INFO] | \- org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106:provided
[INFO] | \- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] +- org.eclipse.jetty:jetty-annotations:jar:9.2.14.v20151106:provided
[INFO] | +- org.eclipse.jetty:jetty-plus:jar:9.2.14.v20151106:provided
[INFO] | | +- (org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106:provided - omitted for duplicate)
[INFO] | | \- org.eclipse.jetty:jetty-jndi:jar:9.2.14.v20151106:provided
[INFO] | | \- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] | +- (org.eclipse.jetty:jetty-webapp:jar:9.2.14.v20151106:provided - omitted for duplicate)
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.2:provided
[INFO] | +- (org.ow2.asm:asm:jar:5.0.3:provided - version managed from 5.0.1; omitted for duplicate)
[INFO] | \- (org.ow2.asm:asm-commons:jar:5.0.1:provided - omitted for conflict with 5.0.3)
[INFO] \- org.eclipse.jetty:apache-jsp:jar:9.2.14.v20151106:provided
[INFO] +- (org.eclipse.jetty:jetty-util:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] +- org.eclipse.jetty:jetty-server:jar:9.2.14.v20151106:provided
[INFO] | +- (javax.servlet:javax.servlet-api:jar:3.1.0:provided - omitted for duplicate)
[INFO] | +- (org.eclipse.jetty:jetty-http:jar:9.2.14.v20151106:provided - omitted for duplicate)
[INFO] | \- (org.eclipse.jetty:jetty-io:jar:9.2.14.v20151106:provided - version managed from 9.2.13.v20150730; omitted for duplicate)
[INFO] +- org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0:provided
[INFO] +- (javax.servlet:javax.servlet-api:jar:3.1.0:provided - omitted for duplicate)
[INFO] \- org.mortbay.jasper:apache-jsp:jar:8.0.9.M3:provided
[INFO] +- (org.eclipse.jetty.toolchain:jetty-schemas:jar:3.1.M0:provided - omitted for duplicate)
[INFO] \- org.mortbay.jasper:apache-el:jar:8.0.9.M3:provided

Seamus McMorrow

unread,
Aug 19, 2016, 9:13:12 AM8/19/16
to GWT Users
I had a quick look at that sample project. 
The errai profile which is activated by default at the bottom of your pom.xml has a dependencyManagement section BOM import. 
That is conflicting the versions for gson and some others, xerces.

If you comment out the whole profile bit 

Andrei Korzhevskii

unread,
Aug 19, 2016, 9:48:44 AM8/19/16
to GWT Users
Yes, that's true. Some dependency hell is going on there.
Commenting out the errai profile does not help but it helps if you just add gson 2.6.2 to your project as a dependency

    <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>

Alberto Mancini

unread,
Aug 19, 2016, 11:24:10 AM8/19/16
to GWT Users
Yes, adding the dependency actually solves the problem, thanks. 
Actually i cannot remove errai profile in the real project. 

In your opinion, is it an issue in gwt or errai  dependencies ?

Thanks again,
   Alberto. 


--

Andrei Korzhevskii

unread,
Aug 19, 2016, 11:35:11 AM8/19/16
to GWT Users
I dont think it's a gwt issue.
I guess the issue will be resolved when errai will use gwt 2.8 final instead of gwt 2.8 beta
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsub...@googlegroups.com.

Alexander Polunochev

unread,
Aug 22, 2016, 2:10:30 PM8/22/16
to GWT Users
Hi,

I had the same issue although I don't use errai on the project. 
Although I have a dependency on gson in project's pom.xml file (current version was 2.2.2).

After updating the gson lib version to 2.6.2 the superDevMode is working now. 

Thank you,
Alex.

Thomas Broyer

unread,
Aug 22, 2016, 3:12:44 PM8/22/16
to GWT Users
Separate your client and server code into separate Maven modules and such conflicts will "magically" go away.
Reply all
Reply to author
Forward
0 new messages