Bug 317249 - [performance] Eclipse frequently hangs with high CPU when editing JavaScript with lots of local declarations
Summary: [performance] Eclipse frequently hangs with high CPU when editing JavaScript ...
Status: NEW
Alias: None
Product: JSDT
Classification: WebTools
Component: General (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal with 25 votes (vote)
Target Milestone: 3.7.1   Edit
Assignee: Project Inbox CLA
QA Contact: Chris Jaun CLA
URL:
Whiteboard:
Keywords: needinfo, performance, plan
: 368634 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-17 18:30 EDT by Mark A. Ziesemer CLA
Modified: 2020-11-12 01:17 EST (History)
36 users (show)

See Also:


Attachments
Stack dumps during hang. (31.89 KB, text/plain)
2010-06-17 18:31 EDT, Mark A. Ziesemer CLA
no flags Details
Stack dumps during hang. (122.19 KB, text/plain)
2010-06-17 18:31 EDT, Mark A. Ziesemer CLA
no flags Details
Stack dumps during hang. (74.58 KB, text/plain)
2010-06-17 18:31 EDT, Mark A. Ziesemer CLA
no flags Details
Stacktrace while attempting to open a JSP file (30.03 KB, text/plain)
2010-07-19 15:10 EDT, Himanshu CLA
no flags Details
Stack dump during hang (27.03 KB, text/plain)
2012-01-17 02:39 EST, Alexander Silgidjian CLA
no flags Details
log and eclipse.ini (3.56 KB, application/octet-stream)
2015-06-26 16:55 EDT, Ilya Zadorozhny CLA
no flags Details
Adding the exclusions for npm and bower dependency management (165.49 KB, image/png)
2015-06-27 13:23 EDT, Victor Rubezhny CLA
no flags Details
Heiko's logs (18.21 KB, application/x-zip-compressed)
2015-06-30 05:32 EDT, Heiko Eichberger CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark A. Ziesemer CLA 2010-06-17 18:30:04 EDT
Build Identifier: 20100610-0636

Issue occurs under both Eclipse 3.5.2, as well as 3.6 RC4 (eclipse-jee-helios-RC4-win32.zip).  Just doing something as simple as adding a space in a file < 50 lines instantly utilizes 100% of a CPU and hangs Eclipse for about a minute.

The hangs happen whether using either the JSP Editor with a JSP containing JavaScript, or the JavaScript Editor.

3 stack traces from jstack are attached, all after attempting the same edit, each a a few seconds apart and without attempting any other actions within Eclipse during the time period.  The following line is called extensively, called recursively to a depth of 1,018 times at one point as captured in Stack2.txt:

org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:322)

I will respond with any additional information, details, or tests requested.  Thanks!

Reproducible: Always
Comment 1 Mark A. Ziesemer CLA 2010-06-17 18:31:07 EDT
Created attachment 172171 [details]
Stack dumps during hang.
Comment 2 Mark A. Ziesemer CLA 2010-06-17 18:31:21 EDT
Created attachment 172172 [details]
Stack dumps during hang.
Comment 3 Mark A. Ziesemer CLA 2010-06-17 18:31:32 EDT
Created attachment 172173 [details]
Stack dumps during hang.
Comment 4 Nitin Dahyabhai CLA 2010-06-19 07:26:55 EDT
Can you attach a project that exhibits this behavior, and specify which web page file in particular that is problematic?
Comment 5 Mark A. Ziesemer CLA 2010-06-19 13:17:45 EDT
I can't attach the project I found this issue on due to proprietary and confidentiality reasons.  I will attempt to reproduce in a new, generic project at some point in the future.

I did find a few additional observances and mitigating factors since I reported this, for which I am also lowering this bug to normal importance.

This issue happened while working in files on a faceted project with "Java" and "Dynamic Web Module" enabled.  Even though "JavaScript" was not enabled, the project had the JavaScript property pages added, including an Include Path / Source of the project root.

It seems that with this enabled, every update to a JavaScript section of code anywhere in the project was causing all JavaScript throughout the same project to be re-read and re-parsed.  This project contained well over 400 JSPs - many over 1,000 lines long, along with many other JavaScript source and other files throughout the project.  Removing the project from it's Include Path / Source has apparently solved the immediate hanging issues.
Comment 6 Himanshu CLA 2010-07-19 15:10:47 EDT
Created attachment 174663 [details]
Stacktrace while attempting to open a JSP file

System Details:

Eclipse Java EE IDE for Web Developers 3.6 (Helios)
Build id: 20100520-1308
Win 2008 64 bit
Java version=1.6.0_16

