Tuesday, November 19, 2013

Re: Firefox in OS X freezes in DevMode.

I created a new Firefox profile, and Firefox still froze when trying to connect to Eclipse Kepler using DevMode.

Using sudo to launch Firefox as root still works (Chrome works as well).

I first encountered this problem on OSX 10.6, but I'm still having this issue after upgrading to 10.8.3 and Java 7.

There are no messages or exceptions reported in Eclipse. The only messages I've found are reported in the terminal when I launched Firefox from the command-line:

Initializing GWT Developer Plugin
  gecko=25.0.1, firefox=25.0.1, abi=Darwin_x86_64-gcc3, built for ff250
Connect(url=http://XXX.XXX.XXX.XXX:8888/Discoveryenvironment.jsp?gwt.codesvr=XXX.XXX.XXX.XXX:9997, sessionKey=*~NO_|dJO:iP@0L|, address=XXX.XXX.XXX.XXX:9997, module=discoveryenvironment, hostedHtmlVersion=2.1
GWT Development Mode connection requested by unknown web server XXX.XXX.XXX.XXX, code server XXX.XXX.XXX.XXX
Initiating GWT Development Mode connection to host XXX.XXX.XXX.XXX, port 9997
Other end of socket disconnected
Failed to receive message type
Disconnecting already disconnected channel
2013-11-19 11:31:01.537 firefox[10044:7c13] invalid context

The lines starting with "Other end of socket disconnected" don't get reported until I stop the Eclipse debugger.


On Sunday, November 17, 2013 11:44:55 AM UTC-7, Colin Alworth wrote:
Jorel, I am myself not yet using Mavericks (others on my team are, that's where I'm drawing from for my other reply), so am running 10.8.5 and firefox 25, but can't reproduce this issue. Do you have any error messages or logs to share?

To everyone who has managed to workaround the issue with root, instead can you try a new profile in your normal firefox instance under your normal account?

On Saturday, November 16, 2013 10:39:58 PM UTC-6, Jorel wrote:
I'm also seeing this on a mac running 10.8.5 (not yet on mavericks).
Firefox 25 upgrade did something to my config i guess.
Running Firefox as root also solved this.
I would be interested to find out why this workaround is necessary ... glad to have a workaround for now though.

On Thursday, November 14, 2013 1:02:21 PM UTC-5, Jonathan Strootman wrote:
This is happening to some of our guys too. 

We used the workaround that Carlos mentioned, launching FF as root.

On Saturday, November 9, 2013 9:52:55 PM UTC-7, Carlos Aguayo wrote:
I really appreciate your help Colin.

At this point I believe it's some misconfiguration in my computer. I tried to do a jconsole on the devmode process and it said it couldn't connect to it. I then did a jstack and said the same but this time the utility suggested to use a "-F" to force it, when I did that, I was able to see the threads. I then tried to launch firefox and sudo mode, and voila, that worked! So I open Firefox in normal mode, it can't connect to the plugin, I then try it in root mode and works...

The devmode process and eclipse are running with my account, so I can't tell what else I could have messed up but the important is that I can work and move on.

I appreciate the help,

On Saturday, November 9, 2013 3:10:58 PM UTC-5, Colin Alworth wrote:
If you can repro this on at least one other machine and get the details of what the JVM is doing, that'd be helpful. I have a veeeeery basic familiarity with the dev mode code from researching the FF dev mode memory leak, and would be happy to take a closer look. From your description it sounds like the JVM is either also waiting for the browser (and we'll need to figure out how it got into that bad state with one having ignored a message from the other), or the JVM is blocked on something else entirely, the real source of the bug. My bet is on the latter, that something funny is going on there.

Recent updates to Dev Mode were made for all platforms, nothing mac-specific, so that seems unlikely. Getting an old copy of firefox and an old (pre-ff25) copy of the plugin would probably be worth testing as well if you are able to repro this on more than one box.

Note: the FF-devmode memory leak has to do with the old pages failing to shut down the plugin correctly, so make certain that you don't load more than once. If you do, your JVM will have two different threads trying to talk to the browser, and it may be difficult to tell which one is the current one, versus the 'memory leak' one.

On Saturday, November 9, 2013 11:01:40 AM UTC-6, Carlos Aguayo wrote:
Thanks Colin, yeah that's what I figured, initially I thought that it would be a problem in the plugin given that it was only blocking Firefox and only in OS X (given that Chrome worked and also Firefox but under Linux).
I started debugging and got all the way there.

I doubt that it's a breakpoint or having to wait for a long time as I did leave the browser for a few minutes, there's no breakpoints and CPU is not peaking, so I'd think there's something else waiting.

I'll follow your suggestion and check now the other side, but it's good to know that you haven't had an issue with FF and Mavericks as then that would sadly imply that there's something wrong with my computer :(.

On Friday, November 8, 2013 9:20:10 PM UTC-5, Colin Alworth wrote:
Line 155:
ssize_t n = recv(sock, readBuf, BUF_SIZE, 0);
That seems to say 'block until bytes are written by the other end of the socket', or in other words, wait until the JVM is ready to go. Are you sure that the IDE isn't paused on a breakpoint, or that you have waited long enough for the page to load? When the browser is in this state, try pausing the JVM to see what the dev mode thread is doing - I'm betting it is hard at work on something... but if it too is waiting for something, that could be a problem.

But the recv call is *supposed* to block, at least until dev mode has finished running its not-yet-JS code.

We've had no issues with Mavericks and latest FF in our projects fwiw, aside from the usual 'dev mode takes longer to do anything' fun.

On Thursday, November 7, 2013 10:59:18 PM UTC-6, Carlos Aguayo wrote:
It's getting stuck in line 155 in:

https://gwt.googlesource.com/gwt-plugins/+/master/common/Socket.cpp

On Thursday, November 7, 2013 7:32:28 PM UTC-5, Carlos Aguayo wrote:
I'm started to have issues when trying to use DevMode with Firefox in OS X and the only thing "new" is that I upgraded to Mavericks.

Here's what I see: I create a GWT sample app (the default one that comes with the Eclipse GWT plugin), I launch dev mode and try to access it with Firefox, as soon as I paste the address, the browser freezes.
It stays frozen until I stop development mode, once I do that, Firefox comes back to life.

Using Chrome is fine. I also have a VM setup with Linux and Firefox, if I try to debug through that Firefox, everything works as well.

I tried to see if there was any sort of deadlock in the devmode plugin by using jconsole but it says that there's no deadlock.

I have already ensured that Firefox is clean by doing a "Reset Firefox...".

Apparently the only thing that fixes this issue is by creating a new profile. After I create a new profile, I only install the GWT plugin and works for a few days, then it freezes again. I don't install anything else in Firefox.

I have tried different versions of Firefox (21, 24 and 25) and I see the same behavior in all of them.

I was wondering if anyone else could be seeing something similar and/or would have any suggestions as to how to debug the GWT extension to try to figure out what's going on?

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment