проблема с плагином разработчика GWT 2.0 Chrome - PullRequest
6 голосов
/ 19 января 2010

Я недавно обновил GWT SDK с 1.5.3 до 2.0.0 в проекте.Мне удалось исправить все проблемы, кроме одной.

Я не могу использовать режим разработки с Chrome.Страница входа в мое приложение загружается отлично, но когда я пытаюсь войти (т.е. сделать RPC), я получаю следующую ошибку:

com.google.gwt.core.client.JavaScriptException: (Error): Error calling method on NPObject! stack: Error: Error calling method on NPObject! at eval at eval (native v8natives.js:132:1) at unknown source at __gwt_jsInvoke (<a href="http://grapple:8087/hosted.html:70:35" rel="nofollow noreferrer">http://grapple:8087/hosted.html:70:35</a>) at Array.0 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (<a href="http://grapple:8087/hosted.html:70:35" rel="nofollow noreferrer">http://grapple:8087/hosted.html:70:35</a>) at Array.1 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (<a href="http://grapple:8087/hosted.html:70:35" rel="nofollow noreferrer">http://grapple:8087/hosted.html:70:35</a>) at Array.1 (eval at eval (native v8natives.js:132:1)) __gwt_ObjectId: 2835 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:284) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at com.google.gwt.user.client.rpc.impl.SerializerBase$MethodMap$.deserialize$(SerializerBase.java) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:124) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:116) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader$8.read(RequestCallbackAdapter.java:104) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:197) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:396) 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.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188) at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222) at java.lang.Thread.run(Thread.java:619)

Я использую Chrome 4.0.295.0Плагин разработчика 1.0.7263.

Режим разработки отлично работает на FF и IE.

У вас есть идеи о том, что происходит?

Спасибо.*

Ответы [ 2 ]

7 голосов
/ 10 августа 2011

Я не уверен, что это ошибка в плагине разработчика - это может быть ограничением браузера.

По мере усложнения вашего приложения будет достигнут предел размера стека браузера. Некоторые браузеры имеют более высокие ограничения, чем другие (см. http://tests.novemberborn.net/javascript/callstack-size.html в различных браузерах). Насколько мне известно, Safari имеет самый высокий показатель, и для него есть официальный плагин для разработчиков GWT - по крайней мере, на платформе Mac.

Плагин (на всех платформах) добавляет значительную нагрузку на стек (именно поэтому эта проблема обычно исчезает в рабочей среде), поэтому, если вы хотите продолжить разработку приложения в режиме отладки, лучшим советом, вероятно, является реструктуризация ваш код. Вероятно, вы пытаетесь обрабатывать слишком много данных на стороне клиента одновременно.

0 голосов
/ 11 июня 2010

Похоже, что плагин Chrome имеет проблемы с глубоко вложенными и сериализованными объектами в devmode. В моем приложении я посылаю глубокое дерево, и оно не работает в Chrome, но успешно в Firefox.

...