I am noticing that eclipse hangs for about 30 seconds while opening any JSP file. I have attached a heap dump. I wonder if this is because the JSP file that I tried to open is making use of tag libraries.
Comment 7 Nitin Dahyabhai CLA 2010-07-19 18:07:18 EDT
(In reply to comment #6)
> I am noticing that eclipse hangs for about 30 seconds while opening any JSP
> file. I have attached a heap dump. I wonder if this is because the JSP file
> that I tried to open is making use of tag libraries.

Any JSP file, or just the first one in a particular project?
Comment 8 Himanshu CLA 2010-07-19 18:07:53 EDT
This happens with any JSP File.
Comment 9 Himanshu CLA 2010-07-19 18:08:49 EDT
and I should also add that JSP files that do not use tag libraries open perfectly well.
Comment 10 mhmxs CLA 2010-07-21 09:18:41 EDT
With 1 project there is no problem (for me), but the editor is slowest as opened projects number.
Comment 11 mhmxs CLA 2010-07-21 09:25:11 EDT
Linux kubuntu 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC 2010 x86_64 GNU/Linux alsa has the bug.
Comment 12 mhmxs CLA 2010-07-22 05:17:20 EDT
I found something special. On my Kubuntu the problem is in import file method, hard to continue this: <%@ include file="..., but anything else is all right.
Comment 13 Nitin Dahyabhai CLA 2010-08-13 16:19:01 EDT
(In reply to comment #8)
> This happens with any JSP File.

Please open a separate bug for that.  It seems unrelated to the original reported problem.
Comment 14 Troy CLA 2010-08-23 19:22:57 EDT
It sounds like it might be similar to, or the same bug as this problem reported for Linux
https://bugs.eclipse.org/bugs/show_bug.cgi?id=
Comment 15 Deepak Kumar CLA 2010-10-20 11:01:38 EDT
(In reply to comment #14)
> It sounds like it might be similar to, or the same bug as this problem reported
> for Linux
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=

It couldn't took me anywhere, but I am facing the same stupid problem with my Helios system:

Following are the details:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode)

eclipse.ini arguments (eclipse-jee-helios-win32-x86_64.zip)

-showlocation
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-vm
D:/Java/jdk1.6.0_22/bin/javaw.exe
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
-XXMaxPermSize=512M
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:+AggressiveOpts
-XX:-UseConcMarkSweepGC
-Xloggc:gclog.txt
-XX:+PrintGCDetails
-XX:PermSize=128M
-Xms512m
-Xmx2048m 

Operating System: Windows 7 6.1 (i5 processors)
Architecture: amd64
Processors : 4
RAM : 6GB

As soon as I open a single jsp through Open Resource window, it becomes unresponsive
and looking through the jconsole it immediately shoots the CPU usage from 0.x% to anywhere around 30%, which comes back normal in approximately ~15 mins.

I have 95 projects in my workspace, giving the instructions to open more than 1 jsp at a time increases the freeze time by approximately 2x.

There is no memory problem as during the freeze period memory consumption is normal (in my case around 600M).

I also tried this with Helios service release(SR1) but didn't helped.

Is this problem being solved at this bug or somewhere else?

This should not be a VM issue rather eclipse relations with jsp scanning and the editor.

NOTE that my JSP validators are turned off for all projects.

--Deepak
Comment 16 Marc CLA 2010-10-20 13:11:55 EDT
@Deepak This issue has been around for years. I wouldn't hold my breath.
Comment 17 Deepak Kumar CLA 2010-10-20 13:13:59 EDT
@Narc So how should I resolve this? Any suggestions?

--Deepak
Comment 18 Nitin Dahyabhai CLA 2010-10-21 16:07:39 EDT
Some of the JSP slowdown, the part _unrelated_ to the JavaScript details mentioned in comment 0, is addressed by Bug 321602 comment 10. Please follow the steps there to apply the feature patch. Please note that the feature patch is only for Helios SR1.
Comment 19 Deepak Kumar CLA 2010-10-23 14:45:26 EDT
(In reply to comment #18)
> Some of the JSP slowdown, the part _unrelated_ to the JavaScript details
> mentioned in comment 0, is addressed by Bug 321602 comment 10. Please follow
> the steps there to apply the feature patch. Please note that the feature patch
> is only for Helios SR1.

Thanks Nitin, the patch @ https://bugs.eclipse.org/bugs/show_bug.cgi?id=321602#c10 actually worked (although I was wondering it was a very small change that caused the big problem).
CPU usage and stuck problem has been resolved now.

Helios is doing great on my Win7 now, its speedier to open JSP here now rather going at some other editors leaving my fav IDE.

I am a happy user now. :)

--Deepak
Comment 20 Missing name CLA 2011-02-08 11:44:42 EST
I have had this issue on a General Project in Helios. I have noted that in my project, the javascript Include Path list keeps growing every time I open a js file.

We have a very large structured js codebase, and I tried removing the entire list and adding each module's base src folder into the Include Path list. Unfortunately, even after this, if I open a javascript file in one of these paths, the new subfolder is also added to the include path list and then added as an exclude in the original entry.
So I start with:

moduleA/src
+-includes(All)
+-excludes(None)

and I open moduleA/src/name/space/File.js. The include path list will then contain both of these entries:

moduleA/src
+-includes(All)
+-excludes: name/space/

moduleA/src/name/space
+-includes(All)
+-excludes(None)

Etc. So every time I open a js file, my path search list gets longer and more complex, eventually resulting in eclipse grinding to a halt whenever I even add a space to a file, as reported above. The short-term workaround is to delete everything in the Javascript Include Path list. The longer term workaround is to open the project as a Static Web Project. This problem appears to happen with both General Project and Dynamic Web Project.

It seems in general with this and other bugs that the platform is falling over itself trying to be too helpful, rather than just having a more configurable and complicated configuration system, which I personally would prefer.

System details:
Helios Service Release 1, Build id: 20100917-0705
Plugins: p4, maven, WTP.
Comment 21 Nitin Dahyabhai CLA 2011-02-08 13:33:30 EST
(In reply to comment #20)
> I have had this issue on a General Project in Helios. I have noted that in my
> project, the javascript Include Path list keeps growing every time I open a js
> file.

The only time we automatically make changes to the include path are when you Add JSDT to a project from the Configure menu or create a web project (in this case creating the initial Include Path), or in versions newer than what you're running, see a web project on which JSDT is not enabled and enabling it for you.  Something else must be doing this modification.

Mark's original stack dumps are related to suboptimal handling of large amounts of local variables declared within a single function, faults from the handling of which likely never let our builder be marked as "done" and hence having it continually re-attempt to "finish" validating his sources.
Comment 22 Valery Mising name CLA 2011-03-29 04:52:41 EDT
The field "Platform" should be updated. 
Similar or same bug here on Linux Ubuntu 10.10 (AMD64), Helios. 

Eclipse hangs frequently during JavaScript editing.
Comment 23 Nitin Dahyabhai CLA 2011-03-29 09:45:47 EDT
I'm changing the summary to reflect comment 0 specifically so that this doesn't become a grab-bag for numerous and different performance issues.

Comment 6 through comment 19 referred to a different problem, with comment 16 being non-constructive.
Comment 20 reported a problem that isn't JSDT.
Comment 22 would require more information to really be sure it's the same problem.
Comment 24 Marc CLA 2011-04-15 08:28:06 EDT
Are you guys aware that the same issue occurs on the HTML editor?
Comment 25 Valery Mising name CLA 2011-04-15 08:58:26 EDT
I've added memory to VM running Eclipse and the issue went away.
Comment 26 Nitin Dahyabhai CLA 2011-04-15 13:16:20 EDT
(In reply to comment #24)
> Are you guys aware that the same issue occurs on the HTML editor?

Since the underlying JavaScript model is created and used for JS contents in the HTML editor, it's not a surprise.
Comment 27 Mark Drago CLA 2011-04-26 12:12:35 EDT
Is there a way to entirely disable this validation/compilation/building?  I'd like to have syntax highlighting and not have frequent lockups when editing JSP/JS/HTML files.  My current work-around is to use the plain text editor for these files, which is obviously not ideal.  Anyone have a better work-around?
Comment 28 Nitin Dahyabhai CLA 2011-04-26 12:24:48 EDT
(In reply to comment #27)
> Is there a way to entirely disable this validation/compilation/building? 

No.  We're looking at improving it, but I don't have a time table for when that will be completed.
Comment 29 Marc CLA 2011-04-26 14:00:34 EDT
Well, since this issue has been around for years and years, I will look forward to a fix somewhere around 2025. Perhaps it will outlive Java alltogether.

(In reply to comment #28)
> (In reply to comment #27)
> > Is there a way to entirely disable this validation/compilation/building? 
> 
> No.  We're looking at improving it, but I don't have a time table for when that
> will be completed.
Comment 30 Mark Drago CLA 2011-04-26 14:14:40 EDT
(In reply to comment #28)
> We're looking at improving it, but I don't have a time table for when that
> will be completed.

Is there any information that would help someone else look in to the problem?  Roughly where the problem code is, situations that are more likely to trigger the problem than others, a hunch at the root cause?

It also seems like having a way to turn this off entirely would be an acceptable work-around for some people (me for one).  Share any information that would help someone else add the ability to disable this feature entirely would therefore also be helpful.
Comment 31 Nitin Dahyabhai CLA 2011-04-28 01:59:09 EDT
(In reply to comment #30)
> (In reply to comment #28)
> > We're looking at improving it, but I don't have a time table for when that
> > will be completed.
> 
> Is there any information that would help someone else look in to the problem? 
> Roughly where the problem code is, situations that are more likely to trigger
> the problem than others, a hunch at the root cause?

The starting point is generally in the CompilationUnitScope class where it's trying to build type bindings.  Types declared in the current file may have properties contributed in other files, so we go to those files and build their type bindings as well, etc.  Collecting all of the properties of the Global object after that presents its own problems depending on the size of the include path.  This affects both code completion and selection, but varies highly dependent on what's in your project and how well the types/methods/fields have been inferred.
Comment 32 Nitin Dahyabhai CLA 2011-06-06 03:00:17 EDT
> (In reply to comment #28)
Some improvements from bug 345797, but unrelated to the local variables issue.
Comment 33 Alexander Silgidjian CLA 2012-01-17 02:39:44 EST
Created attachment 209603 [details]
Stack dump during hang
Comment 34 Alexander Silgidjian CLA 2012-01-17 02:47:18 EST
[hotbug_request]

I would like to raise this as a hot bug.
Here are the required details:

1. Company: SAP
2. Release: Indigo /Juno - Currently we are using Indigo SR1, but our plans are to move to Juno in the near future.
3. Reasoning: We are developing HTML5 based UI, which has lots of large .js files. With these hangs the developers are forced to use other non-Eclipse editors, while there is no suitable workaround.
Comment 35 Raxx Raxx CLA 2012-02-13 04:00:57 EST
*** Bug 368634 has been marked as a duplicate of this bug. ***
Comment 36 Raxx Raxx CLA 2012-02-13 04:08:35 EST
I am also experiencing this bug in:

Version: Indigo Service Release 1
Build id: 20110916-0149
Win Vista, SP2
Java Version: 1.7.0_02

of the IDE for JavaScript Web Developers with the PDT plug-in.  It would be a
showstopper if I was doing much JS dev but I'm mostly using it for PHP/HTML
work.  This bug even rears it's head when I edit embedded JS lines within html
element event attributes (such as <input type="submit"
onclick="S...L...O...()"> )

I would love to diagnose this bug but am unsure of where to begin.  Is there a
way to put Eclipse into a debugging mode where it logs internal function calls
somehow?  Or perhaps where would I find documentation on how to connect another
instance of Eclipse to this one and debug it?

This is perhaps not a major bug with respect to Eclipse in general but
certainly it's a major bug with respect to JS dev.  Once I'm finished my
current project I'm willing to put some time into figuring out and fixing
what's happening here.
Comment 37 Martin Schwartz CLA 2012-03-07 01:53:35 EST
I was experiencing the same problem when working on my PHP/Javascript project. 
Version: Indigo 3.7.1
Build id: I20110613-1736
Debian x86_64
Java Version: 1.6b24

I've solved the problem by disabling javascript support for my project (found the solution here: http://themech.net/2012/03/eclipse-eating-the-cpu/).
Comment 38 George Francis CLA 2012-04-09 10:30:39 EDT
I can't believe how many years this has been a problem in Eclipse.  
In my professional career, I have come up against it many times.
I used to defend Eclipse to my colleagues, but now I have to admit that if a project is likely to need much Javascript, Eclipse is simply not a viable IDE.
Comment 39 Mauren Berti CLA 2013-07-31 08:17:56 EDT
I'm successfully reproducing the issue under Eclipse Indigo SR2.
Build ID: 20120216-1857
OS: Debian x86_64
Java 1.6.0.35

It's weird that under my previous Ubuntu installation the issue didn't occur. I previously used the same Eclipse build, but under Ubuntu 11.04 x86 and using Java 1.6.0.24.

I successfully reproduced it by opening the ckeditor.js minified file, available through download in this address: http://download.cksource.com/CKEditor/CKEditor/CKEditor%204.2/ckeditor_4.2_standard.zip
Comment 40 Mauren Berti CLA 2013-07-31 08:23:14 EDT
Forgot to say that after several minutes (about 10~15 min) of running using 100% of a core of my processor, the processing window crashed with an OutOfMemoryError and asked me to close the workbench.
Comment 41 William Eaton CLA 2014-03-17 06:57:01 EDT
I never used to have this problem in a previous version of Eclipse but ever since moving to debian 7 and Eclipse Kepler (PHP SDK) I physcially cannot open a javascript file or any html file with a small amount of javscript in it. To stop it completely freezing I have to open all files with any js in text editor mode. 

I have tried disabling js support in the project config and it made no difference, just having a file open kills eclipse, I dont even have to do anything. Please allow an option to disable this validation.
Comment 42 Przemysław Wróbel CLA 2014-03-18 11:26:48 EDT
We have similar problems both with Kepler and Juno in js and html files. Eclipse hangs and then throws decoration calculation errors.
Comment 43 Przemysław Wróbel CLA 2014-03-18 11:28:00 EDT
(In reply to Przemysław Wróbel from comment #42)
> We have similar problems both with Kepler and Juno in js and html files.
> Eclipse hangs and then throws decoration calculation errors.

the problem often occurs when you select a text to copy it
Comment 44 Victor Rubezhny CLA 2014-04-02 14:45:16 EDT
William, Przemysław,

Could some of you (or both) provide an example project or a file that reproduces the problem?

Thanks in advance.
Comment 45 Redsandro CLA 2014-04-10 04:07:01 EDT
This affects me too. Just selecting and copying a word or opening the Search often hangs Eclipse with full CPU for 1 to 5 (!) minutes, making your blood pressure raise to dangerous levels.

But it won't work like that anymore when you cut all the sensitive code from your project in order to make a testcase. So I think Eclipse knows what code is sensitive to your client and just doesn't like that. :P
Comment 46 Przemysław Wróbel CLA 2014-04-10 04:14:32 EDT
I have tried to do the following:
I have closed the project and opened a single JavaScript file that normally causes the problem and the Eclipse worked fine.
So I think that the problem is deeper and judging by different errors it may be related to the Git plugin...
Comment 47 Mark Leone CLA 2014-06-03 18:18:41 EDT
It seems this is a duplicate of https://bugs.eclipse.org/bugs/show_bug.cgi?id=323283

which is itself a duplicate of https://bugs.eclipse.org/bugs/show_bug.cgi?id=431547

There is a patch available. The bug is targeted for 3.6 M7, but it seems the current version is 3.2.1, so it may be a while before a binary distribution of eclipse can be used for a Javascript project.
Comment 48 Redsandro CLA 2014-07-23 11:39:16 EDT
finally reinstalled everything. 

Linux Mint 17
Eclipse Kepler Service Release 2 Build 20140224-0627
JavaScript Development Tools 1.5.2.v201401171657-7H7FFhXFC7sReuSlgtfhew Build 20140217150812

Same problem. On seemingly random (javascript) files/projects.

I've followed some instructions against similar problems on the web, leaving me with a pretty unpractical IDE, yet the problem remains. I have no idea what else to try, I have the feeling everything is disabled already. But clearly I missed something.

So what I would really like, is every time I see the CPU monitor go to 100% for 5 minutes, see WHAT EXACTLY triggered this, and KILL that part/option/plugin out of my Eclipse installation. With fire.

@Mark Leone: Aren't those are duplicates of this one, seen as this one was reported first?
Comment 49 Mark Leone CLA 2014-07-23 17:52:38 EDT
I found that by removing the Javascript nature of a project, the IDE no longer hangs. Of course you get no Javascript support then, but you can at least use the general features of the IDE for your Javascript project this way.

@Redsandro, I'm not sure about which is a duplicate of which. I linked to the other bug report because that's where the patch is mentioned.
Comment 50 Redsandro CLA 2014-07-23 18:17:41 EDT
@Mark Leone Thanks for the tip about the nature.

I wonder if the patch will help. There are many strange cases where this happens. I have the feeling that a certain file in the project causes the entire project to show this behavior, even if the evil file is not currently in an editor.

My .log is full with these messages. After every 2 minute freeze, a new one pops up:

!ENTRY org.eclipse.wst.jsdt.core 4 4 2014-07-23 23:26:43.541
!MESSAGE error during type inferencing
!STACK 0
java.lang.ArrayIndexOutOfBoundsException

!ENTRY org.eclipse.ui 4 0 2014-07-23 23:27:48.017
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: GC overhead limit exceeded

!ENTRY org.eclipse.ui 4 0 2014-07-23 23:27:50.709
!MESSAGE Error occurred during status handling
!STACK 0
java.lang.OutOfMemoryError: GC overhead limit exceeded

!ENTRY org.eclipse.wst.jsdt.core 4 4 2014-07-23 23:45:49.371
!MESSAGE error during type inferencing
!STACK 0
java.lang.ArrayIndexOutOfBoundsException

And every now and then Eclipse will never become responsive, even after the cpu as stopped peaking due to Java iterating stuff, losing all changes.

Whatever it is that Eclipse does every 30 seconds and after every 5 characters typed, I wouldn't mind having to trigger that manually.
Comment 51 Redsandro CLA 2014-07-23 18:19:51 EDT
People on Linux, if you got stuck in a multiple freeze situation like this, you might wanna 

tail -F ~/workspace/.metadata/.log

(or wherever your workspace is)

for a while, and see what type of messages you get. Gotta catch 'em all.
Comment 52 Eric Andres CLA 2014-07-29 08:24:54 EDT
I am also consistently experiencing high CPU load/crashes when working on a couple (4-6) of moderately large .js files (200-400 lines). More often than not, this leads to an OutOfMemoryError (-Xmx2048m for Eclipse given), for a detailed log, see below. This happens quite often, to the point of modifying my understanding of iterative development.

I am working on Windows 7 pro sp1, 8GB RAM. 
Eclipse: Standard/SDK Version: Luna Release (4.4.0) Build id: 20140612-0600.
JavaScript Development Tools: 1.6.0.v201405071612-7G7FFyXFBBoPc8Pvc8c0wn	

!ENTRY org.eclipse.core.jobs 4 2 2014-07-29 14:04:49.575
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
        at org.eclipse.wst.jsdt.internal.compiler.util.Util.getInputStreamAsCharArray(Util.java:257)
        at org.eclipse.wst.jsdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:1007)
        at org.eclipse.wst.jsdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:979)
        at org.eclipse.wst.jsdt.internal.core.CompilationUnit.getContents(CompilationUnit.java:612)
        at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6027)
        at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5996)
        at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4601)
        at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:743)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927)
        at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:365)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:431)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:480)
        at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:753)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927)
        at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492)
        at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveVarType(LocalDeclaration.java:138)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope$DeclarationVisitor.visit(CompilationUnitScope.java:114)
        at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.traverseLocal(LocalDeclaration.java:288)
        at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:281)
        at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:627)
        at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:613)
        at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:449)
