gwt Issue#7233 : On Dev mode Tab
11:57:14.507 [ERROR] [eccount] Unable to load module entry point class com.google.gwt.user.client.UserAgentAsserter (see associated exception for details)
java.lang.RuntimeException: Deferred binding failed for 'com.google.gwt.user.client.UserAgentAsserter$UserAgentProperty' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.google.gwt.user.client.UserAgentAsserter.onModuleLoad(UserAgentAsserter.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:662)
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:595)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.google.gwt.user.client.UserAgentAsserter.onModuleLoad(UserAgentAsserter.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:662)
Stacktrace on eclipse console
Exception in thread "Thread-0" java.lang.NullPointerException
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.JavaScriptException.getName0(JavaScriptException.java)
at com.google.gwt.core.client.JavaScriptException.getName(JavaScriptException.java:64)
at com.google.gwt.core.client.JavaScriptException.init(JavaScriptException.java:179)
at com.google.gwt.core.client.JavaScriptException.getMessage(JavaScriptException.java:162)
at com.google.gwt.dev.util.log.AbstractTreeLogger.getStackTraceAsString(AbstractTreeLogger.java:70)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient.generateLogData(ViewerServiceClient.java:296)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient.addLogEntry(ViewerServiceClient.java:118)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger.sendEntry(ViewerServiceTreeLogger.java:158)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$PendingLog.send(ViewerServiceTreeLogger.java:72)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger.initLogHandle(ViewerServiceTreeLogger.java:134)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$1.onDone(ViewerServiceTreeLogger.java:145)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$1.onDone(ViewerServiceTreeLogger.java:143)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient$1.onDone(ViewerServiceClient.java:96)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient$1.onDone(ViewerServiceClient.java:94)
at com.google.gwt.dev.shell.remoteui.MessageTransport$PendingRequest.setResponse(MessageTransport.java:124)
at com.google.gwt.dev.shell.remoteui.MessageTransport.processServerResponse(MessageTransport.java:423)
at com.google.gwt.dev.shell.remoteui.MessageTransport.processMessage(MessageTransport.java:399)
at com.google.gwt.dev.shell.remoteui.MessageTransport.access$400(MessageTransport.java:44)
at com.google.gwt.dev.shell.remoteui.MessageTransport$3.run(MessageTransport.java:322)
at java.lang.Thread.run(Thread.java:662)
SOLUTION
UserAgentAsserter (as listed below) is actually a Helper class, which, during startup, asserts that the specified user.agent. So, issue is related to user.agent.
package com.google.gwt.user.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
/**
* Helper class, which, during startup, asserts that the specified user.agent
* selection property value indeed matches the expected value for this browser /
* user agent, thus avoid long hours debugging strange error messages when a
* single user agent compile, typically created for testing purposes, ends up
* being executed in the wrong browser.
*/
public class UserAgentAsserter implements EntryPoint {
/**
* Interface to provide both the compile time and runtime
* <code>user.agent</code> selection property value.
*/
interface UserAgentProperty {
boolean getUserAgentRuntimeWarning();
String getCompileTimeValue();
String getRuntimeValue();
}
public void onModuleLoad() {
UserAgentProperty impl = GWT.create(UserAgentProperty.class);
if (!impl.getUserAgentRuntimeWarning()) {
return;
}
String compileTimeValue = impl.getCompileTimeValue();
String runtimeValue = impl.getRuntimeValue();
if (!compileTimeValue.equals(runtimeValue)) {
displayMismatchWarning(runtimeValue, compileTimeValue);
}
}
/**
* Implemented as a JSNI method to avoid potentially using any user agent
* specific deferred binding code, since this method is called precisely when
* we're somehow executing code from the wrong user.agent permutation.
*/
private native void displayMismatchWarning(String runtimeValue,
String compileTimeValue) /*-{
$wnd.alert("ERROR: Possible problem with your *.gwt.xml module file."
+ "\nThe compile time user.agent value (" + compileTimeValue
+ ") does not match the runtime user.agent value (" + runtimeValue
+ "). Expect more errors.\n");
}-*/;
}
I tried removing src/main/webapp/gwt-unitCache/
$ ls -l eccount-server/src/main/webapp/
total 48
drwxrwxr-x 3 prayag prayag 4096 Feb 20 19:11 eccount
drwxrwxr-x 2 prayag prayag 4096 Jan 30 14:59 gwt-unitCache
drwxrwxr-x 5 prayag prayag 4096 Feb 18 15:55 images
drwxrwxr-x 2 prayag prayag 4096 Jan 30 14:59 js
drwxrwxr-x 2 prayag prayag 4096 Jan 30 16:12 styles
drwxrwxr-x 7 prayag prayag 4096 Feb 25 10:23 WEB-INF
$ sudo rm -r eccount-server/src/main/webapp/gwt-unitCache/
But, worked only when
<set-property name="user.agent" value="safari"/> is specified in eccount.gwt.xml.
References
GWT 2.5.0-rc1 and eclipse (3.7 and 4.2) problems, https://groups.google.com/d/msg/google-web-toolkit/bmXJvON1KOg/WhV4W9br2WEJ
11:57:14.507 [ERROR] [eccount] Unable to load module entry point class com.google.gwt.user.client.UserAgentAsserter (see associated exception for details)
java.lang.RuntimeException: Deferred binding failed for 'com.google.gwt.user.client.UserAgentAsserter$UserAgentProperty' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.google.gwt.user.client.UserAgentAsserter.onModuleLoad(UserAgentAsserter.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:662)
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:595)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.google.gwt.user.client.UserAgentAsserter.onModuleLoad(UserAgentAsserter.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Thread.java:662)
Stacktrace on eclipse console
Exception in thread "Thread-0" java.lang.NullPointerException
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.JavaScriptException.getName0(JavaScriptException.java)
at com.google.gwt.core.client.JavaScriptException.getName(JavaScriptException.java:64)
at com.google.gwt.core.client.JavaScriptException.init(JavaScriptException.java:179)
at com.google.gwt.core.client.JavaScriptException.getMessage(JavaScriptException.java:162)
at com.google.gwt.dev.util.log.AbstractTreeLogger.getStackTraceAsString(AbstractTreeLogger.java:70)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient.generateLogData(ViewerServiceClient.java:296)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient.addLogEntry(ViewerServiceClient.java:118)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger.sendEntry(ViewerServiceTreeLogger.java:158)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$PendingLog.send(ViewerServiceTreeLogger.java:72)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger.initLogHandle(ViewerServiceTreeLogger.java:134)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$1.onDone(ViewerServiceTreeLogger.java:145)
at com.google.gwt.dev.shell.remoteui.ViewerServiceTreeLogger$1.onDone(ViewerServiceTreeLogger.java:143)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient$1.onDone(ViewerServiceClient.java:96)
at com.google.gwt.dev.shell.remoteui.ViewerServiceClient$1.onDone(ViewerServiceClient.java:94)
at com.google.gwt.dev.shell.remoteui.MessageTransport$PendingRequest.setResponse(MessageTransport.java:124)
at com.google.gwt.dev.shell.remoteui.MessageTransport.processServerResponse(MessageTransport.java:423)
at com.google.gwt.dev.shell.remoteui.MessageTransport.processMessage(MessageTransport.java:399)
at com.google.gwt.dev.shell.remoteui.MessageTransport.access$400(MessageTransport.java:44)
at com.google.gwt.dev.shell.remoteui.MessageTransport$3.run(MessageTransport.java:322)
at java.lang.Thread.run(Thread.java:662)
SOLUTION
UserAgentAsserter (as listed below) is actually a Helper class, which, during startup, asserts that the specified user.agent. So, issue is related to user.agent.
package com.google.gwt.user.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
/**
* Helper class, which, during startup, asserts that the specified user.agent
* selection property value indeed matches the expected value for this browser /
* user agent, thus avoid long hours debugging strange error messages when a
* single user agent compile, typically created for testing purposes, ends up
* being executed in the wrong browser.
*/
public class UserAgentAsserter implements EntryPoint {
/**
* Interface to provide both the compile time and runtime
* <code>user.agent</code> selection property value.
*/
interface UserAgentProperty {
boolean getUserAgentRuntimeWarning();
String getCompileTimeValue();
String getRuntimeValue();
}
public void onModuleLoad() {
UserAgentProperty impl = GWT.create(UserAgentProperty.class);
if (!impl.getUserAgentRuntimeWarning()) {
return;
}
String compileTimeValue = impl.getCompileTimeValue();
String runtimeValue = impl.getRuntimeValue();
if (!compileTimeValue.equals(runtimeValue)) {
displayMismatchWarning(runtimeValue, compileTimeValue);
}
}
/**
* Implemented as a JSNI method to avoid potentially using any user agent
* specific deferred binding code, since this method is called precisely when
* we're somehow executing code from the wrong user.agent permutation.
*/
private native void displayMismatchWarning(String runtimeValue,
String compileTimeValue) /*-{
$wnd.alert("ERROR: Possible problem with your *.gwt.xml module file."
+ "\nThe compile time user.agent value (" + compileTimeValue
+ ") does not match the runtime user.agent value (" + runtimeValue
+ "). Expect more errors.\n");
}-*/;
}
I tried removing src/main/webapp/gwt-unitCache/
$ ls -l eccount-server/src/main/webapp/
total 48
drwxrwxr-x 3 prayag prayag 4096 Feb 20 19:11 eccount
drwxrwxr-x 2 prayag prayag 4096 Jan 30 14:59 gwt-unitCache
drwxrwxr-x 5 prayag prayag 4096 Feb 18 15:55 images
drwxrwxr-x 2 prayag prayag 4096 Jan 30 14:59 js
drwxrwxr-x 2 prayag prayag 4096 Jan 30 16:12 styles
drwxrwxr-x 7 prayag prayag 4096 Feb 25 10:23 WEB-INF
$ sudo rm -r eccount-server/src/main/webapp/gwt-unitCache/
But, worked only when
<set-property name="user.agent" value="safari"/> is specified in eccount.gwt.xml.
References
GWT 2.5.0-rc1 and eclipse (3.7 and 4.2) problems, https://groups.google.com/d/msg/google-web-toolkit/bmXJvON1KOg/WhV4W9br2WEJ
No comments:
Post a Comment