Bug 543329 - [dom ast] Hang and StackOverflowError on recursive ASTProvider.getAST()
Summary: [dom ast] Hang and StackOverflowError on recursive ASTProvider.getAST()
Status: CLOSED DUPLICATE of bug 366048
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.6   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: 4.11 M3   Edit
Assignee: Sarika Sinha CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-09 20:22 EST by David Christensen CLA
Modified: 2019-01-10 23:04 EST (History)
2 users (show)

See Also:


Attachments
Thread Dump (85.88 KB, text/plain)
2019-01-09 20:22 EST, David Christensen CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Christensen CLA 2019-01-09 20:22:29 EST
Created attachment 277122 [details]
Thread Dump

Found a hang when workbench opens, org.eclipse.core.internal.resources.Workspace.java is open (2572 lines) and I have just reduced dump size to -Xmx640m -Xms128m
(not sure if those are the ingredients)

after some time hanged, a StackOverflowError appears in the log:

!ENTRY org.eclipse.core.jobs 4 2 2018-12-03 13:41:28.006
!MESSAGE An internal error occurred during: "Requesting Java AST from selection".
!STACK 0
java.lang.StackOverflowError
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:420)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:476)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:476)

...


Found 1 deadlock. Thread stack attached.


May be related to Bug 366048 ?
Comment 1 Manoj N Palat CLA 2019-01-10 03:55:29 EST
@Sarika: Can you please take a look?

@David: Could you please try with a newer Eclipse version (4.10)?
Comment 2 Sarika Sinha CLA 2019-01-10 22:29:04 EST
Thread is full of blocking and waiting for -
1.
 java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.refresh(FacetedProject.java:1688)
	- waiting to lock <0x000000079fae3540> (a java.lang.Object)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.refresh(FacetedProject.java:1678)

2.
	at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.getEnvironment(EnvironmentsManager.java:177)

3. java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.jdt.internal.launching.StandardVMType.getLibraryInfo(StandardVMType.java:203)

4.  java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:463)
	- locked <0x000000079da79e68> (a java.lang.Object)
	at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:476)
Comment 3 Sarika Sinha CLA 2019-01-10 22:31:21 EST
Yes, looks similar to Bug 366048, and has to fixed keeping both in mind.

*** This bug has been marked as a duplicate of bug 366048 ***
Comment 4 Sarika Sinha CLA 2019-01-10 22:32:40 EST
New code is in org.eclipse.jdt.core.manipulation.CoreASTProvider.