Gwt JSNI方法返回的不是int

Gwt JSNI方法返回的不是int,gwt,jsni,gwt-hosted-mode,Gwt,Jsni,Gwt Hosted Mode,我正在以托管模式运行GWT应用程序。偶尔我会收到一个奇怪的HostedModeException抱怨JSNI返回的JS值的类型。有时是在反序列化期间: com.google.gwt.dev.shell.HostedModeException: Something other than an int was returned from JSNI method '@com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader

我正在以托管模式运行GWT应用程序。偶尔我会收到一个奇怪的
HostedModeException
抱怨JSNI返回的JS值的类型。有时是在反序列化期间:

 com.google.gwt.dev.shell.HostedModeException: Something other than an int was returned from JSNI method '@com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader::readInt()': JS value of type boolean, expected int
    at com.google.gwt.dev.shell.JsValueGlue.getIntRange(JsValueGlue.java:266)
    at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:144)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeInt(ModuleSpace.java:247)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeInt(JavaScriptHost.java:75)
    at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.readInt(ClientSerializationStreamReader.java)
有时在:

 com.google.gwt.dev.shell.HostedModeException: Something other than an int was returned from JSNI method '@com.google.gwt.user.client.impl.DOMImpl::eventGetTypeInt(Ljava/lang/String;)': JS value of type null, expected int
    at com.google.gwt.dev.shell.JsValueGlue.getIntRange(JsValueGlue.java:266)
    at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:144)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeInt(ModuleSpace.java:247)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeInt(JavaScriptHost.java:75)
    at com.google.gwt.user.client.impl.DOMImpl.eventGetTypeInt(DOMImpl.java)
    at com.google.gwt.user.client.impl.DOMImpl.eventGetTypeInt(DOMImpl.java:62)
    at com.google.gwt.user.client.DOM.eventGetType(DOM.java:602)
    at com.google.gwt.user.client.Event$.getTypeInt$(Event.java:695)
    at com.extjs.gxt.ui.client.util.BaseEventPreview.onPreviewNativeEvent(BaseEventPreview.java:139)
再次

com.google.gwt.dev.shell.HostedModeException: Something other than a float was returned from JSNI method '@com.extjs.gxt.ui.client.util.Util::parseFloat(Ljava/lang/String;F)': JS value of type boolean, expected float
    at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:118)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeFloat(ModuleSpace.java:235)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeFloat(JavaScriptHost.java:67)
    at com.extjs.gxt.ui.client.util.Util.parseFloat(Util.java)
    at com.extjs.gxt.ui.client.core.El.getFrameSize(El.java:1081)
    at com.extjs.gxt.ui.client.core.El.setSize(El.java:2702)
    at com.extjs.gxt.ui.client.widget.BoxComponent.setSize(BoxComponent.java:501)
    at com.extjs.gxt.ui.client.widget.BoxComponent.setHeight(BoxComponent.java:320)

有人能帮我吗?我正在使用GWT 2.4.0、Google Chrome 16.0.912.75和GWT Developer Plugin 1.0.9738。

出于某种神奇的原因,Chrome在GWT DevMode中运行得非常糟糕。解析JSON时出现随机空指针异常,使用GXT时出现JSNI返回类型错误,远程死亡异常是非常常见的问题。这是一个众所周知的问题,这就是为什么大多数人不在Chrome中使用GWT DevMode的原因

奇怪,因为他们都来自谷歌。实际上,我这里有一个遗留应用程序,移植到Firefox需要额外的努力:(奇怪的是,我们不得不为我们的项目创建单独的JSON解析器,因为Chrome中的DevMode总是被标准实现压垮。不幸的是,对于GXT这样的框架没有这样的解决方法。值得指出的是,这只会在开发模式下发生(编译代码就可以了),并且有时只会使用一些jsni)。这是一个长期存在的问题,最终会发生在任何jsni上。感谢科林,我再次感到奇怪,因为这个错误是在2010年12月提出的,是关于GWT 2.1.0和Chrome 10.0.612.1的。从那时起,几个世纪已经过去了。IE 10也会发生这种情况(如果有必要的话,请使用Windows 8)我很想帮忙,因为我偶尔也会遇到这样的随机异常…但我不知道!无论如何,它通常不会影响我的调试,所以我只能接受它…但很高兴知道背后的原因。May case和你一样,大约每月发生一次,但现在在我目前正在进行的项目中,这是一件好事ng反复出现,一天多次。这就是为什么我觉得我的配置可能有问题。不幸的是,它也很难重现。用朱西奥的话说,这很神奇。这个问题在给出解决方案的地方重复出现。