jsinterop - gwt js interop
Algo distinto de un int fue devuelto por el método JSNI (1)
Estoy ejecutando una aplicación GWT en modo alojado. Esporádicamente recibo una HostedModeException
extraña quejándose del tipo del valor JS devuelto por JSNI. A veces es durante la deserialización:
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)
a veces en
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)
una vez más en
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)
¿Puede alguien ayudarme con esto? Estoy utilizando GWT 2.4.0, Google Chrome 16.0.912.75 y GWT Developer Plugin 1.0.9738.
Por alguna razón mágica, el cromo funciona muy mal con GWT DevMode. La excepción de puntero nulo aleatorio al analizar JSON, JSNI devuelve errores de tipos cuando se trabaja con GXT, las excepciones de muerte remota son problemas muy comunes. Es un problema conocido y es por eso que la mayoría de las personas no están usando GWT DevMode con Chrome.