GWT debuggin in Chrome - why is so slow?

599 views
Skip to first unread message

Edson Richter

unread,
Feb 2, 2011, 10:12:57 AM2/2/11
to Google Web Toolkit
I've a development environment composed by NetBeans, Apache Tomcat
6.0.30 and GWT 2.0.4.

In the client side, I've Google Chrome and Mozilla Firefox. I gave up
on testing Internet Explorer due the amount of bugs (in IE, to be
clear).

Google Chrome is the fastest and stable browser I've been using so
far, but for debug I can only use FireFox.
In Chrome, if I don't get "NPObject..." bug, then I get repeated
timeouts.

My application is a business application that uses several custom
gadgets, but I don't believe this is the problem, since Firefox works
well (either to run or debug the application). Also, as I stated
before, Chrome is that fastest (but I cant debug the application).

Can anyone help me? Is there any Chrome configuration or restriction?
Is the plugin working in Chrome for debug mode?

I'll appreciate your help.

Regards,

Edson Richter.

Eric

unread,
Feb 2, 2011, 12:56:16 PM2/2/11
to Google Web Toolkit
I was dealing with a ton of IE-specific bugs until I changed the
DOCTYPE of my html file to:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=IE7">
...

It seems my old DOCTYPE of "...4.0.1 Transitional...", which I copied
out of some example 18 months ago, was causing IE to act as if it was
IE5.5.

Slightly off topic, but I hope it's helpful.

Eric

Jan Mostert

unread,
Feb 2, 2011, 1:23:40 PM2/2/11
to google-we...@googlegroups.com
@Edson, what operating system are you using out of curiosity?
I take it the debug mode you're talking about is "development mode"?
I've been using the development mode plugin in Chrome in both Gentoo Linux and Kubuntu since December 2010, before that I was having problems as well - maybe upgrade your Chrome?

@Eric, do you still have that IE-buggy code? 
Would you mind testing this doctype for me: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

--
Jan Vladimir Mostert
BEngSci

Mail: j...@mycee.com
MyCee Technologies



--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.


Jeff Larsen

unread,
Feb 2, 2011, 1:36:14 PM2/2/11
to google-we...@googlegroups.com
Transitional doctype won't work if you're using *LayoutPanels. 

Jan Mostert

unread,
Feb 2, 2011, 1:41:49 PM2/2/11
to google-we...@googlegroups.com
Is that for all layout panels (the simple ones like horizontal and vertical panel included) or just specific ones that fall under the more comlex layout panels like DockLayout?


On Wed, Feb 2, 2011 at 8:36 PM, Jeff Larsen <lars...@gmail.com> wrote:
Transitional doctype won't work if you're using *LayoutPanels. 

--

Jeff Larsen

unread,
Feb 2, 2011, 2:10:38 PM2/2/11
to google-we...@googlegroups.com
That goes for anything that has Layout in the name.

see more info here.


Jan Mostert

unread,
Feb 2, 2011, 2:29:21 PM2/2/11
to google-we...@googlegroups.com
Thanks Jeff, this will save me plenty of headaches later this year when I deploy my app, the default generated by Spring Roo uses transitional even though the docs explicitly says that the doctype should be <!DOCTYPE html>

Is this something that I need to log with GWT or with the Spring guys?

The GWT 2.0 layout system is intended to work only in "standards mode". This means that you should always place the following declaration at the top of your HTML pages: <!DOCTYPE html>

What won't work in standards mode?

As mentioned above, some of the existing GWT panels do not behave entirely as expected in standards mode. This stems primarily from differences between the way standards and quirks modes render tables.




--
Jan Vladimir Mostert
BEngSci

Mail: j...@mycee.com
MyCee Technologies


Jeff Larsen

unread,
Feb 2, 2011, 3:00:37 PM2/2/11
to google-we...@googlegroups.com
There isn't a requirement to use layout panels, and I haven't used the Roo stuff enough to know if they use layout panels in the autogenned stuff that gets created. Assuming they don't use layout panels, then transitional is a valid doctype (although still probably a bad idea). 

