Bug 50667 - Deadlock on Refactor -> Extract method
Summary: Deadlock on Refactor -> Extract method
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 M7   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-27 06:27 EST by Silvio Böhler CLA
Modified: 2004-02-12 09:42 EST (History)
0 users

See Also:


Attachments
Stack dump (26.87 KB, text/plain)
2004-01-27 06:28 EST, Silvio Böhler CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Silvio Böhler CLA 2004-01-27 06:27:39 EST
See stack dump (attachment).
Comment 1 Silvio Böhler CLA 2004-01-27 06:28:23 EST
Created attachment 7584 [details]
Stack dump
Comment 2 Philipe Mulet CLA 2004-01-27 06:36:35 EST
Offending portions are:

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x02d15c08 
nid=0x5ac waiting for monitor entry [3b8f000..3b8fd94]
        at org.eclipse.jdt.internal.core.JavaModelManager.getPerWorkingCopyInfo
(JavaModelManager.java:819)
        - waiting to lock <0x1090e710> (a java.util.HashMap)
        at org.eclipse.jdt.internal.core.CompilationUnit.getPerWorkingCopyInfo
(CompilationUnit.java:724)
        at org.eclipse.jdt.internal.core.CompilationUnit.closing
(CompilationUnit.java:171)
        at org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren
(JavaModelManager.java:1230)
        - locked <0x1090b230> (a org.eclipse.jdt.internal.core.JavaModelManager)
        ...

"main" prio=7 tid=0x00034f98 nid=0x1f4 waiting for monitor entry [7e000..7fc3c]
        at org.eclipse.jdt.internal.core.JavaModelManager.getInfo
(JavaModelManager.java:735)
        - waiting to lock <0x1090b230> (a 
org.eclipse.jdt.internal.core.JavaModelManager)
        at 
org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.recordElementInfo
(JavaElementDeltaBuilder.java:330)
        at org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.<init>
(JavaElementDeltaBuilder.java:95)
        at 
org.eclipse.jdt.internal.core.JavaModelManager.discardPerWorkingCopyInfo
(JavaModelManager.java:661)
        - locked <0x1090e710> (a java.util.HashMap)
        ...

Comment 3 Philipe Mulet CLA 2004-01-27 06:58:13 EST
Changed discardWorkingCopyInfo to acquire the JavaModelManager lock eagerly as 
it may need to perform side effect in the element info cache (when working copy 
no longer used).

Comment 4 Philipe Mulet CLA 2004-01-27 06:59:08 EST
Fixed
Comment 5 David Audel CLA 2004-02-12 09:42:22 EST
Verified for 3.0M7