Comment 53 Gautier de SAINT MARTIN LACAZE CLA 2015-04-02 04:19:18 EDT
(In reply to Eric Andres from comment #52)
I think your problem will not appear in Mars release. See Bug 433515.

There is a backport for Luna. See Bug 461160.

I don't know if this bug report can be closed.
Comment 54 Victor Rubezhny CLA 2015-04-02 06:42:36 EDT
The issue isn't gone yet, I've ran into the similar state this night: the editor (with ~1.1Mb javascript in it) has became unresponsive right after the start, Decorations (overriding) calculation and hovering the mouse over variables/function scalls has lead into about 100% of CPU utilization and a number of OOM exceptions.

And the worst thing is that I couldn't reproduce it after I've restarted my Eclipse. So, I'm unable to find the reason and the steps to reproduce the issue yet.

Yes, the fixes for Bug #433515, Bug #431547 as well as some other fixes has made JSDT a little bit better, but the issues like "100% CPU utilization" and OOM Error still may appear, so I wouldn't close this bug - it isn't fixed yet.
Comment 55 Gautier de SAINT MARTIN LACAZE CLA 2015-04-02 08:04:12 EDT
Thanks Victor for your explanation.
Comment 56 Ilya Zadorozhny CLA 2015-05-12 11:37:48 EDT
Hello,
I have same error on Eclipse IDE for Java EE Developers 4.4.2 64 bit, during validate files in folder: https://github.com/angular-ui/ui-select/tree/master/test

Error:
java.lang.OutOfMemoryError: GC overhead limit exceeded at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.isErrorState(Parser.java:5557) at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5687) at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6044) at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5996) at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4601) at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:743) at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287) at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249) at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156) at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927) at org.eclipse.wst.jsdt.core.infer.InferredType.resolveSuperType(InferredType.java:543) at org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope.findInferredSupertype(ClassScope.java:671) at org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope.connectSuperclass(ClassScope.java:473) at org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java:540) at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:858) at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:492) at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:753) at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287) at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249) at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156) at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927) at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492) at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveVarType(LocalDeclaration.java:138) at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope$DeclarationVisitor.visit(CompilationUnitScope.java:114) at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.traverseLocal(LocalDeclaration.java:282) at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.traverse(LocalDeclaration.java:275) at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:627) at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:613) at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:449) at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:343) at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:331) at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:750)