Jan Mostert

unread,
Feb 2, 2011, 3:14:13 PM2/2/11
to google-we...@googlegroups.com
A DockLayoutPanel is being used in the generated scaffold, which means that if it's breaking in IE when using transitional (as mentioned in the docs), the generated scaffold will not work properly in IE.




On Wed, Feb 2, 2011 at 10:00 PM, Jeff Larsen <lars...@gmail.com> wrote:
There isn't a requirement to use layout panels, and I haven't used the Roo stuff enough to know if they use layout panels in the autogenned stuff that gets created. Assuming they don't use layout panels, then transitional is a valid doctype (although still probably a bad idea). 

--

Chris Conroy

unread,
Feb 2, 2011, 4:33:53 PM2/2/11
to Google Web Toolkit
The Chrome plugin model slows down development mode a fair amount. Note that you can ignore those hang timeout warnings that the Chrome UI surfaces--the dialog will go away once the codeserver hands control back to JS (e.g. while waiting for a long refresh).

What NPObject error specifically are you hitting?

Edson Richter

unread,
Feb 3, 2011, 8:35:43 AM2/3/11
to Google Web Toolkit
Thanks for the tip, but my IE problem is that scripts are 100 times
slower, and one process at time make RPC impossible to work with...
and my application deals with huge amounts of data (obejcts) received
through RPC.

Regards,

Edson.

On 2 fev, 15:56, Eric <edimickeast...@gmail.com> wrote:...

Edson Richter

unread,
Feb 3, 2011, 8:54:49 AM2/3/11
to Google Web Toolkit
I'm working with the following environment:

a) Windows 7 Home Premium 64bit
b) Sun Java JDK 1.6.0_22 32bit and JRockit 4 (1.6.0_20) 32bit
c) NetBeans 6.9.2 on Sun JDK 1.6.0_22 32bit
d) Apache Tomcat 6.0.30 on Sun JDK 1.6.0_22 or JRockit 1.6.0.20 (both
32bit)
e) Front-end Google Chrome (8.0.552.237) with latest GWT plugin
(1.0.9646) or Mozilla FireFox (3.6.13) with latest plugin (1.0.9639)
f) NetBeans has the Nb4GWT plugin, so I can start the application in
debug mode so it starts Apache Tomcat in Debug Mode, opens the GWT
console and launch the application with url like
http://localhost:8080/SimuladorFrete/index.jsp?gwt.codesvr=127.0.0.1:9997

It works fine with FireFox, but Google Chrome never opens the page
when the data amount received from RPC service is really huge (4 or
5Mb of data through the network): it never hits the breakpoints marked
in the VM, it just never hit the "onSuccess" or "onFailure", and keeps
giving the infamous "The script in the page is too slow, continue
processing?" (or similar message like this).

By today (using Apache+SunJDK), I got another error in the GWT Console
(may be thanks to the new plugin installed yesterday) - 4 stack traces
below:

