Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 366960 - Eclipse sometimes freezes when using refactorings / quick fixes
Summary: Eclipse sometimes freezes when using refactorings / quick fixes
Status: CLOSED DUPLICATE of bug 354842
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.8   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-16 11:59 EST by Michael Rüegg CLA
Modified: 2012-01-11 07:31 EST (History)
2 users (show)

See Also:


Attachments
Stack traces (generated with jstack) (53.87 KB, text/plain)
2011-12-20 10:05 EST, Michael Rüegg CLA
no flags Details
Stack traces (generated with jstack) (53.87 KB, text/plain)
2011-12-20 10:17 EST, Michael Rüegg CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Rüegg CLA 2011-12-16 11:59:25 EST
Build Identifier: M20110909-1335

I sometimes encounter a freezing Eclipse when I apply a refactoring or quickfix (e.g., rename, extract method, create local variable / field) after the refactoring is executed, but while displaying the corresponding linked mode. Here's the stack trace:

org.eclipse.swt.SWTException: Widget is disposed                                                                        >---at org.eclipse.swt.SWT.error(SWT.java:4282)                                                                                                                                     
1356 >---at org.eclipse.swt.SWT.error(SWT.java:4197)                                                                                                                                     
1357 >---at org.eclipse.swt.SWT.error(SWT.java:4168)                                                                                                                                     
1358 >---at org.eclipse.swt.widgets.Widget.error(Widget.java:466)                                                                                                                        
1359 >---at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:403)                                                                                                                  
1360 >---at org.eclipse.swt.widgets.Control.getParent(Control.java:2632)                                                                                                                 
1361 >---at org.eclipse.swt.widgets.Shell.getShells(Shell.java:1133)                                                                                                                     
1362 >---at org.eclipse.swt.widgets.Shell.updateMinimized(Shell.java:2269)                                                                                                               
1363 >---at org.eclipse.swt.widgets.Shell.gtk_window_state_event(Shell.java:1428)                                                                                                        
1364 >---at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1759)                                                                                                                  
1365 >---at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)                                                                                                                
1366 >---at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)                                                                                                                
1367 >---at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)                                                                                                            
1368 >---at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8422)                                                                                                              
1369 >---at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)                                                                                                                 
1370 >---at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)                                                                                                     
1371 >---at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2276)                                                                                                       
1372 >---at org.eclipse.swt.widgets.Shell.setVisible(Shell.java:2051)                                                                                                                    
1373 >---at org.eclipse.jface.internal.text.link.contentassist.CompletionProposalPopup2.displayProposals(CompletionProposalPopup2.java:683)                                              
1374 >---at org.eclipse.jface.internal.text.link.contentassist.CompletionProposalPopup2.showProposals(CompletionProposalPopup2.java:227)                                                 
1375 >---at org.eclipse.jface.internal.text.link.contentassist.ContentAssistant2.showPossibleCompletions(ContentAssistant2.java:1265)                                                    
1376 >---at org.eclipse.jface.text.link.LinkedModeUI.triggerContentAssist(LinkedModeUI.java:824)                                                                                         
1377 >---at org.eclipse.jface.text.link.LinkedModeUI.switchPosition(LinkedModeUI.java:860)                                                                                               
1378 >---at org.eclipse.jface.text.link.LinkedModeUI.next(LinkedModeUI.java:799)                                                                                                         
1379 >---at org.eclipse.jface.text.link.LinkedModeUIProposalListener.proposalChosen(LinkedModeUI.java:559)                                                                              
1380 >---at org.eclipse.jface.internal.text.link.contentassist.ContentAssistant2.fireProposalChosen(ContentAssistant2.java:1544)                                                         
1381 >---at org.eclipse.jface.internal.text.link.contentassist.CompletionProposalPopup2.insertProposal(CompletionProposalPopup2.java:434)                                                
1382 >---at org.eclipse.jface.internal.text.link.contentassist.CompletionProposalPopup2.selectProposalWithMask(CompletionProposalPopup2.java:363)                                        
1383 >---at org.eclipse.jface.internal.text.link.contentassist.CompletionProposalPopup2.verifyKey(CompletionProposalPopup2.java:771)                                                     
1384 >---at org.eclipse.jface.internal.text.link.contentassist.ContentAssistant2InternalListener.verifyKey(ContentAssistant2.java:631)                                                  
1385 >---at org.eclipse.jface.text.TextViewerVerifyKeyListenersManager.verifyKey(TextViewer.java:491)                                                                                   
1386 >---at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:65)                                                                                            
1387 >---at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)                                                                                                             
1388 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)                                                                                                                   
1389 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)                                                                                                                   
1390 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)                                                                                                                   
1391 >---at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1061)                                                                                                             
1392 >---at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5936)                                                                                                        
1393 >---at org.eclipse.swt.custom.StyledText7.handleEvent(StyledText.java:5635)                                                                                                        
1394 >---at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)                                                                                                             
1395 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)                                                                                                                   
1396 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)                                                                                                                   
1397 >---at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)                                                                                                                   
1398 >---at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)                                                                                                                
1399 >---at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)                                                                                                          
1400 >---at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3019)                                                                                                       
1401 >---at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)                                                                                                    
1402 >---at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)                                                                                                                  
1403 >---at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016)                                                                                                                
1404 >---at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408)                                                                                                                
1405 >---at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)                                                                                                            
1406 >---at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8422)                                                                                                              
1407 >---at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245)                                                                                                                 
1408 >---at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)                                                                                                     
1409 >---at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2276)                                                                                                       
1410 >---at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207)        



Reproducible: Sometimes

Steps to Reproduce:
1.Missing object field member
2.Apply quick fix "create field"
3.Eclipse freezes
Comment 1 Dani Megert CLA 2011-12-17 02:15:09 EST
Did you get an exception (the stack trace look like this)? Could you take a VM dump while it is freezing?
Comment 2 Michael Rüegg CLA 2011-12-20 10:04:42 EST
(In reply to comment #1)
> Did you get an exception (the stack trace look like this)? Could you take a VM
> dump while it is freezing?

I attached the stack traces. Please do not hesitate to ask me if you have further questions concerning this ticket. Thanks, Michael
Comment 3 Michael Rüegg CLA 2011-12-20 10:05:31 EST
Created attachment 208622 [details]
Stack traces (generated with jstack)
Comment 4 Michael Rüegg CLA 2011-12-20 10:17:29 EST
Created attachment 208626 [details]
Stack traces (generated with jstack)
Comment 5 Dani Megert CLA 2011-12-20 11:29:38 EST
Both stack traces indicate that the main thread is running.
Comment 6 Deepak Azad CLA 2011-12-20 14:30:07 EST
This is a duplicate of bug 354842. I expect that you see similar freezes with other hovers and tooltips as well.

Please also try the workaround mentioned in bug 354842 comment 2.

*** This bug has been marked as a duplicate of bug 354842 ***
Comment 7 Michael Rüegg CLA 2012-01-11 07:31:18 EST
I tried the workaround mentioned in bug 354842 comment 2 (disabling animations). But this did not make any difference for me! The problem still occurs.