Error on enabling "Trace" in eclipse:
!ENTRY org.eclipse.core.jobs 4 2 2015-05-12 18:22:24.438
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at org.eclipse.wst.jsdt.internal.compiler.parser.Scanner.getLineEnds(Scanner.java:534)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.problemReporter(Parser.java:6343)
	at org.eclipse.wst.jsdt.internal.compiler.parser.AbstractCommentParser.parseTypeReference(AbstractCommentParser.java:875)
	at org.eclipse.wst.jsdt.internal.compiler.parser.JavadocParser.parseReturn(JavadocParser.java:384)
	at org.eclipse.wst.jsdt.internal.compiler.parser.JavadocParser.parseTag(JavadocParser.java:660)
	at org.eclipse.wst.jsdt.internal.compiler.parser.AbstractCommentParser.commentParse(AbstractCommentParser.java:217)
	at org.eclipse.wst.jsdt.internal.compiler.parser.JavadocParser.commentParse(JavadocParser.java:81)
	at org.eclipse.wst.jsdt.internal.compiler.parser.JavadocParser.checkDeprecation(JavadocParser.java:129)
	at org.eclipse.wst.jsdt.internal.compiler.SourceJavadocParser.checkDeprecation(SourceJavadocParser.java:31)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.checkComment(Parser.java:1361)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.consumeDefaultModifiers(Parser.java:1836)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.consumeRule(Parser.java:3717)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5810)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6044)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5996)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4601)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:743)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.addUnitsContainingBindings(LookupEnvironment.java:184)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:417)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:343)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:331)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:584)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:339)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.compile(Compiler.java:352)
	at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:288)
	at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:86)
	at org.eclipse.wst.jsdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:227)
	at org.eclipse.wst.jsdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:58)
	at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:291)
	at org.eclipse.wst.jsdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:194)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
Comment 57 Ilya Zadorozhny CLA 2015-05-12 11:58:24 EDT
Additional info
Eclipse project files created by command

nodeclipse -p
Comment 58 Heiko Eichberger CLA 2015-06-26 05:15:37 EDT
The same happen with Eclsipe Mars. After opening JavaScript files and scrolling a little bit, the CPU load raises extremely. 

I just had an abnormal program termination of Mars!

The IDE is unfortunately unusable for JavaScript (Node) development at the moment.


!ENTRY org.eclipse.core.jobs 4 2 2015-06-26 11:07:36.652
!MESSAGE Unhandled error
!STACK 0
java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.HashMap.newNode(Unknown Source)
	at java.util.HashMap.putVal(Unknown Source)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at org.eclipse.core.internal.jobs.JobManager.changeState(JobManager.java:454)
	at org.eclipse.core.internal.jobs.JobManager.nextJob(JobManager.java:1131)
	at org.eclipse.core.internal.jobs.JobManager.startJob(JobManager.java:1606)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:221)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:52)

!ENTRY org.eclipse.ui 4 0 2015-06-26 11:07:48.146
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.OutOfMemoryError: GC overhead limit exceeded)
	at org.eclipse.swt.SWT.error(SWT.java:4491)
	at org.eclipse.swt.SWT.error(SWT.java:4406)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
	at org.eclipse.e4.ui.bindings.internal.BindingTableManager.getTableId(BindingTableManager.java:55)
	at org.eclipse.e4.ui.bindings.internal.BindingTableManager.getTable(BindingTableManager.java:73)
	at org.eclipse.e4.ui.bindings.internal.BindingTableManager.getSequencesFor(BindingTableManager.java:179)
	at org.eclipse.e4.ui.bindings.internal.BindingTableManager.getBestSequenceFor(BindingTableManager.java:164)
	at org.eclipse.e4.ui.bindings.internal.BindingServiceImpl.getBestSequenceFor(BindingServiceImpl.java:131)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.updateMenuItem(HandledContributionItem.java:442)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.update(HandledContributionItem.java:425)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:861)
	at org.eclipse.jface.action.SubMenuManager.update(SubMenuManager.java:343)
	at org.eclipse.jface.action.SubContributionItem.update(SubContributionItem.java:138)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:861)
	at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuManager(Workbench.java:3373)
	at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:3359)
	at org.eclipse.ui.internal.Workbench$1.bindingManagerChanged(Workbench.java:3354)
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:901)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2178)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1743)
	at org.eclipse.jface.bindings.BindingManager.contextManagerChanged(BindingManager.java:690)
	at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:162)
	at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds(ContextManager.java:293)
	at org.eclipse.e4.ui.internal.services.ContextContextService.getActiveContextIds(ContextContextService.java:161)
	at org.eclipse.ui.internal.contexts.ContextService.getActiveContextIds(ContextService.java:278)
	at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.getCurrentState(ActiveContextSourceProvider.java:72)
	at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.contextManagerChanged(ActiveContextSourceProvider.java:52)
	at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerChanged(ContextManager.java:162)
	at org.eclipse.core.commands.contexts.ContextManager.removeActiveContext(ContextManager.java:243)
	at org.eclipse.ui.internal.contexts.ContextAuthority.updateContext(ContextAuthority.java:761)
	at org.eclipse.ui.internal.contexts.ContextAuthority.activateContext(ContextAuthority.java:173)
	at org.eclipse.ui.internal.contexts.ContextAuthority.checkWindowType(ContextAuthority.java:245)
	at org.eclipse.ui.internal.contexts.ContextAuthority.updateEvaluationContext(ContextAuthority.java:795)
	at org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:289)
	at org.eclipse.ui.AbstractSourceProvider.fireSourceChanged(AbstractSourceProvider.java:90)

