Eclipse is getting Hang while debugging GWT application - eclipse

We are developing our web application using JAVA GWT-P framework (Version 2.4). We are using Eclipse (Version 3.7) Indigo as a development GUI. While we are debugging the application, eclipse is getting hanged generally and surprisingly this is a random behavior.
And this is not happening in only part of the program. Anytime, while we debug, Eclipse hangs in different module.
To resolve this , we tried to use different Operating system such as Windows XP (development gui: Eclipse version 3.7 Indigo), Fedora Version 16 (with development gui: Eclipse version Helios Service Release 2), Cent OS (with development gui: Eclipse version Helios Service Release 2). But no luck.
Can anyone help me out to decide which OS, and eclipse or version should we have to use so can able to resolve the hanging issue?

Use a machine with at least 8G RAM, quad core for GWT development. Anything less than that would be catastrophic and unproductive.
Ideally 8 core, 12 GB.
Increase your eclipse jvm vm heap size max, at startup.
Default eclipse startup is either 256M or 512M. It should be at least 768M. I have tried 1024M which
made only a marginal difference above 768M. I found 900M seems to be
the most that would be used in my cases.
You may have to increase your permgen memory allocation too. I think
permgen space is used for storing class definition and are never
garbage-collected. I presume that when my eclipse hung indefinitely
was when there was no more permgen space to store new class defn.
I have never had to redefine the stackspace allocation for eclipse.
You can google around to find out the jvm startup arguments to define mem allocation. e.g. -Xmx, etc.
Initially develop only for a single browser. Decide between using FF
or Chrome as your dev browser. Then tune your entrypoint gwt.xml to
set the user-agent property for that browser. Google on gwt set
property user-agent. Compiling for only one browser, I have found,
speeds up the compilation a lot.
Don't ever store your projects, source files, resources or libs
that are accessed by the compiler, in a network or usb drive. All your
compilable/includable resources should be on your local drive.
Try to use maven or some other tool for dependency management, so that you do not need to access your jars or dependent projects over the network.
Do not, ever, let your development strategy roll down the hill by
depending on live-project dependencies. Having workspace with 50 or more
projects is disaster and signifies a development team in crisis.
The compulsive and persistent compilation, scanning of projects by
eclipse background take a huge toll on the performance of eclipse.
Try to disable as much validation as possible. e.g., disable html and
javascript validation.
If you have a huge number of server side projects ...
You need to re-architect your development strategy to cluster your 50 - 100 projects into project packages, so that each project package has no more than 20 compilable/validateable project members (ideally less than 5 projects). Each package is frozen by versions and packaged as jars. Use only the jars for development dependencies.
Your programmers need to learn not to have the impulse to work on a workspace with 200 projects. Enhancements are reserved for bugzillas of each project package. Having a 200 project workspace is bad project management. It wastes your programmers' time by having eclipse slow down now and then.
Have sufficient temp space (or for Windows sufficient slack space on
the user disk). I have experienced that insufficient disk space for
compiler buffering/caching has caused slow-downs and hang-ups. Having
a 5G slack space is the minimal - the more the merrier so as to
preclude having to clear the trash or search for files to delete or
clear the GWT compiler generated temp files. A 5G slack space is still
very inconvenient.
AFAI have experienced, neither windows 7/vista or linux made much performance difference except that eclipse seems to start up much slower on Windows.
Therefore, if you know how to tune your anti-virus, may be you should
tell the anti-virus software to skip scanning the workspace and project folders.
Unless you have an 8-core 12GB machine, you should disable most of windows
aero, trasparency. But you need to keep windows compositing
(otherwise you would destroy your eyesight looking at the bad fonts).

THE PROBLEM
I have a GWT project that worked fine on my old core2 machine. When I recently got a new core i7, 8GB ram (Dell XPS Ubuntu developer edition), I discovered that Eclipse hangs VERY OFTEN (about 90% of the startups hang) when I try to start debugging by clicking the browser link under the "Development Mode" eclipse view. There MUST be a thread synchronization bug (deadlock) that can only happen when the 'timing is different' from normal test cases. This fact that it's a timing bug deadlock is why it appears so "random" and has not yet been discovered and fixed. I have all the LATEST GWT at the time I'm writing this, and latest Eclipse etc.
THE WORKAROUND:
Luckily I discovered that if I copy that link and paste it into an already started instance of Firefox (outside eclipse) then there is never any hang. I'm 100% certain that this is not a problem in my code. I'm 95% certain it's a deadlock happening in GWT. So just don't click the "Development Mode" link and you'll be fine. Hope to have helped someone with this post.

