Community
Participate
Working Groups
20040509-0010 - new workspace - use plugin-importer to import jdt.core _with sources_ - open search dialog, type 'java.lang.String', type references OOM reached shortly after starting
from a memory snapshot taken while searching it seems that there is a big array elements of PossibleMatch still containing the 'parsedUnit'
I guess it's N20050609-0010 (not 200505) and that you haven't set -Xmx vm args value. It seems that -Xmx default value comes back to 64Mo instead of 256Mo in previous build...
Move to Platform/Runtime for comment
Will investigate
I used a batch which wrongly -vmargs with no parameter for default... => it's not a Platform issue => back to JDT/Core
Martin, I only can reproduce this bug with "-vmargs -Xmx64M" or "-vmargs" (without parameter) in my command line which launches eclipse executable. If I have no -vmargs at all in my cmd line, search ends correctly (with heap size at 105Mo). Could you confirm this? If so, I'll put this bug in LATER and look at it as soon as 3.1 will be delivered... Thx
Confimed. I also used -vmargs without parameters.
OK, thanks So, defer post 3.1 but set as P2 to restart on this issue asap...
Reopen for 3.2
*** Bug 112652 has been marked as a duplicate of this bug. ***
Fixed and released in HEAD. To optimize speed of search, search engine tries to locate matches of all documents found in each projects of the given search scope. The speed optimization comes from the fact that bindings are completed only once on all project compilation units. Of course, as there can be a lot of documents per project, this optimization was limited by a maximum of 400 documents per loop to avoid OOME. This was correct for default Java Heap size but not for smaller ones... Change MatchLocator.MAX_AT_ONCE static field value to make it dependent of Runtime.maxMemory() value. New values for this static field are: Heap size MAX_AT_ONCE [0,96M[ 100 [96M, 160M[ 200 [160M, 218M[ 300 [218M , oo[ 400 No test case added, just verified that comment 0 scenario does no longer occur...
Verified using I20060328-0010 for 3.2M6. Doesn't go above 160M.