!ENTRY org.eclipse.core.jobs 4 2 2015-06-26 11:09:16.429
!MESSAGE An internal error occurred during: "Decoration Calculation".
!STACK 0
java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.HashMap.newNode(Unknown Source)
	at java.util.HashMap.putVal(Unknown Source)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.isSuperclassOf(SourceTypeBinding.java:2367)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.subOrSuperOfFocus(HierarchyResolver.java:868)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.reportHierarchy(HierarchyResolver.java:508)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:795)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:575)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.HierarchyBuilder.buildSupertypes(HierarchyBuilder.java:126)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:182)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:306)
	at org.eclipse.wst.jsdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1026)
	at org.eclipse.wst.jsdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
	at org.eclipse.wst.jsdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:742)
	at org.eclipse.wst.jsdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
	at org.eclipse.wst.jsdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:624)
	at org.eclipse.wst.jsdt.internal.core.SourceType.newSupertypeHierarchy(SourceType.java:599)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:119)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy(SuperTypeHierarchyCache.java:79)
	at org.eclipse.wst.jsdt.internal.corext.util.SuperTypeHierarchyCache.getMethodOverrideTester(SuperTypeHierarchyCache.java:88)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators(OverrideIndicatorLabelDecorator.java:158)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags(OverrideIndicatorLabelDecorator.java:126)
	at org.eclipse.wst.jsdt.ui.OverrideIndicatorLabelDecorator.decorate(OverrideIndicatorLabelDecorator.java:221)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:273)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:83)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:367)
	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:349)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:372)
	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:332)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Yesterday I got the following exception:

!ENTRY org.eclipse.wst.jsdt.ui 4 2 2015-06-25 08:59:43.341
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.wst.jsdt.ui".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.resources.File.getCharset(File.java:194)
	at org.eclipse.core.internal.resources.File.getCharset(File.java:185)
	at org.eclipse.wst.jsdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:976)
	at org.eclipse.wst.jsdt.internal.core.CompilationUnit.getContents(CompilationUnit.java:612)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:6027)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.parse(Parser.java:5996)
	at org.eclipse.wst.jsdt.internal.compiler.parser.Parser.dietParse(Parser.java:4601)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:743)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927)
	at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:365)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:454)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:596)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:339)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:813)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:135)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.core.jobs 4 2 2015-06-25 08:59:43.344
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.runtime.InternalPlatform.getLog(InternalPlatform.java:349)
	at org.eclipse.core.runtime.Plugin.getLog(Plugin.java:297)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.handleException(ASTProvider.java:588)
	at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:75)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:135)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 59 Heiko Eichberger CLA 2015-06-26 08:05:34 EDT
I switched to Indigo and it seems to run stable! Luna and Mars seem to have those problems!
Comment 60 Victor Rubezhny CLA 2015-06-26 10:50:10 EDT
Hi All!

Can anybody (especially those who faced this kind of issue) try to do the following set up on your Eclipse (Luna + Mars installations are interesting, but Kepler/Indigo installations are also appreciated):

Window->Preferences->...
->General->Appearance->Label Decorators->JavaScript Function Override Indicator: OFF
->General->Editors->Text Editors->Annotations->JavaScript Override Indicators: Vertical Ruler: OFF, Overview ruler: OFF, Text as: OFF

... and see if it helps in solving performance slowdown/OOM issues?

Thanks in advance.

PS: Those who uses Luna WTP 3.6 SR2 please do not forget to install the Feature patch for JSDT, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461160#c31
Comment 61 Ilya Zadorozhny CLA 2015-06-26 15:02:17 EDT
Hello
 	
I turned off the following options below

Window->Preferences->...
->General->Appearance->Label Decorators->JavaScript Function Override Indicator: OFF
->General->Editors->Text Editors->Annotations->JavaScript Override Indicators: Vertical Ruler: OFF, Overview ruler: OFF, Text as: OFF