00:02:53,692 [ERROR] Failed to create an instance of
'br.com.simfreteV1.ui.calculo.CalculoEntryPoint' via deferred binding
com.google.gwt.core.client.JavaScriptException: (String): invoke of
@com.google.gwt.dom.client.Element::setPropertyString(Ljava/lang/
String;Ljava/lang/String;) failed 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.dom.client.Element$.setPropertyString$
(Element.java) at
com.google.gwt.user.client.DOM.setElementProperty(DOM.java:1094) at
com.google.gwt.user.client.ui.UIObject.setStyleName(UIObject.java:267)
at com.google.gwt.user.client.ui.UIObject.setStyleName(UIObject.java:
648) at com.google.gwt.user.datepicker.client.DefaultCalendarView
$CellGrid$DateCell.updateStyle(DefaultCalendarView.java:122) at
com.google.gwt.user.datepicker.client.DefaultCalendarView$CellGrid
$DateCell.update(DefaultCalendarView.java:105) at
com.google.gwt.user.datepicker.client.DefaultCalendarView.refresh(DefaultCalendarView.java:
190) at
com.google.gwt.user.datepicker.client.DatePicker.refreshAll(DatePicker.java:
622) at
com.google.gwt.user.datepicker.client.DatePicker.setCurrentMonth(DatePicker.java:
513) at
com.google.gwt.user.datepicker.client.DatePicker.<init>(DatePicker.java:
282) at
com.google.gwt.user.datepicker.client.DatePicker.<init>(DatePicker.java:
258) at
br.com.simfreteV1.ui.comps.DateTextBoxCalendar.<init>(DateTextBoxCalendar.java:
30) at br.com.simfreteV1.ui.comps.DateTextBox.<init>(DateTextBox.java:
38) at
br.com.simfreteV1.ui.calculo.CalculoEntryPoint.<init>(CalculoEntryPoint.java:
62) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39) at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27) at java.lang.reflect.Constructor.newInstance(Constructor.java:
513) at
com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:
422) at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:
361) at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
185) at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
380) at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222) at java.lang.Thread.run(Thread.java:662)

and

00:02:53,697 [ERROR] Failed to create an instance of
'com.google.gwt.core.client.impl.SchedulerImpl' via deferred binding
com.google.gwt.core.client.JavaScriptException: (String): invoke of
@com.google.gwt.core.client.JavaScriptObject::createArray() failed 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.invokeNativeObject(ModuleSpace.java:
264) at
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:
91) at com.google.gwt.core.client.JavaScriptObject
$.createArray(JavaScriptObject.java) at
com.google.gwt.core.client.impl.SchedulerImpl.<init>(SchedulerImpl.java:
251) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39) at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27) at java.lang.reflect.Constructor.newInstance(Constructor.java:
513) at
com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:
422) at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:39)
at com.google.gwt.core.client.GWT.create(GWT.java:98) at
com.google.gwt.core.client.impl.SchedulerImpl.<clinit>(SchedulerImpl.java:
76) at com.google.gwt.core.client.impl.Impl.exit(Impl.java:207) 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:374) at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
185) at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
380) at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222) at java.lang.Thread.run(Thread.java:662)

and

00:02:53,698 [ERROR] Unable to load module entry point class
br.com.simfreteV1.ui.calculo.CalculoEntryPoint (see associated
exception for details)
java.lang.RuntimeException: Deferred binding failed for
'com.google.gwt.core.client.impl.SchedulerImpl' (did you forget to
inherit a required module?) at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:43)
at com.google.gwt.core.client.GWT.create(GWT.java:98) at
com.google.gwt.core.client.impl.SchedulerImpl.<clinit>(SchedulerImpl.java:
76) at com.google.gwt.core.client.impl.Impl.exit(Impl.java:207) 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:374) at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
185) at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
380) at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222) 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.rebindAndCreate(ModuleSpace.java:
449) at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:39)
at com.google.gwt.core.client.GWT.create(GWT.java:98) at
com.google.gwt.core.client.impl.SchedulerImpl.<clinit>(SchedulerImpl.java:
76) at com.google.gwt.core.client.impl.Impl.exit(Impl.java:207) 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:374) at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
185) at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
380) at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222) at java.lang.Thread.run(Thread.java:662)

and

00:02:53,700 [ERROR] Failed to load module
'br.com.simfreteV1.ui.Calculo' from user agent 'Mozilla/5.0 (Windows;
U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko)
Chrome/8.0.552.237 Safari/534.10' at hostlocation:49882



