Bug 478998 - OutOfMemoryError in JSDT Indexer
Summary: OutOfMemoryError in JSDT Indexer
Status: NEW
Alias: None
Product: JSDT
Classification: WebTools
Component: General (show other bugs)
Version: 3.7.1   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Victor Rubezhny CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-05 03:28 EDT by Kaloyan Raev CLA
Modified: 2015-10-06 09:51 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kaloyan Raev CLA 2015-10-05 03:28:38 EDT
We have a user of the latest Zend Studio, based on Mars.1 that got an OutOfMemoryError in the JSDT Indexer.

The user is running Windows 10 64-bit.
The max heap memory (-Xmx) is set to 1536 MB.
The JRE is the Oracle JRE 1.8u60.

The user had not this issue with the previous version of Zend Studio that is based on Luna SR2.

Any idea how to continue debugging this problem?

Stack trace from the .log file:

!ENTRY org.eclipse.wst.jsdt.core 4 4 2015-10-01 17:16:52.063
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
	at org.eclipse.wst.jsdt.internal.compiler.util.HashtableOfObject.<init>(HashtableOfObject.java:38)
	at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.readCategoryTable(DiskIndex.java:621)
	at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.mergeCategory(DiskIndex.java:444)
	at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.mergeCategories(DiskIndex.java:436)
	at org.eclipse.wst.jsdt.internal.core.index.DiskIndex.mergeWith(DiskIndex.java:528)
	at org.eclipse.wst.jsdt.internal.core.index.Index.save(Index.java:197)
	at org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager.saveIndex(IndexManager.java:679)
	at org.eclipse.wst.jsdt.internal.core.search.indexing.SaveIndex.execute(SaveIndex.java:40)
	at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.run(JobManager.java:393)
	at java.lang.Thread.run(Thread.java:745)
Comment 1 Victor Rubezhny CLA 2015-10-05 12:58:39 EDT
Kaloyan,

If the problem is reproducible... Could you please ask the user to run Zend Studio with forwarding the error output into a log-file and, if possible, then attach it to the issue.

In this case... Is an old (existing) workspace was opened by a new installation of Zend Studio?

Also, if the project is an open source or can be shared somehow, please provide an info on how (from where) I can import it. Or could you describe the project at least:
- how many JS-files contained? 
- Is bower/npm dependencies management is used? If true, how & where the dependencies are stored? (Are there any overriding in .bowerrc for the download directory or something like this or all the files are stored in standard bower/nmp directories? and so on)
- Is maven used to import/configure the project?
- What are the 3rd party plugins used (like Tern.java,AngularJS-eclipse, etc.)?

Thanks in advance.
Comment 2 Kaloyan Raev CLA 2015-10-06 09:51:14 EDT
(In reply to Victor Rubezhny from comment #1)
> If the problem is reproducible... 

It happened only once for now (good for user, bad for fixing it).

> In this case... Is an old (existing) workspace was opened by a new
> installation of Zend Studio?

New workspace. The issue happened while the user was importing his projects from the old workspace (the one used for the previous version of Zend Studio).

> Also, if the project is an open source or can be shared somehow, please
> provide an info on how (from where) I can import it. Or could you describe
> the project at least:
> - how many JS-files contained?

Proprietary projects. 9 projects in the workspace. Some of them look quite big. I don't have exact numbers of files, but we can expect thousands of JS files.

> - Is bower/npm dependencies management is used? If true, how & where the
> dependencies are stored? (Are there any overriding in .bowerrc for the
> download directory or something like this or all the files are stored in
> standard bower/nmp directories? and so on)

I have no info about this.

> - Is maven used to import/configure the project?

Very unlikely. We don't ship or recommend any Maven-based plugins with Zend Studio.

> - What are the 3rd party plugins used (like Tern.java,AngularJS-eclipse,
> etc.)?

Yes, AngularJS-Eclipse is installed by the user, hence there are tern plugins installed as dependencies.