but error 'Java heap space' still exists
Comment 62 Victor Rubezhny CLA 2015-06-26 15:12:53 EDT
(In reply to Ilya Zadorozhny from comment #61)
> Hello
>  	
> I turned off the following options below
> 
> Window->Preferences->...
> ->General->Appearance->Label Decorators->JavaScript Function Override
> Indicator: OFF
> ->General->Editors->Text Editors->Annotations->JavaScript Override
> Indicators: Vertical Ruler: OFF, Overview ruler: OFF, Text as: OFF
> 
> but error 'Java heap space' still exists

Ilya, are you still using Eclipse IDE for Java EE Developers 4.4.2 64 bit and the following project: https://github.com/angular-ui/ui-select/tree/master/test?

Have you installed the Feature patch for JSDT, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461160#c31 ?

And yet another question: what if you turn these settings off (as described above) and then restart your eclipse instance (before you've got any OOM error)... Does the issue it still happens for you after that?
Comment 63 Victor Rubezhny CLA 2015-06-26 15:30:14 EDT
Ilya, 

One more thing: Could you modify (if it's not already done) the Include Path for your project and set the following exclusions for each source folder in Include Path: 

**/node_modules/*, **/bower_components/*, **/*.min.js

(Right click on the project, select Properties->JavaScript->Include Path: Source tab).

Note 1. that Eclipse restart may be required in case of some OOM error already happen during the properties change. But I'd rather restarted it anyway :)

Note 2. This is for Luna and earlier versions. Since Mars release we're setting these exclusions automatically.

Thanks in advance.
Comment 64 Ilya Zadorozhny CLA 2015-06-26 16:01:20 EDT
Victor

Yes I am still using Eclipse IDE for Java EE Developers 4.4.2 64 bit
and eclipse has this error during validation folder 'test' in project https://github.com/angular-ui/ui-select

My project eclipse files ('.project' and folder '.settings') was created by command nodeclipse -p

If I import this project as 'Static web project' then NO error.

I did not install the Feature patch for JSDT https://bugs.eclipse.org/bugs/show_bug.cgi?id=461160#c31

Yes after turn settings off I restarted eclipse. 

I added 
**/node_modules/*, **/bower_components/*, **/*.min.js
to exclusion source for this project. After restart eclipse error 'Java heap still exists
Comment 65 Victor Rubezhny CLA 2015-06-26 16:27:51 EDT
Ilya,

It's better to install the Feature Patch and could you provide your recent .log from your workspace's .metadata directory (zip it if it's too large. Please include .back_0.log, .back_1.log and so on (if any) log files if .log is is empty or not old enough to contain OOM error stacktraces)

Am I correct in that you're on Linux?

Also, could you share your memory settings (-Xms and -Xmx part of your eclipse.ini)?

Thanks in advance.
Comment 66 Ilya Zadorozhny CLA 2015-06-26 16:55:44 EDT
Created attachment 254765 [details]
log and eclipse.ini
Comment 67 Ilya Zadorozhny CLA 2015-06-26 17:01:14 EDT
(In reply to Victor Rubezhny from comment #65)
> Ilya,
> 
> It's better to install the Feature Patch and could you provide your recent
> .log from your workspace's .metadata directory (zip it if it's too large.
> Please include .back_0.log, .back_1.log and so on (if any) log files if .log
> is is empty or not old enough to contain OOM error stacktraces)
> 
> Am I correct in that you're on Linux?
> 
> Also, could you share your memory settings (-Xms and -Xmx part of your
> eclipse.ini)?
> 
> Thanks in advance.

Victor,

How I can install the Feature Patch? Can you help me install the patch?
I attached luna.tar.gz archive.
Yes I am using Linux, but on Windows 8 I have same error.
Comment 68 Victor Rubezhny CLA 2015-06-26 20:14:50 EDT
Ilya, thanks for the logs and settings.

As far as I remember, due to install the Feature patch you should open Help->Install New Software... dialog, then press "Add" button and add the following repository location: http://download.eclipse.org/webtools/repository/luna 
After that you should see "Web Tools Platform (WTP) Patches 3.6.3-P" in the list of available software (if "Group items by category" is checked). Expand it. If it's already installed there should be a child node like "All items are already installed" (this means that you already have this patch installed), otherwise you should select it and continue with installation.

Looking at your .log file I cannot find a reason other that there is really not enough of memory available... Or the real issue just isn't appearing in the log...

My settings are the following:

--launcher.XXPermSize
256m
--launcher.XXMaxPermSize
512m

and -vmargs:

-Xms256m
-Xmx512m

If you have many of projects in your workspace than it could be a reason to increase the available memory. Not sure if it helps but...
Comment 69 Ilya Zadorozhny CLA 2015-06-27 02:23:40 EDT
Victor, thanks for help

I installed "Web Tools Platform (WTP) Patches 3.6.3-P" success but after eclipse restarted error OOM still appears.

Also I change settings:
> 
> --launcher.XXPermSize
> 256m
> --launcher.XXMaxPermSize
> 512m
> 
> and -vmargs:
> 
> -Xms256m
> -Xmx512m

after re-run eclipse error OOM still appears.

Thanks
Comment 70 Victor Rubezhny CLA 2015-06-27 13:23:10 EDT
Created attachment 254773 [details]
Adding the exclusions for npm and bower dependency management
Comment 71 Victor Rubezhny CLA 2015-06-27 13:50:35 EDT
Ilya,

How many projects are in your workspace?

You should add those Include Path source exclusions (**/node_modules/*, **/bower_components/*, **/*.min.js) to every Source Entry of Include Path of every project in your workspace.

Once you're using bower/npm dependencies management, there are too many files could be added to your project's source path (those from bower_components directory, for example). These files are make the Disk And Memory Indexes to grow significantly, while not adding any goodness to JSDT (since in most cases JSDT model/parser doesn't fully support them and cannot get any goodness for validation and content assisting from those files), but JSDT still processes all the JS-files on Include Path and wastes CPU cycles and memory due to process them. So, it's better to exclude such files from Include Path of every project in your workspace. 

Note that if you have a preference (in bower.rc file, for example) in a project that changes the name of directory where the dependencies are to be downloaded to, then you have to change your Exclusions accordingly for that project.

Just to make sure that you're correctly adding the exclusions see the attachment #254773 [details] for an example.

Once your projects are configured correctly, the following command should not return any files:

cd <path-to-your-workspace>
grep "bower_components" .metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/*.index
grep "node_modules" .metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/*.index

Once the Exclusions are correctly configured, you may try again to increase the maximum memory available for the application (-Xmx1024m or even more).

Two more things to try (after exclusions config) are:

- Close (or even delete) unused/non relevant projects from workspace.

- Yet another thing to try could be the deletion of indexes. Once deleted, they are to be re-calculated at next start, so if you're correctly specified Source Exclusions of each project Include Path then their new sizes could be much less then they were before. 

As we all are making errors, it's possible (not the fact, but...) that there is a bug in Indexes creation procedures, so it's possible that at some moment some index file get corrupted. So, probably you have to re-calculate the indexes. 

DO IT ON YOUR OWN RISK, THIS COULD MAKE A HARM TO YOUR WORKSPACE USABILITY: Due to re-calculate indexes you have to:
1. stop your eclipse instance;
2. remove all the files in <your workspace>/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/ directory.
3. start your eclipse 

After eclipse is restarted, the indexes should be re-created automatically.

Hope this helps.
Comment 72 Heiko Eichberger CLA 2015-06-29 03:28:45 EDT
Hi Victor,

Thanks for the hints. I tried it with my Mars version and got the same problems. I've disabled the settings you mentioned, set the include exclusions and increased the memory. At first sight it seemed to look better, but when I tried to scroll inside a JavaScript file and started editing the CPU load went higher and higher until the AST exception appeared.

eclipse.buildId=4.5.0.I20150603-2000
java.version=1.8.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/C:/Entwicklung/Projects/Web/ -product org.eclipse.epp.package.java.product -clean

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.023
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.026
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.029
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.031
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.033
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.035
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.037
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.040
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.042
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.045
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.046
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-06-29 09:00:31.048
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.tools.emf.liveeditor/org.eclipse.e4.tools.emf.liveeditor.OpenLiveDialogHandler

!ENTRY org.eclipse.jface 2 0 2015-06-29 09:00:32.832
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2015-06-29 09:00:32.832
!MESSAGE A conflict occurred for ALT+CTRL+E:
Binding(ALT+CTRL+E,
	ParameterizedCommand(Command(de.bastiankrol.startexplorer.startFileManagerFromResourceViewCommand,Show in File Manager,
		Starts a new file manager (Windows Explorer, Nautilus, Konqueror...) instance showing the selected files and folders,
		Category(de.bastiankrol.startexplorer.commands.category,StartExplorer,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6aae82cc,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+E,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.MergeCommand,Merge...,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7a587e84,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2015-06-29 09:00:32.833
!MESSAGE A conflict occurred for ALT+CTRL+R:
Binding(ALT+CTRL+R,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.CompareWithRevisionCommand,URL...,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@622ba721,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+R,
	ParameterizedCommand(Command(org.python.pydev.debug.setnext,Set Next Statement,
		,
		Category(org.python.pydev.ui.category.run,PyDev - Run,Python run category,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6b2f7527,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2015-06-29 09:00:32.833
!MESSAGE A conflict occurred for ALT+CTRL+D:
Binding(ALT+CTRL+D,
	ParameterizedCommand(Command(de.bastiankrol.startexplorer.startShellFromResourceViewCommand,Start Shell Here,
		Opens a new shell/command line prompt,
		Category(de.bastiankrol.startexplorer.commands.category,StartExplorer,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7509226c,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+D,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.UpdateToRevisionCommand,Update to Revision,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4c9cce17,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2015-06-29 09:00:32.833
!MESSAGE A conflict occurred for ALT+CTRL+C:
Binding(ALT+CTRL+C,
	ParameterizedCommand(Command(de.bastiankrol.startexplorer.copyResourcePathToClipboardFromResourceView,Copy Resource Path to Clipboard,
		Copies the path of the resource to the clipboard,
		Category(de.bastiankrol.startexplorer.commands.category,StartExplorer,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@73316a0a,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+C,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.CommitCommand,Commit...,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@63a7af06,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2015-06-29 09:00:32.833
!MESSAGE A conflict occurred for ALT+CTRL+A:
Binding(ALT+CTRL+A,
	ParameterizedCommand(Command(de.bastiankrol.startexplorer.startSystemApplicationFromResourceViewCommand,Open Files With Default Application,
		Opens this file with the application that is registered for this file type in your operating system,
		Category(de.bastiankrol.startexplorer.commands.category,StartExplorer,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5f01fb5c,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(ALT+CTRL+A,
	ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.ShowAnnotationCommand,Show Annotation...,
		,
		Category(org.eclipse.team.svn.ui.command.category,SVN,null,true),
		org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@75c77add,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.951
!MESSAGE System property http.proxyHost is not set but should be proxy-bm.mf.int.

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.953
!MESSAGE System property http.proxyPort is not set but should be 80.

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.956
!MESSAGE System property https.proxyHost is not set but should be proxy-bm.mf.int.

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.958
!MESSAGE System property https.proxyPort is not set but should be 80.

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.961
!MESSAGE System property https.proxyHost is not set but should be proxy-bm.mf.int.

!ENTRY org.eclipse.core.net 1 0 2015-06-29 09:00:33.963
!MESSAGE System property https.proxyPort is not set but should be 80.

!ENTRY org.eclipse.egit.ui 2 0 2015-06-29 09:00:43.513
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\user'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

!ENTRY org.eclipse.debug.ui 4 120 2015-06-29 09:03:39.820
!MESSAGE org.eclipse.debug.ui.toggleBreakpointsTargetFactory extension failed to load breakpoint toggle target because the specified id is already registered.  Specified ID is: org.chromium.debug.ui.ChromiumToggleBreakpointTargetFactory

!ENTRY org.eclipse.core.jobs 4 2 2015-06-29 09:08:57.865
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.OutOfMemoryError: GC overhead limit exceeded
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope$DeclarationVisitor.visit(CompilationUnitScope.java:137)
	at org.eclipse.wst.jsdt.internal.compiler.ast.Assignment.traverse(Assignment.java:240)
	at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:627)
	at org.eclipse.wst.jsdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:613)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:449)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:343)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:331)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.accept(Compiler.java:750)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:287)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getBinding(Scope.java:1136)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.findBinding(SingleNameReference.java:355)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:256)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:187)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:454)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:596)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:339)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:813)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)

!ENTRY org.eclipse.wst.jsdt.ui 4 2 2015-06-29 09:09:28.331
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.wst.jsdt.ui".
!STACK 0
java.lang.IllegalStateException: Workspace is closed.
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:411)
	at org.eclipse.wst.jsdt.internal.compiler.util.Util.pathMatch(Util.java:602)
	at org.eclipse.wst.jsdt.internal.compiler.util.Util.isExcluded(Util.java:419)
	at org.eclipse.wst.jsdt.internal.core.util.Util.isExcluded(Util.java:1262)
	at org.eclipse.wst.jsdt.internal.core.util.Util.isExcluded(Util.java:1279)
	at org.eclipse.wst.jsdt.internal.core.search.JavaSearchScope.shouldExclude(JavaSearchScope.java:306)
	at org.eclipse.wst.jsdt.internal.core.search.matching.InternalSearchPattern.findIndexMatches(InternalSearchPattern.java:106)
	at org.eclipse.wst.jsdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:407)
	at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:116)
	at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:66)
	at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:280)
	at org.eclipse.wst.jsdt.internal.core.search.BasicSearchEngine.searchAllBindingNames(BasicSearchEngine.java:689)
	at org.eclipse.wst.jsdt.internal.core.NameLookup.findBindingSearch(NameLookup.java:2168)
	at org.eclipse.wst.jsdt.internal.core.NameLookup.findBinding(NameLookup.java:829)
	at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:195)
	at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:342)
	at org.eclipse.wst.jsdt.internal.core.CancelableNameEnvironment.findBinding(CancelableNameEnvironment.java:55)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:252)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getType(Scope.java:1927)
	at org.eclipse.wst.jsdt.core.infer.InferredType.resolveType(InferredType.java:492)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:365)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$9.performAction(SourceTypeBinding.java:1481)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1468)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.getMethods0(SourceTypeBinding.java:1306)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.access$8(SourceTypeBinding.java:1255)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$5.performAction(SourceTypeBinding.java:1212)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.getMethods(SourceTypeBinding.java:1191)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findMethod(Scope.java:637)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getFieldOrMethod(Scope.java:1510)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:212)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$9.performAction(SourceTypeBinding.java:1481)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1468)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding.ensureBindingsAreComplete(MethodBinding.java:773)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findMethod(Scope.java:686)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getImplicitMethod(Scope.java:1686)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:181)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$9.performAction(SourceTypeBinding.java:1481)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1468)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.getMethods0(SourceTypeBinding.java:1306)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.access$8(SourceTypeBinding.java:1255)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$5.performAction(SourceTypeBinding.java:1212)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.getMethods(SourceTypeBinding.java:1191)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.findMethod(Scope.java:637)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getFieldOrMethod(Scope.java:1510)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:212)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:454)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:596)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:339)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:813)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:497)
	at org.eclipse.wst.jsdt.internal.ui.text.java.hover.NLSStringHover.getHoverInfo(NLSStringHover.java:85)
	at org.eclipse.wst.jsdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo(BestMatchHover.java:99)
	at org.eclipse.wst.jsdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo(JavaEditorTextHoverProxy.java:67)
	at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

!ENTRY org.eclipse.wst.jsdt.ui 4 2 2015-06-29 09:09:28.335
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.wst.jsdt.ui".
!STACK 0
java.lang.IllegalStateException: Workspace is closed.
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:411)
	at org.eclipse.wst.jsdt.internal.compiler.util.Util.pathMatch(Util.java:602)
	at org.eclipse.wst.jsdt.internal.compiler.util.Util.isExcluded(Util.java:419)
	at org.eclipse.wst.jsdt.internal.core.util.Util.isExcluded(Util.java:1262)
	at org.eclipse.wst.jsdt.internal.core.util.Util.isExcluded(Util.java:1279)
	at org.eclipse.wst.jsdt.internal.core.search.JavaSearchScope.shouldExclude(JavaSearchScope.java:306)
	at org.eclipse.wst.jsdt.internal.core.search.matching.InternalSearchPattern.findIndexMatches(InternalSearchPattern.java:106)
	at org.eclipse.wst.jsdt.internal.core.search.matching.OrPattern.findIndexMatches(OrPattern.java:59)
	at org.eclipse.wst.jsdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:407)
	at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:116)
	at org.eclipse.wst.jsdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:66)
	at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:280)
	at org.eclipse.wst.jsdt.internal.core.search.BasicSearchEngine.searchAllBindingNames(BasicSearchEngine.java:689)
	at org.eclipse.wst.jsdt.internal.core.NameLookup.findBindingSearch(NameLookup.java:2168)
	at org.eclipse.wst.jsdt.internal.core.NameLookup.findBinding(NameLookup.java:829)
	at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:195)
	at org.eclipse.wst.jsdt.internal.core.SearchableEnvironment.findBinding(SearchableEnvironment.java:342)
	at org.eclipse.wst.jsdt.internal.core.CancelableNameEnvironment.findBinding(CancelableNameEnvironment.java:55)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.askForBinding(LookupEnvironment.java:252)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2156)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getBinding(Scope.java:1136)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.findBinding(SingleNameReference.java:355)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:256)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:171)
	at org.eclipse.wst.jsdt.internal.compiler.ast.ReturnStatement.resolve(ReturnStatement.java:166)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:462)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:129)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:372)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:488)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FunctionExpression.resolveType(FunctionExpression.java:66)
	at org.eclipse.wst.jsdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:171)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding$2.performAction(SourceTypeBinding.java:790)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.performActionOnLinkedBindings(SourceTypeBinding.java:2519)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.getExactConstructor(SourceTypeBinding.java:777)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getConstructor(Scope.java:1400)
	at org.eclipse.wst.jsdt.internal.compiler.ast.AllocationExpression.resolveType(AllocationExpression.java:164)
	at org.eclipse.wst.jsdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:174)
	at org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration.resolveLocal(LocalDeclaration.java:241)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.MethodScope.findVariable(MethodScope.java:465)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.Scope.getBinding(Scope.java:924)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.findBinding(SingleNameReference.java:355)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:256)
	at org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:249)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:187)
	at org.eclipse.wst.jsdt.internal.compiler.ast.FieldReference.resolveType(FieldReference.java:138)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFields(SourceTypeBinding.java:396)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:260)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding.buildFieldsAndMethods(SourceTypeBinding.java:195)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.CompilationUnitScope.buildFieldsAndMethods(CompilationUnitScope.java:246)
	at org.eclipse.wst.jsdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:454)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:596)
	at org.eclipse.wst.jsdt.internal.compiler.Compiler.beginToCompile(Compiler.java:339)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:813)
	at org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.resolve(JavaScriptUnitResolver.java:527)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:862)
	at org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:581)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:135)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.core.jobs 4 2 2015-06-29 09:09:28.338
!MESSAGE An internal error occurred during: "Requesting JavaScript AST from selection".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.core.internal.runtime.InternalPlatform.getLog(InternalPlatform.java:349)
	at org.eclipse.core.runtime.Plugin.getLog(Plugin.java:297)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider$1.handleException(ASTProvider.java:588)
	at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:75)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:574)
	at org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:509)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:150)
	at org.eclipse.wst.jsdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:135)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 73 Victor Rubezhny CLA 2015-06-29 08:16:33 EDT
(In reply to Heiko Eichberger from comment #72)
> Hi Victor,
> 
> Thanks for the hints. I tried it with my Mars version and got the same
> problems. I've disabled the settings you mentioned, set the include
> exclusions and increased the memory. At first sight it seemed to look
> better, but when I tried to scroll inside a JavaScript file and started
> editing the CPU load went higher and higher until the AST exception appeared.


Heiko, 

could you give some details on your workspace's projects: like how much of projects is in your workspace, how big they are (how many javascripts and what's the maximum size of scripts), do you use bower/mpn dependency management and so on... 

And could you give a details for the following kinds of exceptions at the end of your log:

> 
> !ENTRY org.eclipse.wst.jsdt.ui 4 2 2015-06-29 09:09:28.331
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.wst.jsdt.ui".
> !STACK 0
> java.lang.IllegalStateException: Workspace is closed.
> 	at
> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:
> 411)
> 	at org.eclipse.wst.jsdt.internal.compiler.util.Util.pathMatch(Util.java:602)
> 	at
> org.eclipse.wst.jsdt.internal.compiler.util.Util.isExcluded(Util.java:419)

Are these exceptions happened when the Eclipse instance was shutting down or they were happening during the work (but after the first OOM error has occurred)? I pretty often see in users' logs the exceptions like 'workspace is closed' but still don't know is this failure occurs because of real Eclipse's shutdown.
Comment 74 Heiko Eichberger CLA 2015-06-29 08:55:20 EDT
Hi Victor,

My workspace contains 6 projects: 3 JavaScript projects, 2 Java projects and 1 Python project. 2 of the JavaScript projects contain only 2 JavaScript files with a total amount of 3.5 kB. The 3rd one contains about 3700 JavaScript files, the largest one with about 1.4 MB.

I don't use bower. My environment is as follows: Windows 7 64-bit, Eclipse Mars for Java developers (64-bit), JDK 8 64-bit, additional Eclipse plugins: Nodeclipse, Subversive and PyDev.

The exception at the end of my log was raised when I manually closed the Eclipse instance.
Comment 75 Victor Rubezhny CLA 2015-06-29 09:44:48 EDT
Heiko,

Could you try to make another workspace, import the only that the biggest JavaScript project into it and try to work with it? Will the same OOM errors appear? 
Yet another try (if possible) is try to work without Nodeclipse/PyDev plug-ins loaded (but it's better to do another Eclipse JEE install due not to broke your working installation and workspace). As I suppose, PyDev and Nodeclipse eat some memory for their code and data models as well as CPU cycles, so it'll be great to see how JSDT can work with your 'big' project without Nodeclipse/PyDev installed.

Another question is what the new memory values you've used to try? Is it a place to grow?

And yet another question... Is your 'biggest' javascript project an opensource one? I mean can you share it somehow due to let me look at how JSDT works with it? (I'm always ask this stupid question, cause I cannot reproduce the most of exceptions posted to BugZilla :)
Comment 76 Victor Rubezhny CLA 2015-06-29 09:55:17 EDT
Ilya,

and the same questions to you: How many projects are in your workspace, how big they are, and what 'other that just JEE' plug-ins are installed? (As I suppose, you're using Nodeclipse too (?). Did you try to run without 3rd party plug-ins? Does the OOM errors stay the same if no 3rd party plug-ins loaded?)

Thanks in advance.
Comment 77 Heiko Eichberger CLA 2015-06-30 05:32:22 EDT
Created attachment 254836 [details]
Heiko's logs
Comment 78 Heiko Eichberger CLA 2015-06-30 05:33:37 EDT
Hi Victor,

I did the following:

1. New workspace with a single project
I created a new workspace with a copy of the JavaScript project which was the biggest one in my original workspace.
It seemed to be more stable to work. From time to time the CPU load raised for a moment, but calmed down after a while. This happened especially when scolling inside a file and/or selecting variables or functions. Copying code into clipboard takes always a while (for some seconds with a wait cursor). Content assist also extremely raises the CPU load for a short while. The environment was Eclipse Mars with Nodeclipse and PyDev plugins.

2. Clean Mars installation without additional plugins and with original workspace
The CPU load raises equal to the attempt with Mars and additional plugins. It was not possible to work without problems.

3. Clean Mars installation without additional plugins and with new workspace
This attempt equals to the ones before. CPU load always raises when interacting with the UI.

My eclipse.ini of the installation with additional plugins is as follows:

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms512m
-Xmx2048m

Unfortunately my project is not an open source project.

I've attached the logs of each attempt.
Comment 79 Victor Rubezhny CLA 2015-06-30 10:49:50 EDT
Things are getting to be more interesting...

Heiko, I see, you've installed Tern.java? 

!ENTRY org.eclipse.jface.text 4 0 2015-06-30 10:23:02.410
!MESSAGE Unexpected runtime error while computing a text hover
!STACK 0
java.lang.NullPointerException
	at tern.eclipse.ide.ui.utils.EditorUtils.getFile(EditorUtils.java:135)
	at tern.eclipse.ide.ui.hover.TernHover.getFile(TernHover.java:93)
	at tern.eclipse.ide.ui.hover.TernHover.getHoverInfo2(TernHover.java:58)
	at tern.eclipse.ide.ui.hover.TernHover.getHoverInfo(TernHover.java:48)
	at org.eclipse.wst.jsdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo(BestMatchHover.java:99)
	at org.eclipse.wst.jsdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo(JavaEditorTextHoverProxy.java:67)
	at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:168)

Tern.java is great project but it puts additional (and pretty big) requirements on available memory and CPU speed. Also, at the moment it works fully in parallel with JSDT, so it actually doubles the required calculations...

If you wouldn't mind, I'd like to file the exception above (from your log) to https://github.com/angelozerr/tern.java/issues , but I'd like to know the version of Tern.java plug-ins (the version of tern.eclipse.ide.ui would be enough).

Regarding the situation, I have only two solutions (beside the turnig off the Override Annotations): increase the available memory (but looking at your -Xmx2048m argument I'm not sure if it'll help... May be you should try to switch JRE to 1.8... Who knows, may be it works faster/allocates the memory better?...), wait for WTP 3.7 SR1 - we'll have a solution (a workaround actually) for big projects and integrations like Tern.java.

I don't see big problems in your logs on your attempts #2 and #3 (beside of the reading of stored configs when old workspace is used, but this is more informational exceptions than the real problems, since you know that some plug-ins are disappeared. And EGit configuration problem). And it looks like there are no OOM Errors in these attempts.

So, it looks like a problem that is involved by 3rd-party plug-ins usage.

One more note on Tern.java (as I cannot see how it is configured in your eclipse): Configure it to run using Node.js (if it's not yet), IMHO, this way it works faster. (but probably it's already configured to do so).

Yet another note on Tern... If you aren't really using it it's better to disable it. Some 3rd-party plug-ins may install it for you, it gives you a full support for ECMA5 and many of modern javascript libraries. But also it makes memory and CPU consumption much bigger... 

Thanks in advance!
Comment 80 Heiko Eichberger CLA 2015-07-01 02:30:55 EDT
Hi Victor,

It's OK to forward it to the Tern team. The version of Tern that it has been installed together with Nodeclipse is: 0.10.0.201506172156

Thanks for your hints. I'll also be waiting for WTP 3.7 SR1.
Comment 81 adam brin CLA 2015-08-08 14:14:45 EDT
I'm having a similar issue that may be related: https://bugs.eclipse.org/bugs/show_bug.cgi?id=474549