Related

Problems importing SAP Commerce 2105 into Eclipse

I have successfully upgraded my localhost copy of SAP Commerce 2005 to 2105, and I'm now in the process of importing the 2105 platform into my Eclipse IDE. This import process runs for a long time and eventually errors out with the following error:
java.lang.OutOfMemoryError: Java heap space
I've tried increasing heap size for Eclipse multiple times, but I still end up running out of memory. I'm using the Hybris/Eclipse plugin to do this.
It appears that the smartedit module has significantly increased in size and seems to be the culprit in getting the platform to load.
I've read that it's not possible to load the 2105 platform into Eclipse with the smartedit projects included, and I've also read that upgrading the version of the Hybris/Eclipse plugin does not help either.
What is everyone else doing to solve this problem? I've tried several times loading individual projects, making sure to exclude any project with the name 'smartedit' in it, but it still runs for a long time and then exits with the out of memory error.
Without stacktrace hard to say what is going on your PC. MAYBE that issue is same to already raised on github.com on plugin repository.
https://github.com/SAP/hybris-commerce-eclipse-plugin/issues/99
I have tested that and closed. There is solution proposed to that particular case. Maybe will work out with yours

How to disable Eclipse IDE Language Server

I am running Eclipse IDE
Version 2018-12 (4.10.0)
Build id: 20181214-0600
On macOS Mojave
Version 10.14.1
MacBook Pro 2018 with 32GB and cpu 2.9 G i9
When I attempt to things such as open up a class file etc - I see the Initialize Language Server and I get the famous BeachBall - some times it is for a second or two and other times 30 or more seconds.
Is there some configuration or something that can improve the performance of this or ability to turn it off? Search the web has turned up nothing so far. At first I thought it was the freemarker IDE extension - uninstalled that but no change.
I uninstalled freemarker IDE and all the other JBOSS extensions since I am not currently using them.
I then when into Preferences -> Language Servers and turn them all off.
Now I do not have any issues with slowness of opening files or the famous mac BeachBall.
For me the issue was with Spring, and then I went ahead and turned off all Spring language servers. I do not know what capabilities are lost due to this, but there seems to be lot of improvement that is needed here before we actually use it.
What a pain in neck, killed my office work productivity for almost a month!

Unable to stop Grails app from Eclipse (on Windows)

I'm setting up a Grails development environment using Eclipse (on Windows) and I've noticed that after the sample app starts running (not debugging, just running), no matter what I do I can't terminate the running app. I've tried the obvious red square (on the console window and on the debug view). I've also tried running "stop-app" from the grails command window. But the app still continues to run. Is this a known issue? Is there a fix for it?
Not sure if this matter, but the only thing that I did in Eclipse other than installing the Groovy/Grails plugin is to also install support for the Groovy 2.1 compiler.
Everything in 2.3 is forked by default, so there's one JVM that you start, and it has the Ant jars and other stuff that's needed to start Grails, but that pollutes the JVM unnecessarily. The 2nd JVM that the first process starts is lighter-weight with only the jars that the app depends on, i.e. the Grails, Spring, Hibernate, etc. jars. But this is a tricky thing to do, and unfortunately Windows doesn't get much testing during development because the Grails developers get to choose which OS to use (unlike a lot of Grails users who often have Windows forced on them) and Windows is not chosen - it's all Mac and Linux.
I haven't followed this closely because it was quite buggy early on and I'm now in the habit of just disabling forking any time I create an app. There's probably a better approach, but I delete the grails.project.fork property from BuildConfig.groovy. You can comment it out, or disable forking for a particular launch type ("run", "test", etc.) but deleting the whole block disables it across the board and I find that things work well after that.

GWT / Eclipse slow : just unusable (win7 / Juno install)