On 2 fev, 16:23, Jan Mostert <j...@mycee.com> wrote:
> @Edson, what operating system are you using out of curiosity?
> I take it the debug mode you're talking about is "development mode"?
> I've been using the development mode plugin in Chrome in both Gentoo Linux
> and Kubuntu since December 2010, before that I was having problems as well -
> maybe upgrade your Chrome?
>
> @Eric, do you still have that IE-buggy code?
> Would you mind testing this doctype for me: <!DOCTYPE HTML PUBLIC
> "-//W3C//DTD HTML 4.0 Transitional//EN">
>
> --
> Jan Vladimir Mostert
> BEngSci
>
> Mail: j...@mycee.com
> MyCee Technologies
>
> On Wed, Feb 2, 2011 at 5:12 PM, Edson Richter <brvik...@gmail.com> wrote:
> > I've a development environment composed by NetBeans, Apache Tomcat
> > 6.0.30 and GWT 2.0.4.
>
> > In the client side, I've Google Chrome and Mozilla Firefox. I gave up
> > on testing Internet Explorer due the amount of bugs (in IE, to be
> > clear).
>
> > Google Chrome is the fastest and stable browser I've been using so
> > far, but for debug I can only use FireFox.
> > In Chrome, if I don't get "NPObject..." bug, then I get repeated
> > timeouts.
>
> > My application is a business application that uses several custom
> > gadgets, but I don't believe this is the problem, since Firefox works
> > well (either to run or debug the application). Also, as I stated
> > before, Chrome is that fastest (but I cant debug the application).
>
> > Can anyone help me? Is there any Chrome configuration or restriction?
> > Is the plugin working in Chrome for debug mode?
>
> > I'll appreciate your help.
>
> > Regards,
>
> > Edson Richter.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Web Toolkit" group.
> > To post to this group, send email to google-we...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-web-tool...@googlegroups.com<google-web-toolkit%2Bunsu...@googlegroups.com>
> > .

Edson Richter

unread,
Feb 3, 2011, 8:56:59 AM2/3/11
to Google Web Toolkit
Hi, Chris!

Thanks for your answer - even if I hit the "Ignore" or "Continue"
button (I don't remember the exact text appears in the button face,
because I do use "Portuguese Brazilian" here...), Chrome fronzen until
it dies with the "Crash page".

The NPObject error did not happen since latest plugin. If I hit it
again, I'll open another thread.

Regards,

Edson.

On 2 fev, 19:33, Chris Conroy <con...@google.com> wrote:
> The Chrome plugin model slows down development mode a fair amount. Note that
> you can ignore those hang timeout warnings that the Chrome UI surfaces--the
> dialog will go away once the codeserver hands control back to JS (e.g. while
> waiting for a long refresh).
>
> What NPObject error specifically are you hitting?
>
> On Wed, Feb 2, 2011 at 10:12 AM, Edson Richter <brvik...@gmail.com> wrote:
> > I've a development environment composed by NetBeans, Apache Tomcat
> > 6.0.30 and GWT 2.0.4.
>
> > In the client side, I've Google Chrome and Mozilla Firefox. I gave up
> > on testing Internet Explorer due the amount of bugs (in IE, to be
> > clear).
>
> > Google Chrome is the fastest and stable browser I've been using so
> > far, but for debug I can only use FireFox.
> > In Chrome, if I don't get "NPObject..." bug, then I get repeated
> > timeouts.
>
> > My application is a business application that uses several custom
> > gadgets, but I don't believe this is the problem, since Firefox works
> > well (either to run or debug the application). Also, as I stated
> > before, Chrome is that fastest (but I cant debug the application).
>
> > Can anyone help me? Is there any Chrome configuration or restriction?
> > Is the plugin working in Chrome for debug mode?
>
> > I'll appreciate your help.
>
> > Regards,
>
> > Edson Richter.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Web Toolkit" group.
> > To post to this group, send email to google-we...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-web-tool...@googlegroups.com<google-web-toolkit%2Bunsu...@googlegroups.com>
> > .
Reply all
Reply to author
Forward
0 new messages