Community
Participate
Working Groups
Created attachment 195636 [details] proposed patch JSDT can run out of memory when attempting to build and complete type bindings in memory. For a main file containing types A and B, we try to find all of the files contributing properties to those types so that all of the methods and fields are known. Should a file we're reading to find properties of A or B contain another type, C, JSDT will currently try to build and complete bindings for C as well. This isn't necessary since C isn't in the original file at all. The attached patch modifies a number of operations in JSDT that build and complete type bindings to restrict the set of files read and parsed to those containing definitions for types in the original file only. While OOMEs are still a possibility and we're still looking at further fixes, this change either has a negligible or substantial improvement in speed depending on the user's project as well as a resulting in lower memory usage overall.
Committed to R3_2_4_patches
Still have OOME exceptions....updated patch coming.
Created attachment 195982 [details] Patch #2 Should be applied on top of previous patch.
Patch #2 committed to R3_2_4_patches
Nitin, Carl and Chris, Thank you for patches. <bows> Can you (roughly is OK) tell, when this will be made as part of any build? Or if there's a procedure to fix it by myself and test (or is it the tedious and straightforward way: download the file, find where it belongs, include it in proper jar, rebuild Eclipse)?
(In reply to comment #5) > Can you (roughly is OK) tell, when this will be made as part of any build? Or > if there's a procedure to fix it by myself and test (or is it the tedious and > straightforward way: download the file, find where it belongs, include it in > proper jar, rebuild Eclipse)? They're in the 3.2.5 builds as of this past Friday, but until its release there is "some assembly required" to get you up and running. http://build.eclipse.org/webtools/committers is the place to start, and the 3.2.5 link at the top in particular. You can try the wtp-repo file as an update site, but should that fail, a Traditional Zip file combined with the files listed under Prerequisites (Eclipse itself, GEF, EMF+XSD) will get it going (do not unzip those over an existing installation!).
*** Bug 347721 has been marked as a duplicate of this bug. ***
A question, is the fix included in the Indigo release? Seemed it was (from the page linked by Nitin, if I read it correctly) but I'm asking because despite upgrading to it, the problem persists.
(In reply to comment #8) > A question, is the fix included in the Indigo release? Seemed it was (from the > page linked by Nitin, if I read it correctly) but I'm asking because despite > upgrading to it, the problem persists. No, despite 3.3.0 being a higher release number than 3.2.5, the timing of this meant that the 3.2.5 branch was open but the 3.3.0 branch was already shutting down--reducing the amount of changes going in in preparation for the release. This will actually show up in our 3.3.1 builds.
I see. Thank you Nitin. You say "this will appear in our 3.3.1 builds" - but I'm unsure how exactly to understand that. Like, how many builds happens in one release or how often they happen etc.?
(In reply to comment #10) > I see. Thank you Nitin. You say "this will appear in our 3.3.1 builds" - but > I'm unsure how exactly to understand that. Like, how many builds happens in one > release or how often they happen etc.? We do continuous integration builds at http://build.eclipse.org/webtools/committers/, "declaring" one for further testing/adoption most weeks with a manual testing phase. The calendar for that is usually embedded in our weekly conference calls, detailed at http://wiki.eclipse.org/WTP_Development_Status_Meetings . If the details aren't that important, you can just count on Indigo SR1 having it.
Thank you Nitin. I guess I will since now I have way too many serious things going on including hospitals and marriage/wedding ceremonies. Hectic time. :) Still - thank you.