I have Eclipse Juno + latest GWT (GPE 3.1.2+ SDK 2.5.1).
It's just unusable :
Just hang-up now and then (ten times a day), so I have to kill and restart
At best very slow, meaning waiting minutes before UI response for trivial things
After WEB investigation, i did :
increased JVM resources in eclipse.ini
periodically purge the project folder "gwt-unitCache"
For some reason i also tried GWT on Indigo (as the GWT Designer does not run properly on Juno), but it is the same.
The issues seem to be yet somewhere else.
As there as performance issues posted on Google bug list, I am not too sure where I stand.
So my questions :
Does anyone use Eclipse/GWT with fair performances [on Windows ?
(is the issue related to windows -- which I doubt)]
Can anyone provide a set of configuration instructions which can
lead to a stable config ? -- or explain the traps to avoid ?
Before going to Vaadin I wanted to properly handle GWT, but i am close to drop it. Please help.
I would add RAM. 4 gigs sounds pretty slim for a dev machine. An OS with a few apps running will take up 2 gigs. Start eclipse and that's another gig or 2 easy. Then you start running jetty within eclipse for another gig or 2 and now you're hitting your virtual memory / page file which will slow it down tremendously.
Running firefox doing nothing else then looking at a single tab to test my app is 200MB of RAM. Some of my chrome tabs are 100MB easy. Just figure each browser tab eats 3-5% of your 4 gigs.
I'd say get at least 16GB on a 64bit OS and give eclipse and jetty at least 2 gigs each if not 4 each. A solid state disk (SSD) helps a lot too since compiling does a lot of random reads and writes.
Here's a screenshot of the debug settings with 3 gigs of RAM and some extra permgen space for subsequent refreshes of the pages. Just remember, if you run out of physical RAM and it starts hitting the page file these settings won't increase performance!

Anyone have issues with Eclipse over Remote Desktop Connection?

I have a very strange issue that I'm hoping someone can help me with. I have various installations of Eclipse on my development machine at work. The one I primarily use is Weblogic WorkSpace Studio 10.2. This installation, along with a few Pulse installations I have set up works fine when I'm logged into my computer physically.
However, when I try to log into the computer using Microsoft's Remote Desktop Connection utility I get an error stating: "Could not create Java virtual machine." and then I get the lovely Eclipse error box which I personally can gather almost nothing from.
Even if you don't have the solution, any help would be greatly appreciated.
Justin
What ended up working for me was the memory settings for the JVM. Apparently the remote desktop connection, or some other setting in Windows, blocks off a fairly large amount of space. By reducing the heap size allocation for the JVM during Eclipse and server start-up I was able to get this working. As a side note, I had PLENTY of space that windows could have used, so I don't think blankly adding more memory would necessarily solve the issue. If you find another solution, please let me know.
• We came across an issue when user RDC’s to a remote system where the OS is Windows 10 and has a running Eclipse instance, the Eclipse instance terminates
• Eclipse is one of the IDE’s for Java
• The issue is because of Windows 10 Exploit protection
• Pre-requisite: You will need Administrative permissions for executing the below
• Navigate to Settings -> Update & Security -> Windows Security -> App & Browser Control -> Exploit Protection Settings
• Add the program to exclude as below
P.s. As of Window 10 1909 MS security advisory mentions we can disable some exploit protections by default.
Perhaps it is permission related. take a look at similar issue that symantec has:
http://service1.symantec.com/support/ent-security.nsf/854fa02b4f5013678825731a007d06af/8ea1593f1d1fcee68025759a003d8403?OpenDocument
Try to see if you have same patches installed that causes the security issue. Also refer to application log to see if there is a more specific error. Good luck :)
I think issue happens due to Windows, not Eclipse nor JVM. There is still open Bug report on the Eclipse side and one of the comments state that Microsoft is working on the issue.
I have tried Windows Remote Desktop-ing into my dev machine at work (which had only one version of eclipse installed on it). I had no troubles.
Is it possible that your problems stem from multiple versions of eclipse running at the same time?
Also, have you tried a fresh install of eclipse on your dev machine?
If the above two suggestions don't work, then the only thing that I can think of is what Mohammad said: you might need to check your permissions.
I would check the system log if I were you: Start > run > eventvwr
The first thing to look at is the .log file which is in your eclipse's metadata folder (found in your workspace at $WORKSPACE_ROOT/.metadata/.log). If you post the stack trace that it generates upon initialization, we can give a definitive answer.
I am now experiencing this in Eclipse (the Oxygen release and Java 1.8.0_181). I previously had the same problem with another Java-based program (Oxygen XML/XSL editor - the product name is coincidentally the same as the Eclipse version). Last year the Oxygen support team answered that it may be a known problem in Java.
Even without seeing a crash report, considering your sequence of
events, this seems like a known common cause of crash for the Java
runtime. Keeping Oxygen/Java running for a long time, until the screen
or video card enters sleep then connecting/disconnecting
screens/projectors or connecting/disconnecting RDP can trigger a crash
in the Java runtime. We keep updating the Java runtime (JRE) with each
new version of Oxygen, but so far the issue has not been resolved in
newer versions of the JRE.
e.g. Java VM logged issue:
https://bugs.openjdk.java.net/browse/JDK-8153389